Skip to content

Commit d01ecd6

Browse files
committed
(PUP-11430) Exclude legacy facts by default for Puppet 8
This PR excludes legacy facts by default by setting :include_legacy_facts to false and updates tests to reflect this behavior.
1 parent ccc13fe commit d01ecd6

File tree

4 files changed

+13
-6
lines changed

4 files changed

+13
-6
lines changed

lib/puppet/defaults.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1720,7 +1720,7 @@ def self.initialize_default_settings!(settings)
17201720
},
17211721
:include_legacy_facts => {
17221722
:type => :boolean,
1723-
:default => true,
1723+
:default => false,
17241724
:desc => "Whether to include legacy facts when requesting a catalog. This
17251725
option can be set to false provided all puppet manifests, hiera.yaml and hiera
17261726
configuration layers no longer access legacy facts, such as `$osfamily`, and

spec/integration/application/agent_spec.rb

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -908,6 +908,13 @@ def copy_fixtures(sources, dest)
908908
# `Facter.resolve` to omit legacy facts
909909
Puppet::Node::Facts.indirection.terminus_class = :facter
910910

911+
# need to use `Facter::OptionStore.reset` in order to reset
912+
# Facter::OptionStore since Facter.clear does not reset it.
913+
# Specifically, Options[:show_legacy] needs to be reset to
914+
# true for legacy facts test below
915+
Facter.clear
916+
Facter::OptionStore.reset
917+
911918
facter_dir = File.join(custom_dir, 'facter')
912919
FileUtils.mkdir_p(facter_dir)
913920
File.write(File.join(facter_dir, 'custom.rb'), <<~END)
@@ -962,9 +969,10 @@ def mounts
962969
}
963970
end
964971

965-
it "includes legacy facts by default" do
972+
it "can include legacy facts" do
966973
server.start_server(mounts: mounts) do |port|
967974
Puppet[:serverport] = port
975+
Puppet[:include_legacy_facts] = true
968976

969977
agent.command_line.args << '--test'
970978
expect {
@@ -978,10 +986,9 @@ def mounts
978986
end
979987
end
980988

981-
it "can exclude legacy facts" do
989+
it "excludes legacy facts by default" do
982990
server.start_server(mounts: mounts) do |port|
983991
Puppet[:serverport] = port
984-
Puppet[:include_legacy_facts] = false
985992

986993
agent.command_line.args << '--test'
987994
expect {

spec/integration/node/facts_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
it "should be able to delegate to the :facter terminus" do
3131
allow(Puppet::Node::Facts.indirection).to receive(:terminus_class).and_return(:facter)
3232

33-
expect(Facter).to receive(:to_hash).and_return("facter_hash")
33+
expect(Facter).to receive(:resolve).and_return("facter_hash")
3434
facts = Puppet::Node::Facts.new("me")
3535
expect(Puppet::Node::Facts).to receive(:new).with("me", "facter_hash").and_return(facts)
3636

spec/unit/indirector/facts/facter_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@
6363
end
6464

6565
it "should return the Facter facts as the values in the Facts instance" do
66-
expect(Facter).to receive(:to_hash).and_return("one" => "two")
66+
expect(Facter).to receive(:resolve).and_return("one" => "two")
6767
facts = @facter.find(@request)
6868
expect(facts.values["one"]).to eq("two")
6969
end

0 commit comments

Comments
 (0)