Марионетка иногда не может находить стандартные факты как osfamily

Что Вы попробовали от vSphere клиента?

Виртуальная машина выключается? Есть ли на виртуальной машине какие-либо снимки?

Машина должна быть выключена и без снимков прежде, чем изменить размер диска. После изменения размеров виртуального диска, можно использовать gParted и/или инструменты LVM для изменения размеров раздела.

5
задан 19 January 2013 в 10:31
2 ответа

Я видел эту проблему в RedHat / CentOS. У агента марионетки на клиентской машине закончились бы файловые дескрипторы из-за какой-то ошибки ruby ​​/ puppet, не закрывающей их. После достижения предела 1024 fd он больше не сможет запускать facter, поэтому факты будут отсутствовать.

Если последующие запуски марионетки из того же процесса не завершатся неудачно, это, вероятно, другая проблема, но может стоит проверить. В моем случае марионеточный агент регистрирует невозможность запуска facter, а в / proc / PIDOFPUPPETD / fd будет 1024 файловых дескриптора.

6
ответ дан 3 December 2019 в 01:14

Я нашел источник своей проблемы. Это был мой плагин nagios, который проверяет, работает ли марионеточный агент, и прослушивает соединения ( Я запускаю марионеточный агент с помощью listen = true )

Похоже, что есть более одного соединения с марионеточным агентом в одном время, марионетка не может собрать факты. Например, если мое osfamily - «Debian», оно вернуло просто общий «Linux».

Как я тестировал? Я запускаю 2 цикла с командами, которые подключаются к:

https://127.0.0.1:8139/production/facts/no_key

Пример результата:

OK: connection with puppet agent works (facter: 1.6.17, kernel: 2.6.32-5-amd64, os: Debian)
OK: connection with puppet agent works (facter: 1.6.17, kernel: 2.6.32-5-amd64, os: Debian)
OK: connection with puppet agent works (facter: 1.6.17, kernel: 2.6.32-5-amd64, os: Linux)
OK: connection with puppet agent works (facter: 1.6.17, kernel: 2.6.32-5-amd64, os: Debian)
OK: connection with puppet agent works (facter: 1.6.17, kernel: 2.6.32-5-amd64, os: Debian)

Если я запускаю цикл только с 1 командой, он работает каждый раз.

Я не уверен, действительно ли это проблема марионетки или что-то в этом роде глубже (модули ruby), но чтобы решить эту проблему, мне нужно прекратить подключение к серверу марионеточного агента.

3
ответ дан 3 December 2019 в 01:14

Теги

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