Ошибка 400 на сервере SERVER: не удалось найти узел «master.host.com»;не может скомпилировать - PullRequest
0 голосов
/ 04 октября 2019

У меня настроен отдельный сервер CA и главный узел, и я пытаюсь запустить агент на самом мастере, чтобы получить свой собственный каталог. Когда я пытаюсь выполнить puppet agent -t, я получаю следующую ошибку:

# puppet agent -t
info: Retrieving plugin
info: Loading facts in /var/lib/puppet/lib/facter/katta.rb
info: Loading facts in /var/lib/puppet/lib/facter/centos_repos.rb
info: Loading facts in /var/lib/puppet/lib/facter/rabbitmq_erlang_cookie.rb
info: Loading facts in /var/lib/puppet/lib/facter/slang_site.rb
info: Loading facts in /var/lib/puppet/lib/facter/hpraid.rb
info: Loading facts in /var/lib/puppet/lib/facter/kernel_options.rb
info: Loading facts in /var/lib/puppet/lib/facter/is_vagrant.rb
info: Loading facts in /var/lib/puppet/lib/facter/hpsim.rb
info: Loading facts in /var/lib/puppet/lib/facter/roles.rb
info: Loading facts in /var/lib/puppet/lib/facter/purge_sudoers.rb
info: Loading facts in /var/lib/puppet/lib/facter/pe_version.rb
info: Loading facts in /var/lib/puppet/lib/facter/root_home.rb
info: Loading facts in /var/lib/puppet/lib/facter/hiera_site.rb
info: Loading facts in /var/lib/puppet/lib/facter/puppet_classes.rb
info: Loading facts in /var/lib/puppet/lib/facter/puppet_vardir.rb
info: Loading facts in /var/lib/puppet/lib/facter/concat_basedir.rb
info: Loading facts in /var/lib/puppet/lib/facter/hpilo.rb
info: Loading facts in /var/lib/puppet/lib/facter/facter_dot_d.rb
info: Loading facts in /var/lib/puppet/lib/facter/installed_packages.rb
info: Loading facts in /var/lib/puppet/lib/facter/local_users.rb
info: Loading facts in /var/lib/puppet/lib/facter/hpbios_upgrade.rb
info: Loading facts in /var/lib/puppet/lib/facter/mounts.rb
err: Could not retrieve catalog from remote server: Error 400 on SERVER: Could not find node 'master.host.com'; cannot compile
warning: Not using cache on failed catalog
err: Could not retrieve catalog; skipping run

Когда я выполнил его с трассировкой, я обнаружил, что один из API возвращает 400. Я выполнил то же самое, используяcurl, а также получил 400.

curl -X GET -H 'Accept: pson' --cert /var/lib/puppet/ssl/certs/$(hostname -f).pem --key /var/lib/puppet/ssl/private_keys/$(hostname -f).pem --cacert /var/lib/puppet/ssl/certs/ca.pem https://master.host.com:8140/production/node/master.host.com
Could not find node master.host.com

Аналогичным образом, я получаю ту же ошибку на GET /production/node/master.host.com

В журнале нет ошибок, кроме ответа 400, как указано ниже, иЯ не знаю, что здесь не так.

==> puppet_ssl_request_log <==
[04/Oct/2019:12:26:11 +0000] 10.124.89.112 SUCCESS /CN=master.host.com "GET /production/file_metadatas/plugins?&links=manage&checksum_type=md5&ignore=---+%0A++-+%22.svn%22%0A++-+CVS%0A++-+%22.git%22&recurse=true HTTP/1.1" 200 85318
[04/Oct/2019:12:26:13 +0000] 10.124.89.112 SUCCESS /CN=master.host.com "POST /production/catalog/master.host.com HTTP/1.1" 400 71
[04/Oct/2019:12:26:14 +0000] 10.124.89.112 SUCCESS /CN=master.host.com "PUT /production/report/master.host.com HTTP/1.1" 200 13

Вот содержимое puppet.conf на master.host.com

# Managed by Puppet
[main]
  logdir = /var/log/puppet
  rundir = /var/run/puppet
  ssldir = $vardir/ssl
  localconfig = $vardir/localconfig
  ssl_client_header = SSL_CLIENT_S_DN
  ssl_client_verify_header = SSL_CLIENT_VERIFY

[agent]
  server = master.host.com
  ca_server = puppetca.host.com
  environment = production
  pluginsync = true
  ignorecache = true
  classfile = $vardir/classes.txt
  report = true
[master]
  ca = false
  ca_server = puppetca.host.com
  storeconfigs = false
  environment = production
  manifestdir = $confdir/environments/$environment/manifests
  modulepath = $confdir/environments/$environment/modules
  external_nodes = /opt/rubies/techops/bin/ruby /opt/rubies/techops/bin/j-enc
  node_terminus = exec
  reports = http
  reporturl = http://puppet-dashboard.host.com/reports/upload

1 Ответ

0 голосов
/ 12 октября 2019

Проблема была с ENC, и я обнаружил проблемы с деталями, когда я включил уровень журнала отладки в /var/log/enc/j_enc.log, и, следовательно, помогло решить проблемы с подключением.

Надеюсь, это поможет кому-то, ктосталкивается с аналогичной проблемой.

...