Я использую марионеточный агент v3.0.1 (на FreeBSD), пытаюсь подключиться к марионеточному мастеру v3.1.1 (на Ubuntu), и марионеточный агент зависает со следующим выводом отладки:
puppet agent --debug --no-daemonize
...
Debug: /File[/var/puppet/ssl/private_keys]: Autorequiring File[/var/puppet/ssl]
Debug: /File[/var/puppet/ssl/private]: Autorequiring File[/var/puppet/ssl]
Debug: /File[/var/puppet/ssl/private_keys/zg-3.XXXX.ch.pem]: Autorequiring File[/var/puppet/ssl/private_keys]
Debug: /File[/var/puppet/ssl/public_keys/zg-3.XXXX.ch.pem]: Autorequiring File[/var/puppet/ssl/public_keys]
Debug: Finishing transaction 17214983260
[hangs.. about two minutes..]
Error: Could not request certificate: execution expired
Error: Could not request certificate: execution expired
Мастер марионетки размещается на виртуальной машине и доступен через переадресацию портов на хост-машине виртуальной машины. Я протестировал доступ к мастеру с другого узла за брандмауэром, и он работает правильно.
Когда агент запускается, на мастере марионетки нет индикации о том, что соединение установлено (хотя неясно, должно ли оно быть).
Я проверил с помощью netcat и telnet и подтвердил, что могу инициировать соединение от агента к серверу и обмениваться данными.
Один и тот же хозяин марионеток правильно работал с другим агентом FreeBSD, работающим под управлением Puppet v3.0.2.
Запуск tcpdump во время работы агента показывает, что некоторые пакеты передаются между агентом и сервером.
Я бежал ферма в команде марионеточного агента (FreeBSD) и увидел, что агент получает следующую ошибку (дважды):
read (6,0x80711c3c6,1854) ERR # 35 'Ресурс временно недоступен'
Дескриптор файла 6 получен из системного вызова «connect» на правильный IP-адрес и номер порта (8140) главной системы.
В настоящее время я подозреваю, что проблема может быть вызвана одной из следующих причин:
Проблема совместимости программного обеспечения агента / главной марионетки
Проблема совместимости библиотеки SSL
Какая-то странная проблема с брандмауэром или NAT, которая разрешает связь netcat / telnet, но не связь Puppet. Связь является создается, поскольку я получаю другую ошибку, когда запускаю агент, но не запускаю мастер
Ошибка синхронизации или состояние гонки
Я не думаю, что проблема вызвана:
Проблема с сертификатом SSL, так как нет ошибок, связанных с сертификатом. Я также попытался удалить содержимое ssl каталог как в агентской, так и в главной системе
Проблема синхронизации времени, поскольку обе системы работают по протоколу NTP.
Любые подсказки о том, как это отладить?
Заранее спасибо,
Алан Ходжкинсон
P.S. Запросите любую дополнительную (конфигурационную) информацию, необходимую для диагностики проблемы.