Перезагрузите марионетку при изменении конфигурации сети

Мы используем версию Puppet 2.7.11 на клиенте Debian с включенным автозапуском (START=yes в /etc/default/puppet). Мы подключаемся к puppetmaster, используя сертификат с полным доменным именем (dummyclient.work-network.pri) и работает нормально. Измененный /etc/default/puppet файл отправлен нашему клиенту, например.

Проблема: после перезагрузки мы видим новый запрос сертификата dummyclient который наш кукловод считает совершенно другой машиной. Одна из причин этого, по-видимому, заключается в том, что мы используем DHCP для имен наших клиентов и IP-адресов, и сеть может еще не быть полностью доступна, когда puppet-agent запущен (В нашем системном журнале puppet-agent начинается раньше NetworkManager дает информацию о сервере имен и доменном имени.) В качестве еще одного доказательства hostname -f также пуст во время загрузки (тогда как hostname -s дает правильный ответ).

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

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

Или оптимальным решением будет просто жесткое кодирование полного доменного имени клиента /etc/hosts файл? (Но опять же, это должна быть работа нашего DHCP-сервера, нет?)

1 ответ

Вполне возможно изменить порядок запуска сервисов при загрузке. См. Www.debian.org для получения информации о том, как работает уровень запуска и как изменить порядок запуска сценариев запуска.

Если вы хотите, чтобы кукольный перезапуск происходил всякий раз, когда вы получаете новую аренду dhcp, вы можете включить задание cron, которое периодически проверяет наличие новых аренды dhcp в /var/lib/dhcp.leases и выполняет перезапуск при изменении.

Другие вопросы по тегам