Issue #7178 has been updated by Zach Leslie.

Status changed from Unreviewed to Accepted


----------------------------------------
Bug #7178: external nodes and storeconfigs configuration cannot coexist in 
[main] when using puppet apply
https://projects.puppetlabs.com/issues/7178

Author: Oliver Hookins
Status: Accepted
Priority: Normal
Assignee: 
Category: 
Target version: 
Affected Puppet version: 2.6.7
Keywords: 
Branch: 


Firstly, the contents of some files:

/root/enc.sh:
<pre>
#!/bin/bash
cat &lt&ltEOF
classes:
 - foo
parameters:
  bar: 'false'
EOF
</pre>

/root/test.pp:
<pre>
class foo {
    @@file { '/tmp/foo':
        content => $bar;
    }
}
</pre>

/etc/puppet/puppet.conf:
<pre>
[main]
    node_terminus = exec
    external_nodes = /root/enc.sh

[master]
    # Storeconfigs
    storeconfigs = true
    thin_storeconfigs = true
    dbadapter = mysql
    dbuser = puppet
    dbpassword = password
    dbserver = 127.0.0.1
    dbsocket = /var/lib/mysql/mysql.sock
</pre>

We do an initial run to demonstrate that Puppet storeconfigs will complain if 
not enabled in [main] for a puppet apply run, but the local ENC does in fact 
run correctly:
<pre>
[root@centos5 ~]# puppet apply /root/test.pp --noop --debug
debug: Executing '/root/enc.sh centos5.localdomain'
warning: You cannot collect without storeconfigs being set on line 4 in file 
/root/test.pp
debug: Failed to load library 'selinux' for feature 'selinux'
debug: Creating default schedules
debug: Failed to load library 'shadow' for feature 'libshadow'
debug: Puppet::Type::User::ProviderUser_role_add: file roleadd does not exist
debug: Failed to load library 'ldap' for feature 'ldap'
debug: Puppet::Type::User::ProviderLdap: feature ldap is missing
debug: Puppet::Type::User::ProviderDirectoryservice: file /usr/bin/dscl does 
not exist
debug: Puppet::Type::User::ProviderPw: file pw does not exist
debug: Puppet::Type::File::ProviderMicrosoft_windows: feature microsoft_windows 
is missing
debug: /File[/etc/puppet/ssl/public_keys]: Autorequiring File[/etc/puppet/ssl]
debug: /File[/etc/puppet/ssl/private_keys]: Autorequiring File[/etc/puppet/ssl]
debug: /File[/var/lib/puppet/client_data]: Autorequiring File[/var/lib/puppet]
debug: /File[/var/lib/puppet/lib]: Autorequiring File[/var/lib/puppet]
debug: /File[/var/lib/puppet/client_yaml]: Autorequiring File[/var/lib/puppet]
debug: /File[/var/lib/puppet/state]: Autorequiring File[/var/lib/puppet]
debug: /File[/var/lib/puppet/facts]: Autorequiring File[/var/lib/puppet]
debug: /File[/etc/puppet/ssl]: Autorequiring File[/etc/puppet]
debug: /File[/etc/puppet/ssl/private]: Autorequiring File[/etc/puppet/ssl]
debug: /File[/var/lib/puppet/clientbucket]: Autorequiring File[/var/lib/puppet]
debug: /File[/var/lib/puppet/state/state.yaml]: Autorequiring 
File[/var/lib/puppet/state]
debug: /File[/var/lib/puppet/state/graphs]: Autorequiring 
File[/var/lib/puppet/state]
debug: /File[/var/lib/puppet/log]: Autorequiring File[/var/lib/puppet]
debug: /File[/var/lib/puppet/run]: Autorequiring File[/var/lib/puppet]
debug: /File[/etc/puppet/ssl/certs]: Autorequiring File[/etc/puppet/ssl]
debug: /File[/etc/puppet/ssl/certificate_requests]: Autorequiring 
File[/etc/puppet/ssl]
debug: Finishing transaction 23883463825040
debug: Loaded state in 0.01 seconds
debug: Loaded state in 0.01 seconds
info: Applying configuration version '1303302613'
debug: Finishing transaction 23883463640420
debug: Storing state
debug: Stored state in 0.20 seconds
notice: Finished catalog run in 0.37 seconds
</pre>

