Я недавно обновил Katello до версии 2.2, а теперь Foreman до 1.8.1, и где-то в обновлении оказывается, что Puppet теперь не может связаться с Foreman:
> [root@virt5 ~]# puppet agent --test info:
> Retrieving plugin <snipped>
> err: Could not retrieve catalog from remote server: Error 400 on
> SERVER: Failed when searching for node virt5: Failed to find virt5.
> via exec: Execution of '/etc/puppet/node.rb virt5' returned 1:
> warning: Not using cache on failed catalog err: Could not retrieve
> catalog; skipping run
Выполняя ту же команду на моем кукловоде, я вижу:
[сертификаты root @ foreman] # /etc/puppet/node.rb virt5
Не удалось отправить факты в Форман: SSL_connect возвращено = 1 errno = 0 состояние = SSLv3 читает билет сеанса сервера A: предупреждение tlsv1 неизвестно ca
Я попытался скопировать сертификат /etc/pki/katello/certs/katello-default-ca.crt, используемый httpd, в / etc / pki / ca-trust / source / anchors /, а затем запустить update-ca-trust extract, но это, похоже, не имело значения.
Я уверен, что упускаю какую-то глупость, я просто не уверен, что это будет.
Одна ошибка, которую я здесь вижу (это должно быть более ясно в документации), заключается в том, что вы считаете, что Katello использует сертификаты Puppet, как Foreman, но это не так.
На хосте Foreman / Katello запустите:
capsule-certs-generate --capsule-fqdn "mycapsule.example.com"\
--certs-tar "~/mycapsule.example.com-certs.tar"
Где mycapsule.example.com - ваш другой хозяин марионеток.
Распакуйте этот архив и скопируйте RPM сертификата "марионетка-клиент" на свой мастер Puppet и установите его.
Скопируйте несколько файлов:
cp /etc/pki/katello-certs-tools/certs/*-puppet-client.crt /etc/puppet/foreman.crt
cp /etc/pki/katello-certs-tools/private/*-puppet-client.key /etc/puppet/foreman.key
cd /etc/puppet
wget https://katello.mydomain.net/pub/katello-default-ca.crt
chown puppet /etc/puppet/foreman.{crt,key} /etc/puppet/katello*
Настройте свой /etc/puppet/foreman.yaml следующим образом:
:url: "https://katello.mydomain.net"
:ssl_ca: "/etc/puppet/katello-default-ca.crt"
:ssl_cert: "/etc/puppet/foreman.crt"
:ssl_key: "/etc/puppet/foreman.key"
Надеюсь, это должно сработать.