Facter release notes
This page documents the history of the Facter 3.9 series.
Facter 3.9.6
Released April 17, 2018.
This is a bug-fix release that shipped with Puppet Platform 5.3.6.
Bug fixes
-
The
uptimefact for Windows now usesGetTickCount64, which is more reliable, minimizes clock skews, and offers better resolution than the previous method of computing using WMI BootUptime. (FACT-1504) -
Facter 3.9.6 properly checks for errors when gathering disk information on AIX, and no longer warns or reports bogus results for devices assigned to special uses, such as databases. (FACT-1597)
-
Facter 3.9.6 reports MAC addresses on infiniband interfaces. (FACT-1761)
Facter 3.9.5
Released February 14, 2018.
This is a bug-fix release that shipped with Puppet Platform 5.3.5.
Bug fixes
- Facter 3.9.5 updates its virtualization resolvers to recognize the SMBIOS data reported by Amazon’s newer kvm-based hypervisor, which is used with c5 instances. Facter now reports the hypervisor as
kvmfor these cases, allowing c5 instances to be detected as virtual and filling theec2_metadatafact.
Facter 3.9.4
Released February 5, 2018.
This is a bug-fix release that shipped with Puppet Platform 5.3.4.
Bug fixes
-
Facter correctly reports the
is_virtualandvirtualfacts on FreeBSD Proxmox virtual machines. -
Facter no longer attempts to check the
dmidecodefact in Linux systems running on POWER architectures. -
Facter can interpret YAML or JSON output from external facts written in Powershell as structured facts.
Facter 3.9.3
Released November 6, 2017.
This is a bug-fix release that shipped with Puppet Platform 5.3.3.
Bug fixes
Facter 3.9.3 resolves issues on Power8 architectures and with custom fact evaluation.
-
On Power8 architectures, previous versions of Facter reported inaccurate counts of logical and physical processors in the
processorsfact. Facter 3.9.3 resolves the issue by using the/sys/devices/system/cpudirectory to compute only the physical CPU count, and computes the logical CPU count by incrementing the number of processor entries in/proc/cpuinfo.Also, previous versions of Facter used the wrong fields of
/proc/cpu/infoon Power8 architectures when determining the CPU model and clock speed. Facter 3.9.3 correctly uses thecpuandclockfields when populating relevant facts. -
Since Facter 3.6, Facter evaluated custom facts from Puppet twice. Facter 3.9.3 resolves this issue by evaluating them only once, which significantly reduces the time required to evaluate facts.
Facter 3.9.2
Released October 2, 2017.
This is a bug-fix release of Facter and libwhereami that addresses potential fatal errors in the new hypervisors fact. Facter 3.9.1 was not publicly released.
Bug fix: Fix hypervisors fact resolution when run inside some Windows VMs
When running Facter 3.9.0 in virtualized Windows environments where Windows Management Instrumentation (WMI) values were only partially available, for instance on an OpenStack VM, Facter exited with a fatal unhandled exception: unable to get from empty array of objects error. Facter 3.9.2 resolves this issue.
Bug fix: Prevent failed fact resolutions from stopping Facter
In previous versions of Facter, a failed fact resolution could halt Facter. Facter 3.9.2 resolves this issue by displaying failures as warnings and continuing to resolve other facts.
Bug fix: Allow hypervisors fact to be blocked
The experimental hypervisors fact introduced in Facter 3.9.0 can cause Facter to fail in some virtualization environments. In Facter 3.9.2, you can block this fact in facter.conf.
Other bug fixes
- FACT-1765, PA-1466: Don’t report warnings about a missing dmidecode component on Power8 systems, which don’t use dmidecode.
Facter 3.9.0
Released September 13, 2017.
This is a feature and bug-fix release of Facter.
Known issues
- FACT-1749: The
hypervisorsfact introduced in Facter 3.9.0 can cause Facter to fail in virtualized Windows environments where Windows Management Instrumentation (WMI) values are only partially available, for instance on an OpenStack VM.
New Features
-
FACT-1742: Facter 3.9.0 adds a new
hypervisorsfact for virtualization providers that uses libwhereami, an optional new dependency enabled by default in Puppet Platform 5.2 builds of Facter.The new fact recognizes multiple hypervisors in nested virtualization environments, and includes metadata about each hypervisor where available. The
hypervisorsfact and libwhereami are the first steps toward improved virtualzation support in future releases of Facter. They also reduce its dependence on the external toolvirt-what, which has a few detection bugs and requires root to run.This new feature should therefore also remediate discrepancies in Facter’s output when run as root and as a non-root user under virtualized environments.