Владейте марионеточной функцией

Самая первая вещь, которую я сделал бы, попытаться обновить драйверы для тех Broadcom NICs. Я видел странные проблемы во многом как этот из-за драйвера-whackery на Broadcoms.

2
задан 18 October 2012 в 15:52
2 ответа

При изменении любого пользовательского кода Ruby, такого как пользовательская функция, необходимо перезапустить Puppetmaster. Если вы запускаете марионетку под пассажиром, это означает перезапуск Apache. В противном случае вы получите старую версию.

Кроме того, возникает довольно неприятная ошибка, которая возникает, если вы размещаете несколько сред в своем puppetmaster с идентично названной функцией в другой среде. В этом случае у вас нет возможности быть уверенным, какая функция среды используется при вызове имени функции! Он использует одно и то же пространство имен функций во всех средах ... (это подтверждено в Puppet 2.7.22, не уверен насчет 3.x)

3
ответ дан 3 December 2019 в 10:53

Как говорится в документации:

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

https://docs.puppetlabs.com/guides/custom_functions.html

Примечание о перезапуске марионеточного мастера:

Если выполнить следующую команду для перезапуска марионеточного мастера:

$ service puppetmaster restart
Restarting puppet master
puppetmaster not configured to start, please edit /etc/default/puppetmaster to enable 
.

Вы заметите, что служба останавливается, но не запускается.

В этом случае, как уже упоминал Steve Shipway, вы, вероятно, запускаете мастера марионеток под Passenger и вам нужно перезагрузить apache2, чтобы перезапустить мастера марионеток:

$ service apache2 reload
0
ответ дан 3 December 2019 в 10:53

Теги

Похожие вопросы