]> review.fuel-infra Code Review - puppet-modules/puppetlabs-firewall.git/commitdiff
mac_source is downcased by iptables mac_source-idempotency
authoradrianiurca <adrian.iurca@gmail.com>
Mon, 5 Jul 2021 10:34:49 +0000 (13:34 +0300)
committeradrianiurca <adrian.iurca@gmail.com>
Mon, 5 Jul 2021 14:22:38 +0000 (17:22 +0300)
lib/puppet/type/firewall.rb
spec/acceptance/firewall_attributes_exceptions_spec.rb

index ba1b79904dc4d182b87af7ad0aea81d1476b425a..58fd41d722c4c5cdce784e49049e33ebfd92ff32 100644 (file)
@@ -1850,6 +1850,13 @@ Puppet::Type.newtype(:firewall) do
       MAC Source
     PUPPETCODE
     newvalues(%r{^([0-9a-f]{2}[:]){5}([0-9a-f]{2})$}i)
+    facter_os_name = Facter.fact(:os).value['name'].downcase
+    facter_os_release = Facter.fact(:os).value['release']['major'].to_i
+    if facter_os_name == 'sles' && facter_os_release == 15
+      munge do |value|
+        _value = value.downcase
+      end
+    end
   end
 
   newproperty(:physdev_in, required_features: :iptables) do
index 67e59c2aa2d544d5e767bfc818b7f2258f5aaa13..cf5f1449191fd0ae98c34ebdf23824396807f27c 100644 (file)
@@ -337,14 +337,14 @@ describe 'firewall basics', docker: true do
           }
       PUPPETCODE
       it 'applies' do
-        apply_manifest(pp88, catch_failures: true)
+        idempotent_apply(pp88)
       end
       it 'contains the rule' do
         run_shell('iptables-save') do |r|
           if os[:family] == 'redhat' && os[:release].start_with?('5')
             expect(r.stdout).to match(%r{-A INPUT -s 10.1.5.28 -p tcp -m mac --mac-source 0A:1B:3C:4D:5E:6F -m comment --comment "610 - test"})
           else
-            expect(r.stdout).to match(%r{-A INPUT -s 10.1.5.28\/(32|255\.255\.255\.255) -p tcp -m mac --mac-source 0A:1B:3C:4D:5E:6F -m comment --comment "610 - test"})
+            expect(r.stdout).to match(%r{-A INPUT -s 10.1.5.28\/(32|255\.255\.255\.255) -p tcp -m mac --mac-source 0(a|A):1(b|B):3(c|C):4(d|D):5(e|E):6(f|F) -m comment --comment "610 - test"})
           end
         end
       end