LINUX.ORG.RU
решено ФорумAdmin

Проверить состояние VM на ESXi и запустить, если она выключена

 , , ,


0

1

Возникла такая ситуация: иногда вырубается электричество, и сервера рестартуют. Или кто-нибудь остановил VM через vSphere Client и забыл запустить. Из-за этого сборки/тесты/etc, запущенные на TeamCity, падают, Ansible не может выполнить свою задачу, т.к виртуалка, на которой он хочет эту задачу выполнить, выключена.

Задача: с помощью Ansible в случае выключенной виртуалки запускать её, если включена — выполнять без этого шага.

Как я понимаю, за работу с продуктами vmWare отвечает вот этот и вот этот модули. Один использует библиотеку pysphere, которая уже не развивается, а другой — pyvmomi, которая официальная от vmWare. Насколько я себе это представляю, нужно получить факты о виртуалке и сделать статус powered_on, но непонятно, какой всё-таки модуль использовать.

Коллега по работе использовал второй. Не знаю, использовал ли он включение ВМ, но создавал и реконфигурировал ВМ через Ansible - 100%. Работает на ESXi 6.0 update 2.

trancefer ★★
()
Ответ на: комментарий от trancefer

Вот именно, что создание и конфигурирование, это всё, что описано по этому модулю в интернете. А другие use-case не рассматриваются, почему-то.

KroArtem ★★
() автор топика
Ответ на: комментарий от KroArtem

Ну залезьте в исходники, возможно там и есть какой-то функционал, который не описан в документации, но который можно (до)реализовать самому.

trancefer ★★
()

вообще то у них так и написано:

Uses pyvmomi to ... copy a template to a new virtualmachine ++ poweron/poweroff/restart a virtualmachine remove a virtualmachine

anonymous
()
Ответ на: комментарий от anonymous

Проблема в том, что я пытаюсь подконнектиться к самому esxi, нормально захожу на хост, и там ansible падает, потому что

ImportError: No module named pipes

Хотя там стоит питон 2.6.1 и, судя по докам, в этой версии питона уже есть pipes.

KroArtem ★★
() автор топика
Ответ на: комментарий от snaf

Решение в принципе работает, спасибо за подсказку. Но подключение через Ansible к esxi рано или поздно понадобится, делать снапшоты, например.

На самом деле, под гнетом температуры, я тупил, и пытался запустить свою задачу на самом хосте esxi, естественно, там это не взлетало. Все остальные проблемы возникали из-за внутренних настроек сети, на текущий момент к хосту хотя бы достучаться можно.

KroArtem ★★
() автор топика
Ответ на: комментарий от KroArtem

Но подключение через Ansible к esxi рано или поздно понадобится, делать снапшоты, например.

Пытаюсь понять зачем это нужно делать через энсибл.

snaf ★★★★★
()
Ответ на: комментарий от snaf

Затем, что можно восстанавливать вм из снапшота, запускать её и запускать внутри сборку\тесты, и всё это через ansible, которая вообще была запущена сборкой на teamcity. Если у вас есть варианты поинтереснее\постройнее, буду рад послушать.

В результате застрял с такой проблемой.

KroArtem ★★
() автор топика

можно настроить WoL для виртуалок, тащемта.

Deleted
()
Ответ на: комментарий от KroArtem

Если у вас есть варианты поинтереснее\постройнее, буду рад послушать.

нету, ибо не знаю что у вас там происходит.

snaf ★★★★★
()

Проблема решилась, т.к. упомянутый мной тикет исправили и закрыли. Теперь могу подключаться, собирать факты, останавливать и запускать ВМ.

Если что, ещё раз — будущее за vmware_guest, а не vsphere_guest, т.к. первый модуль развивается и использует актуальную библиотеку для работы с продуктами vmware, а второй основан на старой.

KroArtem ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.