Issue #13061 has been updated by Tom De Vylder.

I'm unable to replicate this behavior due to priorities at $customer.
However I think it may have been caused by the combination inheritance in 
nodes.pp and inheritance inside a module.

I think this one can be closed for now.
----------------------------------------
Bug #13061: Puppet apply could not find class
https://projects.puppetlabs.com/issues/13061#change-60902

Author: Tom De Vylder
Status: Investigating
Priority: Normal
Assignee: 
Category: 
Target version: 
Affected Puppet version: 2.7.11
Keywords: apply

Branch: 


Hi,

I'm running into some troubles using puppet apply.
It looks like puppet can't find a number of classes only when using apply.<BR>
When I run the same with puppet agent against the current puppet master it 
works flawlessly.

Below you will find the full debug output and additional information.

    # puppet apply --environment=staging 
--config=puppet/master/etc/puppet/puppet.conf 
/etc/puppet/manifests/staging_nodes.pp --ignorecache --verbose --noop --debug
    debug: importing 
'/etc/puppet/environments/staging/modules/tools/manifests/init.pp' in 
environment staging
    warning: require is a metaparam; this value will inherit to all contained 
resources
    warning: notify is a metaparam; this value will inherit to all contained 
resources
    debug: Automatically imported tools from tools into staging
    debug: importing 
'/etc/puppet/environments/staging/modules/ssh/manifests/init.pp' in environment 
staging
    debug: importing 
'/etc/puppet/environments/staging/modules/ssh/manifests/auth.pp' in environment 
staging
    debug: Automatically imported ssh::auth from ssh/auth into staging
    debug: importing 
'/etc/puppet/environments/staging/modules/hosts/manifests/init.pp' in 
environment staging
    debug: Automatically imported hosts from hosts into staging
    debug: importing 
'/etc/puppet/environments/staging/modules/ntp/manifests/init.pp' in environment 
staging
    warning: You cannot collect without storeconfigs being set on line 44 in 
file /etc/puppet/environments/staging/modules/ntp/manifests/init.pp
    debug: Automatically imported ntp from ntp into staging
    debug: Puppet::Type::Package::ProviderRpm: Executing '/bin/rpm --version'
    debug: Puppet::Type::Package::ProviderAptrpm: Executing '/bin/rpm -ql rpm'
    debug: Puppet::Type::Package::ProviderUrpmi: Executing '/bin/rpm -ql rpm'
    debug: Puppet::Type::Package::ProviderYum: Executing '/bin/rpm --version'
    debug: importing 
'/etc/puppet/environments/staging/modules/icinga/manifests/init.pp' in 
environment staging
    warning: You cannot collect without storeconfigs being set on line 29 in 
file /etc/puppet/environments/staging/modules/icinga/manifests/init.pp
    debug: importing 
'/etc/puppet/environments/staging/modules/icinga/manifests/config.pp' in 
environment staging
    debug: Automatically imported icinga::config from icinga/config into staging
    debug: importing 
'/etc/puppet/environments/staging/modules/vim/manifests/init.pp' in environment 
staging
    debug: Automatically imported vim from vim into staging
    debug: importing 
'/etc/puppet/environments/staging/modules/user/manifests/init.pp' in 
environment staging
    debug: importing 
'/etc/puppet/environments/staging/modules/user/manifests/classes/user.pp' in 
environment staging
    debug: importing 
'/etc/puppet/environments/staging/modules/user/manifests/definitions/create.pp' 
in environment staging
    Could not find class user for node1.example.com at 
/etc/puppet/manifests/staging_nodes.pp:9 on node node1.example.com

The same output is given for all other classes listed in the manifest file when 
trying separately.

The classes are actually present:

    # grep -riE 'class user|class tools' /etc/puppet/environments/staging/
    
/etc/puppet/environments/staging/modules/user/manifests/classes/user.pp:class 
user {
    /etc/puppet/environments/staging/modules/tools/manifests/init.pp:class 
tools {

Manifest:

    $ cat /etc/puppet/manifests/staging_nodes.pp 
    node basenode {
        include hosts
        include ntp
        include vim
        include user
        include nfs
    }
    
    node 'node1.example.com' inherits basenode {
        include mysql
    }

The relevant puppet.config section looks like this:

    [production]
        manifest = $confdir/manifests/production_site.pp
        modulepath = $confdir/environments/$environment/modules:$confdir/modules
        domain = example.com

    [staging]
        manifest = $confdir/manifests/staging_site.pp
        modulepath = $confdir/environments/$environment/modules:$confdir/modules
        domain = example.com

Facter output:

    # facter 
    architecture => x86_64
    facterversion => 1.6.5
    lsbdistdescription => CentOS release 6.2 (Final)
    puppetversion => 2.7.11
    rubyversion => 1.8.7
    selinux => false

If any more information is needed, please ask.<BR>
Thanks in advance.


-- 
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