В настоящее время мы используем систему VMware ESXi для размещения некоторых виртуальных машин RHEL 7.2, и мы устанавливаем на них наш продукт для тестирования. Проблема в том, что процесс создания этих виртуальных машин или, лучше сказать, установки на них нашего продукта, является ручным и требует вмешательства человека в середине процесса.
Установка основана на двух файлах iso: первый - это RHEL 7.2 iso с настраиваемым файлом кикстарта, но после установки ОС нам нужно поменять местами ISO и использовать второй файл iso для установки других зависимостей, которые мы можем ' t включать в первый ISO по юридическим причинам (или, по крайней мере, так мне сказали).
Очевидно, что этот процесс становится утомительным, когда вам необходимо предоставить несколько виртуальных машин разным разработчикам, и делает невозможным автоматизацию процесса и отсутствие взаимодействия с пользователем.
При этом я искал различные решения, такие как Cobbler, Spacewalk, Puppet, FAI ... и я хотел бы знать, какой инструмент лучше всего подходит для задачи, которую я описываю, чтобы я мог автоматизировать процесс.
Используйте PowerCLI для автоматизации этого процесса. Это нетривиальный проект, но он чрезвычайно гибкий и может заложить основу для будущей автоматизации виртуальных машин. Рабочий процесс будет выглядеть примерно так
sleep()
вызов и тест, чтобы определить, завершена ли настройка, возможно, если вход в систему прошел успешно. Я подробно остановлюсь на шаге 3, поскольку он больше всего связан с вашим вопросом.
#Setup for your Environment
$vcenter = "yourVcenterServer"
$vmame = "yourVMName"
$pathOnDatastoreToIso = "/path/to/iso/on/datastore.iso"
#Change Mounted Iso
Connect-VIServer $vcenter
$diskDriveForYourVM = get-cdDrive -vm $vmname
$diskDriveForYourVM | set-cdDrive -StartConnected:$true -Connected:$true -IsoPath $pathOnDatastoreToIso