From 98e22544f3ef11ab3d7548b13f74e7c170da42ff Mon Sep 17 00:00:00 2001 From: Vadym Chepkov Date: Sat, 14 Oct 2023 06:15:00 -0400 Subject: [PATCH] (PUP-11976) adjust package/service providers for Amazon Linux 2023 --- lib/puppet/provider/package/dnf.rb | 1 + lib/puppet/provider/service/systemd.rb | 6 +++--- spec/unit/provider/package/dnf_spec.rb | 7 +++++++ spec/unit/provider/service/systemd_spec.rb | 12 +++++++----- 4 files changed, 18 insertions(+), 8 deletions(-) diff --git a/lib/puppet/provider/package/dnf.rb b/lib/puppet/provider/package/dnf.rb index 8d1e3117e96..adb0faf4bf9 100644 --- a/lib/puppet/provider/package/dnf.rb +++ b/lib/puppet/provider/package/dnf.rb @@ -33,6 +33,7 @@ notdefaultfor 'os.name' => :fedora, 'os.release.major' => (19..21).to_a defaultfor 'os.family' => :redhat notdefaultfor 'os.family' => :redhat, 'os.release.major' => (4..7).to_a + defaultfor 'os.name' => :amazon, 'os.release.major' => ["2023"] def self.update_command # In DNF, update is deprecated for upgrade diff --git a/lib/puppet/provider/service/systemd.rb b/lib/puppet/provider/service/systemd.rb index abc1a2653b8..fd8c16d77aa 100644 --- a/lib/puppet/provider/service/systemd.rb +++ b/lib/puppet/provider/service/systemd.rb @@ -19,7 +19,7 @@ defaultfor 'os.family' => :redhat, 'os.name' => :fedora defaultfor 'os.family' => :suse defaultfor 'os.family' => :coreos - defaultfor 'os.name' => :amazon, 'os.release.major' => ["2"] + defaultfor 'os.name' => :amazon, 'os.release.major' => ["2", "2023"] defaultfor 'os.name' => :debian notdefaultfor 'os.name' => :debian, 'os.release.major' => ["5", "6", "7"] # These are using the "debian" method defaultfor 'os.name' => :LinuxMint @@ -40,8 +40,8 @@ def self.instances return [] end - # Static services cannot be enabled or disabled manually. Indirect services - # should not be enabled or disabled due to limitations in systemd (see + # Static services cannot be enabled or disabled manually. Indirect services + # should not be enabled or disabled due to limitations in systemd (see # https://github.com/systemd/systemd/issues/6681). def enabled_insync?(current) case cached_enabled?[:output] diff --git a/spec/unit/provider/package/dnf_spec.rb b/spec/unit/provider/package/dnf_spec.rb index a95a6012303..9332d4200f6 100644 --- a/spec/unit/provider/package/dnf_spec.rb +++ b/spec/unit/provider/package/dnf_spec.rb @@ -42,6 +42,13 @@ allow(Facter).to receive(:value).with('os.release.major').and_return("8") expect(described_class).to be_default end + + it "should be the default provider on Amazon Linux 2023" do + allow(Facter).to receive(:value).with('os.family').and_return(:redhat) + allow(Facter).to receive(:value).with('os.name').and_return(:amazon) + allow(Facter).to receive(:value).with('os.release.major').and_return("2023") + expect(described_class).to be_default + end end describe 'provider features' do diff --git a/spec/unit/provider/service/systemd_spec.rb b/spec/unit/provider/service/systemd_spec.rb index 0cda0e8ba58..3f5d5c5f377 100644 --- a/spec/unit/provider/service/systemd_spec.rb +++ b/spec/unit/provider/service/systemd_spec.rb @@ -56,11 +56,13 @@ end end - it "should be the default provider on Amazon Linux 2.0" do - allow(Facter).to receive(:value).with('os.family').and_return(:redhat) - allow(Facter).to receive(:value).with('os.name').and_return(:amazon) - allow(Facter).to receive(:value).with('os.release.major').and_return("2") - expect(provider_class).to be_default + [ 2, 2023 ].each do |ver| + it "should be the default provider on Amazon Linux #{ver}" do + allow(Facter).to receive(:value).with('os.family').and_return(:redhat) + allow(Facter).to receive(:value).with('os.name').and_return(:amazon) + allow(Facter).to receive(:value).with('os.release.major').and_return("#{ver}") + expect(provider_class).to be_default + end end it "should not be the default provider on Amazon Linux 2017.09" do