Я использую XenServer в качестве хоста для одноразовых машин QA для разработки наших приложений. Я хотел бы написать сценарий, который автоматически создает новую виртуальную машину из шаблона, запускает ее, входит в нее, извлекает последнюю сборку приложения и развертывает ее.
Я бы хотел, чтобы мой сценарий установил виртуальную машину с помощью «xe vm-install», запустил ее с помощью «xe vm-start», дождался завершения загрузки, подключился по SSH, а затем выполнил процедуру установки приложения.
Проблема в том, что команда xe vm-start не блокирует оболочку. Это означает, что команда возвращается до того, как машина полностью загрузится.
Кто-нибудь знает, могу ли я запросить у Xen статус загрузки машины и как?
Спасибо
Невозможно определить, завершил ли ваш компьютер запуск ОС извне ... Но есть два способа решить эту проблему:
Предположим, что ваша система запущена и работает после завершения загрузки службы (например, sshd. Проверяйте систему, пока эта служба не будет запущена и работает).
Добавьте к клиенту сценарий установки, который запускается после завершения загрузки клиента. Пусть сценарий загрузит сценарий оболочки с внешнего сервера и выполнит его.
Стоит изучить использование xen-tools и создать пользовательскую роль для захвата / установки пакетов.