Issue #12231 has been reported by Keith Baker.
----------------------------------------
Bug #12231: Virtual classes are always realized
https://projects.puppetlabs.com/issues/12231
Author: Keith Baker
Status: Unreviewed
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.