Now we move storeconfigs into the [main] block, and puppet.conf looks like this:
<pre>
[main]
    node_terminus = exec
    external_nodes = /root/enc.sh

    # Storeconfigs
    storeconfigs = true
    thin_storeconfigs = true
    dbadapter = mysql
    dbuser = puppet
    dbpassword = password
    dbserver = 127.0.0.1
    dbsocket = /var/lib/mysql/mysql.sock

[master]
</pre>

And a run of puppet apply now doesn't run the external node script at all:
<pre>
[root@centos5 ~]# puppet apply /root/test.pp --noop --debug
debug: Failed to load library 'selinux' for feature 'selinux'
debug: Failed to load library 'shadow' for feature 'libshadow'
debug: Failed to load library 'ldap' for feature 'ldap'
debug: Puppet::Type::User::ProviderLdap: feature ldap is missing
debug: Puppet::Type::User::ProviderUser_role_add: file rolemod does not exist
debug: Puppet::Type::User::ProviderDirectoryservice: file /usr/bin/dscl does 
not exist
debug: Puppet::Type::User::ProviderPw: file pw does not exist
debug: Puppet::Type::File::ProviderMicrosoft_windows: feature microsoft_windows 
is missing
debug: /File[/var/lib/puppet/reports]: Autorequiring File[/var/lib/puppet]
debug: /File[/etc/puppet/ssl/certificate_requests]: Autorequiring 
File[/etc/puppet/ssl]
debug: /File[/etc/puppet/ssl]: Autorequiring File[/etc/puppet]
debug: /File[/etc/puppet/auth.conf]: Autorequiring File[/etc/puppet]
debug: /File[/etc/puppet/fileserver.conf]: Autorequiring File[/etc/puppet]
debug: /File[/var/lib/puppet/log/masterhttp.log]: Autorequiring 
File[/var/lib/puppet/log]
debug: /File[/var/lib/puppet/yaml]: Autorequiring File[/var/lib/puppet]
debug: /File[/etc/puppet/ssl/private]: Autorequiring File[/etc/puppet/ssl]
debug: /File[/var/lib/puppet/log]: Autorequiring File[/var/lib/puppet]
debug: /File[/var/lib/puppet/state]: Autorequiring File[/var/lib/puppet]
debug: /File[/var/lib/puppet/lib]: Autorequiring File[/var/lib/puppet]
debug: /File[/etc/puppet/ssl/private_keys]: Autorequiring File[/etc/puppet/ssl]
debug: /File[/var/lib/puppet/server_data]: Autorequiring File[/var/lib/puppet]
debug: /File[/etc/puppet/ssl/public_keys]: Autorequiring File[/etc/puppet/ssl]
debug: /File[/var/lib/puppet/bucket]: Autorequiring File[/var/lib/puppet]
debug: /File[/var/lib/puppet/run]: Autorequiring File[/var/lib/puppet]
debug: /File[/var/lib/puppet/facts]: Autorequiring File[/var/lib/puppet]
debug: /File[/etc/puppet/manifests]: Autorequiring File[/etc/puppet]
debug: /File[/etc/puppet/ssl/certs]: Autorequiring File[/etc/puppet/ssl]
debug: /File[/var/lib/puppet/log/masterhttp.log]/ensure: created
debug: Finishing transaction 23767702639800
info: Connecting to mysql database: puppet
debug: Using cached facts for centos5.localdomain
debug: Using cached facts for centos5.localdomain
debug: Using cached node for centos5.localdomain
info: Caching catalog for centos5.localdomain
debug: Searched for resources in 0.07 seconds
debug: Searched for resource params and tags in 0.02 seconds
debug: Resource removal in 0.00 seconds
debug: Resource merger in 0.00 seconds
debug: Resource addition in 0.00 seconds
debug: Performed resource comparison in 0.00 seconds
debug: Using cached facts for centos5.localdomain
debug: Using cached node for centos5.localdomain
debug: Saved catalog to database in 0.21 seconds
debug: Creating default schedules
debug: Finishing transaction 23767701704520
debug: Loaded state in 0.01 seconds
debug: Loaded state in 0.01 seconds
info: Applying configuration version '1303304276'
debug: Finishing transaction 23767701215860
debug: Storing state
debug: Stored state in 0.11 seconds
notice: Finished catalog run in 0.22 seconds
</pre>


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