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