pkgng_version fact breaks under facter 2.1.0
Closed this issue · 5 comments
I've just done an upgrade of my puppet clients to 3.6.2 which pulls in facter 2.1.0. After the upgrade the pkgng_version fact is broken:
% sudo facter -p pkgng_version
Could not retrieve fact='pkgng_version', resolution='<anonymous>': undefined method `pkgng_enabled' for Facter:Module
This results in the following errors on a puppet run:
Could not retrieve fact='pkgng_version', resolution='<anonymous>': undefined method `pkgng_enabled' for Facter:Module
Could not retrieve fact='pkgng_version', resolution='<anonymous>': undefined method `pkgng_enabled' for Facter:Module
Error: Could not retrieve catalog from remote server: Error 400 on SERVER: PKGng is either not supported on your system or it is too old at /etc/puppetlabs/puppet/modules/pkgng/manifests/init.pp:18 on node testbox.conundrum.com
Warning: Not using cache on failed catalog
Error: Could not retrieve catalog; skipping run
According to the facter 2.1 docs it looks like this line:
if Facter.pkgng_enabled
should be:
if Facter.value(:pkgng_enabled)
See: http://docs.puppetlabs.com/facter/2.1/custom_facts.html#using-other-facts
I don't see this issue on my servers. Could you point to the line of code where we use Facter.pkg_enabled
please? Everywhere I just looked seems to use Facter.value('pkgng_enabled').
# facter -p | grep pkg && puppet --version && facter --version && pkg --version
pkgng_enabled => true
pkgng_supported => true
pkgng_version => 1.3.0
3.6.2
2.1.0
1.3.0
In pkgng version 0.2.1, in lib/facter/pkgng.rb at line 29.
I just had a look at the repository and it looks like it's been fixed there, but it's not in the release.
I've just cut 0.2.2 to support this. Could you give a test and close this out if the issue is resolved? Sorry for the trouble.
Looks good. I'm now getting a new warning about multiple default providers being set.. I'll see if I can track that down and will open a new ticket if it turns out to be something on 0.2.2.
Thanks!