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.

Reply via email to