Affects Version/s: FACT 2.4.5
Fix Version/s: None
We have found that the following change (https://github.com/puppetlabs/facter/commit/ec73549be0c26aab40a8968330726b369ab080f7) to the ipaddress fact seems to break testing of a fact within our ceph module.
We have a fact called osd_devices_list (https://github.com/openstack/fuel-library/blob/10efc0f9a1166085a51d75f7fdb67b9e97ab7812/deployment/puppet/ceph/lib/facter/ceph_osd.rb) that when testing is run under Facter 2.4.5, it fails because no data is being returned. It appears that when the ipaddress fact is calculated during the testing process, the osd_devices_list fact is executed and hits the the return on line 9 which results in a warning message:
Unable to add resolve nil for fact osd_devices_list: unexpected return
It seems as though because the ipaddress fact now attempts to pull a Facter.value("ipaddress_iface") in testing, our fact is being loaded which results in an invalid setting of osd_devices_list if sgdisk is not available on the system doing the testing and that invalid fact carries through in testing. I attempted to troubleshoot this and was able to pin point it to only the ipaddress.rb update that is causing this issue.
Here is the output of the testing with 2.4.5, http://paste.openstack.org/show/484744/
Here is the output of the testing with 2.4.4, http://paste.openstack.org/show/484745/
The test environment for this was on centos7 without sgdisk installed