voxpupuli/puppet-pkgng

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!