Issue #3234 has been updated by Trey Dockendorf.
I just experienced this problem. Right after enabling storedconfigs all my
hosts began to fail with the following message
err Could not retrieve catalog from remote server: Error 400 on SERVER:
undefined method `fact_merge' for nil:NilClass
err Could not retrieve catalog; skipping run Puppet
notice Using cached catalog
My server is running 2.6.9 and the clients are a mix of 2.6.8 and 2.6.9.
The puppetmaster has this in the logs..please let me know what other
information may be useful
undefined method `fact_merge' for nil:NilClass
----------------------------------------
Bug #3234: err: Could not retrieve catalog: undefined method `fact_merge' for
nil:NilClass
https://projects.puppetlabs.com/issues/3234
Author: Joe McDonagh
Status: Investigating
Priority: Normal
Assignee: Joe McDonagh
Category:
Target version:
Affected Puppet version: 0.25.4
Keywords: storedconfigs
Branch:
Ever since I upgraded to .25.4 I keep getting the error on *new* nodes until I
restart the *master*
<pre>
bash-4.0# puppetd -dt
debug: Creating default schedules
debug: Failed to load library 'shadow' for feature 'libshadow'
debug: /Settings[/etc/puppet/puppet.conf]/Settings[main]/File[/var/puppet/lib]:
Autorequiring File[/var/puppet]
debug:
/Settings[/etc/puppet/puppet.conf]/Settings[ssl]/File[/var/puppet/ssl/public_keys]:
Autorequiring File[/var/puppet/ssl]
debug:
/Settings[/etc/puppet/puppet.conf]/Settings[ssl]/File[/var/puppet/ssl/private_keys]:
Autorequiring File[/var/puppet/ssl]
debug:
/Settings[/etc/puppet/puppet.conf]/Settings[ssl]/File[/var/puppet/ssl/private_keys/somemachine.com.pem]:
Autorequiring File[/var/puppet/ssl/private_keys]
debug:
/Settings[/etc/puppet/puppet.conf]/Settings[puppetd]/File[/etc/puppet/puppet.conf]:
Autorequiring File[/etc/puppet]
debug:
/Settings[/etc/puppet/puppet.conf]/Settings[main]/File[/var/puppet/state]:
Autorequiring File[/var/puppet]
debug:
/Settings[/etc/puppet/puppet.conf]/Settings[main]/File[/var/puppet/facts]:
Autorequiring File[/var/puppet]
debug:
/Settings[/etc/puppet/puppet.conf]/Settings[main]/File[/var/puppet/plugins]:
Autorequiring File[/var/puppet]
debug: /Settings[/etc/puppet/puppet.conf]/Settings[main]/File[/var/puppet/ssl]:
Autorequiring File[/var/puppet]
debug:
/Settings[/etc/puppet/puppet.conf]/Settings[ssl]/File[/var/puppet/ssl/certs]:
Autorequiring File[/var/puppet/ssl]
debug:
/Settings[/etc/puppet/puppet.conf]/Settings[main]/File[/etc/puppet/namespaceauth.conf]:
Autorequiring File[/etc/puppet]
debug:
/Settings[/etc/puppet/puppet.conf]/Settings[ssl]/File[/var/puppet/ssl/private]:
Autorequiring File[/var/puppet/ssl]
debug:
/Settings[/etc/puppet/puppet.conf]/Settings[ssl]/File[/var/puppet/ssl/certs/ca.pem]:
Autorequiring File[/var/puppet/ssl/certs]
debug:
/Settings[/etc/puppet/puppet.conf]/Settings[ssl]/File[/var/puppet/ssl/somemachine.com.pem]:
Autorequiring File[/var/puppet/ssl]
debug: Finishing transaction 1053198210 with 0 changes
debug: Calling puppetca.getcert
warning: peer certificate won't be verified in this SSL session
notice: Got signed certificate
debug: Retrieved facts in 2.37 seconds
debug: Retrieving catalog
debug: Calling puppetmaster.getconfig
err: Could not retrieve catalog: undefined method `fact_merge' for nil:NilClass
warning: Not using cache on failed catalog
</pre>
Weird? So then I restart the master.
<pre>
bash-4.0# puppetd -dt
debug: Creating default schedules
debug: Failed to load library 'shadow' for feature 'libshadow'
debug:
/Settings[/etc/puppet/puppet.conf]/Settings[main]/File[/var/puppet/plugins]:
Autorequiring File[/var/puppet]
debug:
/Settings[/etc/puppet/puppet.conf]/Settings[ssl]/File[/var/puppet/ssl/public_keys]:
Autorequiring File[/var/puppet/ssl]
debug:
/Settings[/etc/puppet/puppet.conf]/Settings[ssl]/File[/var/puppet/ssl/private_keys]:
Autorequiring File[/var/puppet/ssl]
debug:
/Settings[/etc/puppet/puppet.conf]/Settings[main]/File[/var/puppet/state]:
Autorequiring File[/var/puppet]
debug:
/Settings[/etc/puppet/puppet.conf]/Settings[main]/File[/var/puppet/facts]:
Autorequiring File[/var/puppet]
debug: /Settings[/etc/puppet/puppet.conf]/Settings[main]/File[/var/puppet/lib]:
Autorequiring File[/var/puppet]
debug: /Settings[/etc/puppet/puppet.conf]/Settings[main]/File[/var/puppet/ssl]:
Autorequiring File[/var/puppet]
debug:
/Settings[/etc/puppet/puppet.conf]/Settings[ssl]/File[/var/puppet/ssl/somemachine.com.pem]:
Autorequiring File[/var/puppet/ssl]
debug:
/Settings[/etc/puppet/puppet.conf]/Settings[ssl]/File[/var/puppet/ssl/certs/somemachine.com.pem]:
Autorequiring File[/var/puppet/ssl/certs]
debug:
/Settings[/etc/puppet/puppet.conf]/Settings[ssl]/File[/var/puppet/ssl/certs]:
Autorequiring File[/var/puppet/ssl]
debug:
/Settings[/etc/puppet/puppet.conf]/Settings[ssl]/File[/var/puppet/ssl/private]:
Autorequiring File[/var/puppet/ssl]
debug:
/Settings[/etc/puppet/puppet.conf]/Settings[puppetd]/File[/etc/puppet/puppet.conf]:
Autorequiring File[/etc/puppet]
debug:
/Settings[/etc/puppet/puppet.conf]/Settings[main]/File[/etc/puppet/namespaceauth.conf]:
Autorequiring File[/etc/puppet]
debug:
/Settings[/etc/puppet/puppet.conf]/Settings[ssl]/File[/var/puppet/ssl/certs/ca.pem]:
Autorequiring File[/var/puppet/ssl/certs]
debug:
/Settings[/etc/puppet/puppet.conf]/Settings[ssl]/File[/var/puppet/ssl/private_keys/somemachine.com.pem]:
Autorequiring File[/var/puppet/ssl/private_keys]
debug: Finishing transaction -1015757078 with 0 changes
debug: Retrieved facts in 2.03 seconds
debug: Retrieving catalog
debug: Calling puppetmaster.getconfig
err: Could not retrieve catalog: Could not parse for environment development:
Could not find file /etc/puppet/manifests/site.pp
warning: Not using cache on failed catalog
</pre>
OOPS forgot this is OpenBSD so it's on a .24.8 or something and defaulting to
the dev environment. However this has been happening *even on .25.4 clients*,
which every Linux machine I have is on. Then I add --environment production and
it runs fine except for the mounts without paths problem when you use .24.8
against .25 masters.
Please note that I have stored configs running on my master. This has happened
on the four or so machines I have provisioned since I upgraded to .25.4. This
is the first OpenBSD one, but it seems like that is an insignificant detail.
My process for new nodes is:
1. Generate a key on my puppet dev server
2. Add node def to nodes.pp in prod environment
3. Run "cap deploy" which is basically just a distributed checkout, then rsync
to /etc/puppet from the checkout
--
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.