Project

General

Profile

Actions

Bug #1708

closed

Periodicaly errors "Error 400 on SERVER: Cannot find definition Class on node"

Added by Viacheslav Biriukov almost 12 years ago. Updated about 8 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
Difficulty:
Triaged:
Fixed in Releases:
Found in Releases:

Description

I periodically get following error:
Could not retrieve catalog from remote server: Error 400 on SERVER: Cannot find definition Class on node node002.local

Environment:

Centos 5.8 in xen vm:

Listen 3000
<VirtualHost *:3000>
RackAutoDetect Off
ServerName foreman.lan
DocumentRoot /usr/share/foreman/public
<Directory /usr/share/foreman/public>
Options None
AllowOverride AuthConfig
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/httpd/foreman_error.log
LogLevel warn
CustomLog /var/log/httpd/foreman_access.log combined
ServerSignature On
</VirtualHost>

Puppet on the other VM on nginx nginx-1.0.11 with p rubygem-passenger-3.0.11

server {
listen 8140;
passenger_enabled on;

passenger_min_instances 5;
ssl                     on;
ssl_session_timeout 5m;
ssl_certificate /var/lib/puppet/ssl/certs/puppet001.lan.pem;
ssl_certificate_key /var/lib/puppet/ssl/private_keys/puppet001.lan.pem;
ssl_client_certificate /var/lib/puppet/ssl/ca/ca_crt.pem;
  1. choose any ciphers
    ssl_ciphers SSLv2:-LOW:-EXPORT:RC4+RSA;
  1. allow authenticated and client without certs
    ssl_verify_client optional;
  1. obey to the Puppet CRL
    ssl_crl /var/lib/puppet/ssl/ca/ca_crl.pem;
client_max_body_size 5M;
client_header_buffer_size 8k;
large_client_header_buffers 8 32k;
types {}
default_type application/x-raw;
passenger_set_cgi_param HTTP_X_CLIENT_DN $ssl_client_s_dn;
passenger_set_cgi_param HTTP_X_CLIENT_VERIFY $ssl_client_verify;
root /etc/puppet/rack/public;
passenger_base_uri /;
error_log /var/log/nginx/puppet-error_log info;
access_log /var/log/nginx/puppet-access_log main;

}

puppet master conf:

[main] # The Puppet log directory. # The default value is '$vardir/log'.
logdir = /var/log/puppet

  1. Where Puppet PID files are kept.
  2. The default value is '$vardir/run'.
    rundir = /var/run/puppet
  1. Where SSL certificates are kept.
  2. The default value is '$confdir/ssl'.
    ssldir = $vardir/ssl
listen = true

[master] [15/1050]

ssl_client_header = HTTP_X_CLIENT_DN                                                                                                     
ssl_client_verify_header = HTTP_X_CLIENT_VERIFY
keylength = 32768
certname = puppet001.qs.mc
reporturl = http://foreman.lan:3000/reports
storeconfigs = true
dbadapter = mysql
dbuser = puppet
dbpassword = l9erj4bdf_qIo
dbserver = mgmt001.qs.mc
pluginsync = true
factpath = /var/lib/puppet/facts
  1. templatedir = /etc/puppet/manifests/templates
    syslogfacility = local6

    external_nodes = /etc/puppet/node.rb
    node_terminus = exec

    rrddir=/var/lib/puppet/rrd
    rrdinterval=$runinterval
    rrdgraph=true
    reports=log, foreman

[agent]
environment = staging
report = true
classfile = $vardir/classes.txt
localconfig = $vardir/localconfig
pluginsync = true
server = puppet001.qs.mc
runinterval = 600
pluginsignore = .svn

[test]
modulepath = /etc/puppet/modules/current/1.0.6
manifest = /etc/puppet/environments/test/site.pp

[dev]
modulepath = /etc/puppet/environments/dev/modules
manifest = /etc/puppet/environments/dev/site.pp

[staging]
modulepath = /etc/puppet/modules/current/1.0.6
manifest = /etc/puppet/environments/statging/site.pp

[production]
modulepath = /etc/puppet/modules/current/1.0.6
manifest = /etc/puppet/environments/production/site.pp

Actions #1

Updated by Ohad Levy almost 12 years ago

  • Status changed from New to Need more information

can you find the request in foreman logs? can you provide the logs from both puppet and foreman of when it happens?

Actions #2

Updated by Siert Z. over 11 years ago

This is a puppet bug: http://projects.puppetlabs.com/issues/15106

Make sure you create a site.pp on your puppet master, even if it is empty.

Another workaround is to set the 'filetimeout = 60' in your puppet master's puppet.conf.

Actions #3

Updated by Siert Z. over 11 years ago

Fix is in pull request '6a34f1bc3e58d33408b1729913c4cf2e28b2d014' (module: foreman-installer / puppet-puppet)

Actions #4

Updated by Tomer Brisker about 8 years ago

  • Status changed from Need more information to Resolved

Seems this was resolved 3 years ago. Closing.

Actions

Also available in: Atom PDF