From: adrianiurca <adrian.iurca@gmail.com> Date: Mon, 5 Jul 2021 10:34:49 +0000 (+0300) Subject: mac_source is downcased by iptables X-Git-Tag: v3.0.2~3^2 X-Git-Url: https://review.fuel-infra.org/gitweb?a=commitdiff_plain;h=c1bde17219c744da09ca4bd991002a41208f51af;p=puppet-modules%2Fpuppetlabs-firewall.git mac_source is downcased by iptables --- diff --git a/lib/puppet/type/firewall.rb b/lib/puppet/type/firewall.rb index ba1b799..58fd41d 100644 --- a/lib/puppet/type/firewall.rb +++ b/lib/puppet/type/firewall.rb @@ -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 diff --git a/spec/acceptance/firewall_attributes_exceptions_spec.rb b/spec/acceptance/firewall_attributes_exceptions_spec.rb index 67e59c2..cf5f144 100644 --- a/spec/acceptance/firewall_attributes_exceptions_spec.rb +++ b/spec/acceptance/firewall_attributes_exceptions_spec.rb @@ -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