2015-08-15 1 views
1

У меня есть сценарий, который создает виртуальную машину с использованием virt-install. Этот скрипт использует файл кикстарта для автоматической установки. Он отлично работает при запуске через оболочку, но его выдает следующее сообщение об ошибке при запуске через кронтаб:скрипт virt-install в crontab, как управлять tty

ошибка: Не удается запустить интерактивную консоль без контрольного TTY

Процесс создания VM продолжается в интерфейсе, но в моем сценарии это не ждет завершения virt-install и переходит к следующим командам. Я хотел, чтобы мой скрипт дождался, когда команда virt-install завершит свою работу, а затем перейдет к следующей команде. Есть ли какой-либо способ, который я могу получить для управления TTY или заставить мой скрипт ждать завершения virt-install?

Редактировать

Вот вирт-установки команда, которая выполняет мой сценарий (в случае, если это поможет вам выяснить этот вопрос):

virt-install --connect=qemu:///system \ 

--network=bridge:$BRIDGE \ 

$nic2 \ 

--initrd-inject=$tmp_ks_file \ 

--controller type=scsi,model=virtio-scsi \ 

--extra-args="ks=file:/$(basename $tmp_ks_file) console=tty0 console=ttyS0,115200" \ 

--name=$img_name \ 

--disk $libvirt_dir/$img_name.img,size=$disk \ 

--ram $mem \ 

--vcpus=2 \ 

--check-cpu \ 

--accelerate \ 

--hvm \ 

--location=$tree \ 

--nographics 

Спасибо заранее,

Kashif

+0

Kashif, ваша сила-установка привела к концу почти 72 часа страданий для меня. Теперь, когда у меня есть рабочая настройка, я могу учиться/тестировать/уточнять. Спасибо! – iletras

+0

Отлично. Рад видеть, что это помогло кому-то. – Kashif

ответ

0

Я, наконец, смог удовлетворить эту проблему в два этапа:

  1. Прежде всего удалите связанные с консолью конфигурации из команды virt-install. См. Дополнительные аргументы в приведенной выше команде.

  2. Положите некоторую логику, чтобы дождаться завершения virt-install. Я добавил shutdown в раздел пост-установки файла кикстарта, чтобы отключение VM после того, как оно было завершено, установив все пакеты. Затем в моем сценарии я фактически «ждал», когда VM переходит в состояние выключения, прежде чем перейти к следующей команде.

Таким образом, я могу запустить свой скрипт в crontab. Он также работал с дженкинсами.

Надеюсь, что это поможет кому-то, стоящему перед той же проблемой.

Смежные вопросы