On Monday, March 3, 2014 2:46:37 AM UTC-6, Luke Chavers wrote: > > I'm running into this as well. While it seems to be a rare error, Google > returns at least a few incidents of people with similar problems. Since I > doubt that this is a desired behavior, I'll call it a bug from this point. > > I hit this bug when trying to install "The Foreman" via their official > Puppet module. Unless I'm wrong (and very well could be), all of the other > mentions of this bug are similar in the sense that they all install a > puppet server. > > The OP here is installing a Puppet Master, I'm installing a Puppet Master > (via Foreman), and it seems like another example I saw also included a > Puppet Master, though I am unable to locate it now. > > Notice: /Stage[main]/Foreman::Install::Repos::Extra/Yumrepo[SCL]/gpgkey: > gpgkey changed '' to 'file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-Testing-6' > Notice: /Stage[main]/Puppet::Server::Install/Package[*puppet-server*]/ensure: > created > Error: /Stage[main]/Foreman::Config::Enc/File[/var/lib/puppet/yaml]: > Failed to generate additional resources using 'eval_generate: uninitialized > constant Puppet::FileSystem > Notice: > /Stage[main]/Foreman::Config::Enc/File[/var/lib/puppet/yaml]/ensure: created > Error: Could not back up /etc/sysconfig/ntpdate: uninitialized constant > Puppet::FileSystem > > > There's also a ticket open in PuppetLabs JIRA, here: > https://tickets.puppetlabs.com/browse/PUP-1603 > >
That is a pretty questionable manifest in that it may demand that Puppet update itself while it is running. At least Puppet's 'apply' face must be installed already, because you need to use it to apply the manifests presented (I presume one would not do it via the agent, though the same problem would apply in that case, too). Now suppose that either the current Puppet install was not performed via an OS package -- maybe it was a gem install, or even a source install -- or that the installed package is a lower version than the latest available "puppet-server" package. In that case, installing the "puppet-server" package likely demands that a matching "puppet", "puppet-agent", etc. package be installed as well, replacing the then-running code right underneath Puppet. That wouldn't necessarily be a big deal for a binary program that was already loaded into memory, but for Ruby (or Python or Perl ...) code, where some parts may not yet have been loaded, that's a problem waiting to happen. Moreover, it's a problem that might be tricky to reproduce, inasmuch as whether it manifests probably depends on details of the target system's initial state, details of the manifests being applied, and details of the packages available. John -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/18b1a6d9-7308-4b02-ac8f-48558b8af746%40googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.