From f797bff240e88b91bd8648ee8c41862397ea6254 Mon Sep 17 00:00:00 2001 From: Markus Opolka Date: Wed, 30 Oct 2019 22:18:59 +0100 Subject: [PATCH] Add support for Debian Unstable - Added operatingsystemrelease unstable with netfilter service and package - Extended rspec tests for Debian --- lib/facter/iptables_persistent_version.rb | 3 +- manifests/params.pp | 5 +- .../classes/firewall_linux_debian_spec.rb | 63 +++++++++++++++++++ 3 files changed, 69 insertions(+), 2 deletions(-) diff --git a/lib/facter/iptables_persistent_version.rb b/lib/facter/iptables_persistent_version.rb index 01290f1..7e9ffd0 100644 --- a/lib/facter/iptables_persistent_version.rb +++ b/lib/facter/iptables_persistent_version.rb @@ -6,7 +6,8 @@ Facter.add(:iptables_persistent_version) do os = Facter.value(:operatingsystem) os_release = Facter.value(:operatingsystemrelease) cmd = if (os == 'Debian' && (Puppet::Util::Package.versioncmp(os_release, '8.0') >= 0)) || - (os == 'Ubuntu' && (Puppet::Util::Package.versioncmp(os_release, '14.10') >= 0)) + (os == 'Ubuntu' && (Puppet::Util::Package.versioncmp(os_release, '14.10') >= 0)) || + (os == 'Debian' && (Puppet::Util::Package.versioncmp(os_release, 'unstable') >= 0)) "dpkg-query -Wf '${Version}' netfilter-persistent 2>/dev/null" else "dpkg-query -Wf '${Version}' iptables-persistent 2>/dev/null" diff --git a/manifests/params.pp b/manifests/params.pp index 5e873c7..b687150 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -47,7 +47,10 @@ class firewall::params { $service_name_v6 = undef case $::operatingsystem { 'Debian': { - if versioncmp($::operatingsystemrelease, '8.0') >= 0 { + if versioncmp($::operatingsystemrelease, 'unstable') >= 0 { + $service_name = 'netfilter-persistent' + $package_name = 'netfilter-persistent' + } elsif versioncmp($::operatingsystemrelease, '8.0') >= 0 { $service_name = 'netfilter-persistent' $package_name = 'iptables-persistent' } else { diff --git a/spec/unit/classes/firewall_linux_debian_spec.rb b/spec/unit/classes/firewall_linux_debian_spec.rb index a58e3c5..38fc7ed 100644 --- a/spec/unit/classes/firewall_linux_debian_spec.rb +++ b/spec/unit/classes/firewall_linux_debian_spec.rb @@ -80,4 +80,67 @@ describe 'firewall::linux::debian', type: :class do ) } end + + context 'with Debian 10' do + let(:facts) do + { + osfamily: 'Debian', + operatingsystem: 'Debian', + operatingsystemrelease: '10.0', + } + end + + it { + is_expected.to contain_package('iptables-persistent').with( + ensure: 'present', + ) + } + it { + is_expected.to contain_service('netfilter-persistent').with( + ensure: nil, + enable: 'true', + require: 'Package[iptables-persistent]', + ) + } + end + + context 'with Debian 10, enable => false' do + let(:facts) do + { + osfamily: 'Debian', + operatingsystem: 'Debian', + operatingsystemrelease: '10', + } + end + let(:params) { { enable: 'false' } } + + it { + is_expected.to contain_service('netfilter-persistent').with( + enable: 'false', + ) + } + end + + context 'with Debian unstable' do + let(:facts) do + { + osfamily: 'Debian', + operatingsystem: 'Debian', + operatingsystemrelease: 'unstable', + } + end + + it { + is_expected.to contain_package('netfilter-persistent').with( + ensure: 'present', + ) + } + it { + is_expected.to contain_service('netfilter-persistent').with( + ensure: nil, + enable: 'true', + require: 'Package[netfilter-persistent]', + ) + } + end end -- 2.45.2