| Puppet agents send core facts to puppetserver in two forms (legacy and structured). In a default agent install, legacy facts account for 25% of the overall fact data when serialized on the wire. The actual savings depends on the number of mountpoints, network interfaces and processors, since facter adds one legacy fact per instance. And legacy facts cause problems for puppetserver when using ERB templates because of the way top-scope variables are bound to instance variables in the scope. See PUP-9577 Most of the puppet ecosystem has moved to structured facts, for example, there is a puppet-lint plugin to find and correct legacy fact usage in puppet code: https://github.com/mmckinst/puppet-lint-legacy_facts-check This ticket is to allow the agent to exclude legacy facts that it sends to puppetserver. The default behavior should remain the same in 7.x and in 8.0 we can exclude legacy facts by default (see PUP-11430). |