Project

General

Profile

Bug #1708

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

Added by Viacheslav Biriukov over 10 years ago. Updated almost 7 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
Difficulty:
Triaged:
No
Bugzilla link:
Pull request:
Fixed in Releases:
Found in Releases:
Red Hat JIRA:

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

Associated revisions

Revision 6a34f1bc (diff)
Added by Siert Z. about 10 years ago

fixes #1708 create site.pp even if empty

History

#1 Updated by Ohad Levy over 10 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?

#2 Updated by Siert Z. about 10 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.

#3 Updated by Siert Z. about 10 years ago

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

#4 Updated by Tomer Brisker almost 7 years ago

  • Status changed from Need more information to Resolved

Seems this was resolved 3 years ago. Closing.

Also available in: Atom PDF