Issue #12231 has been updated by Daniel Pittman. Status changed from Unreviewed to Accepted
I can confirm that the problem, and bisected it down to https://github.com/puppetlabs/puppet/commit/65ef24e5c1c33b7d42012891d368917fd6aaf68c - which touches a whole bunch of behaviour in the area. Thanks for the report, and especially for the reproducible case. Made it much easier to track down the root cause to a commit, which makes it easier to fix. :) ---------------------------------------- Bug #12231: Virtual classes are always realized https://projects.puppetlabs.com/issues/12231 Author: Keith Baker Status: Accepted Priority: Normal Assignee: Category: Target version: Affected Puppet version: 2.7.9 Keywords: Branch: Declaring a virtual class should not instantiate it without being realized. This worked in puppet 2.6.1 but is broken in 2.6.7. I also tried it in 2.7.9 and it still seems to be broken. The code below is a very simple example. vclass and the notify should not happen because it is not realized. <pre> class vclass { notify {"vclass": message => "I've been realized" } } class iclass { @class {"vclass": } } class {"iclass":} </pre> Puppet 2.7.9 output: <pre> puppet apply --debug iclass.pp debug: importing '/root/iclass.pp' in environment production debug: Creating default schedules debug: Failed to load library 'selinux' for feature 'selinux' debug: Failed to load library 'shadow' for feature 'libshadow' debug: Puppet::Type::User::ProviderDirectoryservice: file /usr/bin/dscl does not exist 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::ProviderPw: file pw does not exist debug: /File[/etc/puppet/ssl/public_keys]: Autorequiring File[/etc/puppet/ssl] debug: /File[/etc/puppet/ssl/certificate_requests]: Autorequiring File[/etc/puppet/ssl] debug: /File[/var/lib/puppet/state/state.yaml]: Autorequiring File[/var/lib/puppet/state] debug: /File[/var/lib/puppet/clientbucket]: Autorequiring File[/var/lib/puppet] debug: /File[/var/lib/puppet/state/last_run_report.yaml]: Autorequiring File[/var/lib/puppet/state] debug: /File[/var/lib/puppet/run]: Autorequiring File[/var/lib/puppet] debug: /File[/etc/puppet/ssl/private_keys]: Autorequiring File[/etc/puppet/ssl] debug: /File[/var/lib/puppet/state/graphs]: Autorequiring File[/var/lib/puppet/state] debug: /File[/var/lib/puppet/client_data]: Autorequiring File[/var/lib/puppet] debug: /File[/var/lib/puppet/log]: 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/lib]: Autorequiring File[/var/lib/puppet] debug: /File[/var/lib/puppet/facts]: Autorequiring File[/var/lib/puppet] debug: /File[/var/lib/puppet/state]: Autorequiring File[/var/lib/puppet] debug: /File[/var/lib/puppet/state/last_run_summary.yaml]: Autorequiring File[/var/lib/puppet/state] debug: /File[/var/lib/puppet/client_yaml]: Autorequiring File[/var/lib/puppet] debug: /File[/etc/puppet/ssl/certs]: Autorequiring File[/etc/puppet/ssl] debug: Finishing transaction 23948234472800 debug: Loaded state in 0.00 seconds debug: Loaded state in 0.00 seconds info: Applying configuration version '1327691293' debug: /Schedule[daily]: Skipping device resources because running on a host debug: /Schedule[monthly]: Skipping device resources because running on a host notice: I've been realized notice: /Notify[vclass]/message: defined 'message' as 'I've been realized' debug: /Schedule[hourly]: Skipping device resources because running on a host debug: /Schedule[never]: Skipping device resources because running on a host debug: /Schedule[weekly]: Skipping device resources because running on a host debug: /Schedule[puppet]: Skipping device resources because running on a host debug: Finishing transaction 23948233321400 debug: Storing state debug: Stored state in 0.00 seconds notice: Finished catalog run in 0.03 seconds debug: Finishing transaction 23948233059620 </pre> Puppet 2.6.1: <pre> puppet apply --debug iclass.pp debug: Creating default schedules debug: Failed to load library 'selinux' for feature 'selinux' debug: Puppet::Type::File::ProviderMicrosoft_windows: feature microsoft_windows is missing debug: Failed to load library 'ldap' for feature 'ldap' debug: /File[/home/keibaker/.puppet/ssl/private_keys]: Autorequiring File[/home/keibaker/.puppet/ssl] debug: /File[/home/keibaker/.puppet/ssl/public_keys]: Autorequiring File[/home/keibaker/.puppet/ssl] debug: /File[/home/keibaker/.puppet/ssl]: Autorequiring File[/home/keibaker/.puppet] debug: /File[/home/keibaker/.puppet/var/log]: Autorequiring File[/home/keibaker/.puppet/var] debug: /File[/home/keibaker/.puppet/var]: Autorequiring File[/home/keibaker/.puppet] debug: /File[/home/keibaker/.puppet/var/state/graphs]: Autorequiring File[/home/keibaker/.puppet/var/state] debug: /File[/home/keibaker/.puppet/ssl/certificate_requests]: Autorequiring File[/home/keibaker/.puppet/ssl] debug: /File[/home/keibaker/.puppet/var/clientbucket]: Autorequiring File[/home/keibaker/.puppet/var] debug: /File[/home/keibaker/.puppet/var/client_data]: Autorequiring File[/home/keibaker/.puppet/var] debug: /File[/home/keibaker/.puppet/var/client_yaml]: Autorequiring File[/home/keibaker/.puppet/var] debug: /File[/home/keibaker/.puppet/var/facts]: Autorequiring File[/home/keibaker/.puppet/var] debug: /File[/home/keibaker/.puppet/var/lib]: Autorequiring File[/home/keibaker/.puppet/var] debug: /File[/home/keibaker/.puppet/var/run]: Autorequiring File[/home/keibaker/.puppet/var] debug: /File[/home/keibaker/.puppet/ssl/certs]: Autorequiring File[/home/keibaker/.puppet/ssl] debug: /File[/home/keibaker/.puppet/var/state/state.yaml]: Autorequiring File[/home/keibaker/.puppet/var/state] debug: /File[/home/keibaker/.puppet/ssl/private]: Autorequiring File[/home/keibaker/.puppet/ssl] debug: /File[/home/keibaker/.puppet/var/state]: Autorequiring File[/home/keibaker/.puppet/var] debug: Finishing transaction 70277340166120 debug: Loaded state in 0.02 seconds info: Applying configuration version '1327691483' debug: Finishing transaction 70277340695320 debug: Storing state debug: Stored state in 0.01 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.
