внезапно «Не удалось оценить: требуется поле 'ключ'» ошибки при генерации экспортированных ключей SSH

Не меняя ничего внезапно в конфигурации марионетки, некоторые из наших хостов начали с «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 на всех хостах. Сначала это выглядело многообещающе, но вскоре ошибки, указанные выше, снова появились.

Как отладить или даже лучше решить проблему и как предотвратить ее повторение в будущем?

0
задан 25 November 2017 в 14:18
2 ответа

Чтобы помочь отладить / понять, что произошло, есть три вещи, которые вы можете сделать (по крайней мере):

  1. Запустить агент в режиме отладки: puppet agent -tv --debug. Это немного похоже на пожарный шланг, но там могут быть какие-то подсказки (это немного далеко - проблема, вероятно, на сервере
  2. Просмотрите журналы марионеточного мастера / сервера; я рекомендую следить их, пока вы запускаете агент на проблемных узлах, так что вы можете быть уверены, что видите результат этих запусков. Вполне возможно, что там есть подсказка (сервер выдает множество предупреждений о вещах, которые не- совершенно правильно, которые не видны на агентах)
  3. Зайдите в базу данных HSQLDB; в таблице должно быть несколько строк, связанных с различными ключами ssh. Посмотрите, какая информация там есть, особенно если некоторые из них работают, а некоторые не являются (сравните строки).
0
ответ дан 5 December 2019 в 07:07

В конце концов, это сработало, удалив каталог данных PuppetDB и повторно запустив марионетку на всех узлах. Я подозреваю, что некоторые файлы HSQLDB повреждены.

0
ответ дан 5 December 2019 в 07:07

Теги

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