Не меняя ничего внезапно в конфигурации марионетки, некоторые из наших хостов начали с «Could не оценивать: поле 'ключ' требуется "ошибки при создании экспортированных ключей SSH, но, что интересно, не все ключи SSH не работают на всех хостах, вот один пример, когда ключи были созданы как успешно, так и безуспешно:
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Loading facts
Info: Caching catalog for srvadx-green-7zhg.c.ligatus-prod-bidder-server.internal
Info: Applying configuration version '1511609586'
Notice: /Stage[main]/Basics::Ssh/Sshkey[srvadx-green-w5ld]/ensure: created
Info: Computing checksum on file /etc/ssh/ssh_known_hosts
Info: FileBucket got a duplicate file {md5}17787ff909a06cf0243c18cf33f1c384
Error: /Stage[main]/Basics::Ssh/Sshkey[srvadx-green-w5ld]: Could not evaluate: Field 'key' is required
Notice: /Stage[main]/Basics::Ssh/Sshkey[srvadx-green-88kp]/ensure: created
Error: /Stage[main]/Basics::Ssh/Sshkey[srvadx-green-88kp]: Could not evaluate: Field 'key' is required
Notice: /Stage[main]/Basics::Java/Exec[set-licence-selected]/returns: executed successfully
Notice: /Stage[main]/Basics::Java/Exec[set-licence-seen]/returns: executed successfully
Notice: Finished catalog run in 1.98 seconds
Сначала я подозревал, что HSQLDB поврежден, и удалил весь каталог данных puppetdb и повторно запустил puppet на всех хостах. Сначала это выглядело многообещающе, но вскоре ошибки, указанные выше, снова появились.
Как отладить или даже лучше решить проблему и как предотвратить ее повторение в будущем?
Чтобы помочь отладить / понять, что произошло, есть три вещи, которые вы можете сделать (по крайней мере):
В конце концов, это сработало, удалив каталог данных PuppetDB и повторно запустив марионетку на всех узлах. Я подозреваю, что некоторые файлы HSQLDB повреждены.