Issue #8801 has been updated by James Turnbull.

Also I suspect this is a duplicate of #8433.  Can you please confirm and if so 
I will close this ticket and move your issue there.
----------------------------------------
Bug #8801: All manifests require n passes to successfully run, where n is the 
number of included modules
https://projects.puppetlabs.com/issues/8801

Author: Justin Honold
Status: Needs More Information
Priority: Normal
Assignee: Justin Honold
Category: modules
Target version: 
Affected Puppet version: 2.7.1
Keywords: 
Branch: 


Puppet 2.7.1 from RubyGems on Ubuntu Lucid 10.04 LTS hosts.

Example stub from nodes.pp:

    node "mynode.domain" {
      include foo
    }

Example output from the first 'puppetd -tv' run on the node:

    err: Could not retrieve catalog from remote server: Error 400 on SERVER: 
Could not find class foo for mynode.domain at /etc/puppet/manifests/nodes.pp:37 
on node mynode.domain

Example output from the second 'puppetd -tv' run on the node:

    info: Applying configuration version '1312574494'

Each subsequent run will succeed until the successful Apache threads cycle, or 
the Apache server is restarted - then it starts over again.

This is currently happening on ALL of my nodes, with ALL of my manifests.

The Puppet Master normally runs under Passenger, but the same problem exists 
when running puppetmasterd (--no-daemonize and --debug).

    [main]
    external_nodes = /usr/bin/puppet_node_classifier
    node_terminus = exec
    [master]
    ssl_client_header = SSL_CLIENT_S_DN
    ssl_client_verify_header = SSL_CLIENT_VERIFY
    filetimeout = 0
    reports = http, store

I have tried commenting out external_nodes, node_terminus, and filetimeout to 
no effect.

First pass debug output:

    info: Inserting default '~ ^/catalog/([^/]+)$'(auth) ACL because 
/etc/puppet/auth.conf doesn't exist
    info: Inserting default '~ ^/node/([^/]+)$'(auth) ACL because 
/etc/puppet/auth.conf doesn't exist
    info: Inserting default '/file'(non-auth) ACL because /etc/puppet/auth.conf 
doesn't exist
    info: Inserting default '/certificate_revocation_list/ca'(auth) ACL because 
/etc/puppet/auth.conf doesn't exist
    info: Inserting default '/report'(auth) ACL because /etc/puppet/auth.conf 
doesn't exist
    info: Inserting default '/certificate/ca'(non-auth) ACL because 
/etc/puppet/auth.conf doesn't exist
    info: Inserting default '/certificate/'(non-auth) ACL because 
/etc/puppet/auth.conf doesn't exist
    info: Inserting default '/certificate_request'(non-auth) ACL because 
/etc/puppet/auth.conf doesn't exist
    info: Inserting default '/status'(auth) ACL because /etc/puppet/auth.conf 
doesn't exist
    info: Expiring the node cache of mynode.domain
    info: Not using expired node for mynode.domain from cache; expired at Fri 
Aug 05 15:28:07 -0500 2011
    debug: Executing '/usr/bin/puppet_node_classifier mynode.domain'
    info: Caching node for mynode.domain
    debug: importing '/etc/puppet/manifests/nodes.pp' in environment production
    debug: importing '/etc/puppet/manifests/oracle-servers.pp' in environment 
production
    debug: importing '/etc/puppet/manifests/blades.pp' in environment production
    debug: importing '/etc/puppet/manifests/workstations.pp' in environment 
production
    debug: importing '/etc/puppet/modules/foo/manifests/init.pp' in environment 
production
    debug: importing '/etc/puppet/modules/foo/manifests/foo.pp' in environment 
production
    err: Could not find class foo for mynode.domain at 
/etc/puppet/manifests/nodes.pp:37 on node mynode.domain
    err: Could not find class foo for mynode.domain at 
/etc/puppet/manifests/nodes.pp:37 on node mynode.comain

Second pass debug output:

    info: Expiring the node cache of mynode.domain
    info: Not using expired node for mynode.domain from cache; expired at Fri 
Aug 05 15:28:41 -0500 2011
    debug: Executing '/usr/bin/puppet_node_classifier mynode.domain'
    info: Caching node for mynode.domain
    notice: Scope(Class[Foo]): applying foo manifest
    notice: Compiled catalog for mynode.domain in environment production in 
0.32 seconds

For other nodes with multiple module includes, it needs to fail through each of 
them before succeeding.


-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://projects.puppetlabs.com/my/account

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Bugs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-bugs?hl=en.

Reply via email to