Tangential to this, the timing of these changes is going to complicate and slow migration to Puppet 7/Facter 4. Many folks use {facter -p fact} in various scripts and other tools. With puppet 6/facter 3, {puppet facts show fact} isn't workable, only {facter -p fact} . Puppet 7 adds a (mostly; this bug aside) working {puppet facts show fact}. However, Puppet 7 requires Facter 4, which fully deprecates {facter -p fact}. In order to effect the upgrade from Puppet 6 to Puppet 7 (and Facter 4), all places where {facter -p fact} is used will need to first check what version of Puppet is installed, and then call {facter -p fact} or {puppet facts show fact} as appropriate. And if the output of {puppet facts show} isn't changed to match {facter -p}, additional logic will be needed to handle the extra parsing required. I expect it's too late for this, but it would have eased things considerably if there was an overlap during which both {facter -p} and {puppet facts show} worked (with the same output, of course), say by having Puppet 7 support Facter 3 and 4. Then the process would be simpler, as we could update to Puppet 7, roll that out, then update tooling to use {puppet facts show} everywhere, roll those out, then update to Facter 4 (by which time all uses of {facter -p} have been fixed). |