Назад | Перейти на главную страницу

Проблема с марионеткой: настройка интерфейса WAN, перезагрузка сети в процессе приводит к прерыванию работы агента

Немного предыстории: Я хочу использовать puppet для полной настройки серверов RHEL6 после их установки с помощью кикстарта, сам кикстарт полностью автоматический и предоставляет серверы с поддержкой dhcp после загрузки, которые автоматически определяют свои имена хостов, а затем запускают агент марионетки с --certname "$ (имя хоста -s) "

Вариант использования: Одним из шагов манифеста марионетки является настройка сетевых интерфейсов, один из которых является интерфейсом, соединяющим сервер с мастером марионетки. При запуске сервер получает IP-адрес от 172.20.0.0/24 (скажем, 172.20.0.95), где 172.20.0.1 является сервером пересылки DNS и шлюзом, и предоставляет доступ к puppetmaster на FOO.intranet.com.

Эта проблема: После того, как марионетка перенастроит интерфейс eth0 и resolv.conf, все в порядке, пока агент марионетки не захочет загружать файлы из puppet: /// files / *, старый DNS-сервер больше не доступен, и, похоже, он пытается запросить этот самый сервер для текущий домен puppetmaster, в результате чего libc будет «getaddrinfo: имя или служба неизвестны.». Если я убью агента и снова вызову его, все пойдет по плану.

Вопрос: Есть ли способ указать марионеточному агенту «перезагрузиться» после некоторых изменений? Например, перезагрузить, если был изменен /etc/puppet/puppet.conf, или сетевые интерфейсы, или что-то еще? В противном случае мне нужно убедиться, что основной сетевой адаптер настроен должным образом, до запуска марионеточного агента, что немного сложно сделать.

Настройте марионеточную службу как ресурс и уведомите ее (вызывая перезапуск службы) при изменении сетевой конфигурации. Текущий запуск марионетки все равно завершится ошибкой, но при следующем запуске он должен работать.

В качестве альтернативы вы можете попробовать определить новые серверы имен в процессе кикстарта в дополнение к тем, которые необходимы во время кикстарта.