From d9a5870c8499e2480ccc42f120d6267a3f65f4a3 Mon Sep 17 00:00:00 2001 From: Trey Dockendorf Date: Sun, 6 Oct 2024 11:50:08 -0400 Subject: [PATCH] More updates --- .fixtures.yml | 20 ++-- .github/workflows/ci.yaml | 4 +- .rubocop.yml | 10 +- .sync.yml | 2 + Gemfile | 4 +- manifests/interface.pp | 83 ++++++++-------- manifests/opensm.pp | 5 +- manifests/service.pp | 8 +- manifests/srp.pp | 5 +- metadata.json | 2 +- spec/acceptance/nodesets/el8.yml | 4 +- spec/acceptance/nodesets/el9.yml | 4 +- spec/classes/opensm_spec.rb | 28 +++--- spec/classes/srp_spec.rb | 32 +++---- spec/defines/interface_spec.rb | 94 ++++++++++++++----- .../interface/ifcfg-bond-master-ibbond0 | 14 --- ...ifcfg-bond-master-ibbond0-no_nm_controlled | 13 --- .../defines/interface/ifcfg-bond-slave-ib0 | 13 --- .../ifcfg-bond-slave-ib0-no_nm_controlled | 12 --- .../defines/interface/ifcfg-bond-slave-ib1 | 13 --- .../ifcfg-bond-slave-ib1-no_nm_controlled | 12 --- .../interface/ifcfg-ib0_with_connected_mode | 12 --- ...g-ib0_with_connected_mode-no_nm_controlled | 11 --- .../defines/interface/ifcfg-ib0_with_gateway | 13 --- .../ifcfg-ib0_with_gateway-no_nm_controlled | 12 --- .../defines/interface/ifcfg-ib0_with_mtu | 13 --- .../ifcfg-ib0_with_mtu-no_nm_controlled | 12 --- .../interface/ifcfg-ib0_with_onboot_no | 12 --- .../ifcfg-ib0_with_onboot_no-no_nm_controlled | 11 --- .../ifcfg-ib0_without_connected_mode | 12 --- ...b0_without_connected_mode-no_nm_controlled | 11 --- spec/spec_helper.rb | 4 +- spec/spec_helper_acceptance.rb | 3 +- 33 files changed, 180 insertions(+), 328 deletions(-) delete mode 100644 spec/fixtures/defines/interface/ifcfg-bond-master-ibbond0 delete mode 100644 spec/fixtures/defines/interface/ifcfg-bond-master-ibbond0-no_nm_controlled delete mode 100644 spec/fixtures/defines/interface/ifcfg-bond-slave-ib0 delete mode 100644 spec/fixtures/defines/interface/ifcfg-bond-slave-ib0-no_nm_controlled delete mode 100644 spec/fixtures/defines/interface/ifcfg-bond-slave-ib1 delete mode 100644 spec/fixtures/defines/interface/ifcfg-bond-slave-ib1-no_nm_controlled delete mode 100644 spec/fixtures/defines/interface/ifcfg-ib0_with_connected_mode delete mode 100644 spec/fixtures/defines/interface/ifcfg-ib0_with_connected_mode-no_nm_controlled delete mode 100644 spec/fixtures/defines/interface/ifcfg-ib0_with_gateway delete mode 100644 spec/fixtures/defines/interface/ifcfg-ib0_with_gateway-no_nm_controlled delete mode 100644 spec/fixtures/defines/interface/ifcfg-ib0_with_mtu delete mode 100644 spec/fixtures/defines/interface/ifcfg-ib0_with_mtu-no_nm_controlled delete mode 100644 spec/fixtures/defines/interface/ifcfg-ib0_with_onboot_no delete mode 100644 spec/fixtures/defines/interface/ifcfg-ib0_with_onboot_no-no_nm_controlled delete mode 100644 spec/fixtures/defines/interface/ifcfg-ib0_without_connected_mode delete mode 100644 spec/fixtures/defines/interface/ifcfg-ib0_without_connected_mode-no_nm_controlled diff --git a/.fixtures.yml b/.fixtures.yml index cd7bd5f..3587040 100644 --- a/.fixtures.yml +++ b/.fixtures.yml @@ -1,20 +1,20 @@ fixtures: - repositories: + forge_modules: yumrepo_core: - repo: https://github.com/puppetlabs/puppetlabs-yumrepo_core.git + repo: puppetlabs/yumrepo_core stdlib: - repo: https://github.com/puppetlabs/puppetlabs-stdlib.git - ref: v8.6.0 + repo: puppetlabs/stdlib augeasproviders_core: - repo: https://github.com/voxpupuli/puppet-augeasproviders_core.git + repo: puppet/augeasproviders_core augeasproviders_shellvar: - repo: https://github.com/voxpupuli/puppet-augeasproviders_shellvar.git + repo: puppet/augeasproviders_shellvar systemd: - repo: https://github.com/voxpupuli/puppet-systemd.git + repo: puppet/systemd rsyslog: - repo: https://github.com/saz/puppet-rsyslog.git + repo: saz/rsyslog network: - repo: https://github.com/voxpupuli/puppet-network.git - ref: v2.1.0 + repo: puppet/network + filemapper: + repo: puppet/filemapper symlinks: mofed: "#{source_dir}" diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 59b1612..8c816e2 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -16,11 +16,11 @@ jobs: fail-fast: false matrix: include: - - ruby: 2.7.7 + - ruby: 2.7.8 puppet: 7 fixtures: .fixtures.yml allow_failure: false - - ruby: 3.2.2 + - ruby: 3.2.3 puppet: 8 fixtures: .fixtures.yml allow_failure: false diff --git a/.rubocop.yml b/.rubocop.yml index 3b93cd8..9f6b1ec 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -59,7 +59,15 @@ Style/TernaryParentheses: Style/TrailingCommaInArguments: Description: Prefer always trailing comma on multiline argument lists. This makes diffs, and re-ordering nicer. - EnforcedStyleForMultiline: comma + EnforcedStyleForMultiline: consistent_comma +Style/TrailingCommaInArrayLiteral: + Description: Prefer always trailing comma on multiline argument lists. This makes + diffs, and re-ordering nicer. + EnforcedStyleForMultiline: consistent_comma +Style/TrailingCommaInHashLiteral: + Description: Prefer always trailing comma on multiline argument lists. This makes + diffs, and re-ordering nicer. + EnforcedStyleForMultiline: consistent_comma Style/SymbolArray: Description: Using percent style obscures symbolic intent of array's contents. EnforcedStyle: brackets diff --git a/.sync.yml b/.sync.yml index fac1971..39882ff 100644 --- a/.sync.yml +++ b/.sync.yml @@ -7,6 +7,8 @@ appveyor.yml: delete: true spec/acceptance/nodesets/debian-11.yml: delete: true +spec/acceptance/nodesets/debian-12.yml: + delete: true spec/acceptance/nodesets/ubuntu-2004.yml: delete: true spec/acceptance/nodesets/ubuntu-2204.yml: diff --git a/Gemfile b/Gemfile index 60f2000..300688d 100644 --- a/Gemfile +++ b/Gemfile @@ -29,8 +29,8 @@ group :system_tests do gem "beaker-pe", require: false gem "beaker-hostgenerator" gem "beaker-rspec" - gem "beaker-docker" - gem "beaker-puppet" + gem "beaker-docker", git: 'https://github.com/treydock/beaker-docker.git', branch: 'amazon-2023' + gem "beaker-puppet", git: 'https://github.com/puppetlabs/beaker-puppet.git', ref: '6063d22b6c4449df795731f5853c3c75241240c4' gem "beaker-puppet_install_helper", require: false gem "beaker-module_install_helper", require: false end diff --git a/manifests/interface.pp b/manifests/interface.pp index 07a2f2b..8666e6f 100644 --- a/manifests/interface.pp +++ b/manifests/interface.pp @@ -37,7 +37,7 @@ Optional[Stdlib::IP::Address] $netmask = undef , Optional[Stdlib::IP::Address] $gateway = undef, Boolean $enable = true, - Optional[Variant[Boolean, Enum['yes','no']]] $nm_controlled = undef, + Optional[Enum['yes','no']] $nm_controlled = undef, Enum['yes', 'no'] $connected_mode = 'yes', Optional[Integer] $mtu = undef, Boolean $bonding = false, @@ -55,20 +55,10 @@ include mofed - $onboot = $enable ? { - true => 'yes', - false => 'no', - default => $enable, - } - - $options_extra_redhat = { - 'CONNECTED_MODE' => $connected_mode, - } - - if $facts['os']['family'] == 'RedHat' and versioncmp($facts['os']['release']['major'], '8') >= 0 { - $_nm_controlled = pick($nm_controlled, false) - } else { + if $facts['os']['family'] == 'RedHat' and versioncmp($facts['os']['release']['major'], '7') == 0 { $_nm_controlled = pick($nm_controlled, 'no') + } else { + $_nm_controlled = $nm_controlled } if $bonding { @@ -79,53 +69,54 @@ # Setup interfaces for the slaves $bonding_slaves.each |String $ifname| { network_config { $ifname: - ensure => $ensure, - onboot => $onboot, - master => $name, - slave => 'yes', - mtu => $mtu, - method => 'static', - hotplug => 'false', - options => { + ensure => $ensure, + onboot => $enable, + mtu => $mtu, + method => 'static', + hotplug => false, + options => { 'TYPE' => 'Infiniband', - 'NM_CONTROLLED' => $_nm_controlled, + 'MASTER' => $name, + 'SLAVE' => 'yes', 'CONNECTED_MODE' => $connected_mode, - } + 'NM_CONTROLLED' => $_nm_controlled, + }.filter |$k, $v| { $v =~ NotUndef }, } } # Setup the bonding interface network_config { $name: - ensure => $ensure, - onboot => $onboot, - ipaddress => $ipaddr, - netmask => $netmask, - bonding_master => 'yes', - bonding_opts => $bonding_opts, - mtu => $mtu, - method => 'static', - hotplug => 'false', - options => { + ensure => $ensure, + onboot => $enable, + ipaddress => $ipaddr, + netmask => $netmask, + mtu => $mtu, + method => 'static', + hotplug => false, + options => { 'TYPE' => 'Infiniband', - 'NM_CONTROLLED' => $_nm_controlled, + 'BONDING_MASTER' => 'yes', + 'BONDING_OPTS' => $bonding_opts, 'GATEWAY' => $gateway, 'CONNECTED_MODE' => $connected_mode, - } + 'NM_CONTROLLED' => $_nm_controlled, + }.filter |$k, $v| { $v =~ NotUndef }, } } else { network_config { $name: - ensure => $ensure, - onboot => $onboot, - ipaddress => $ipaddr, - netmask => $netmask, - mtu => $mtu, - method => 'static', - hotplug => 'false', - options => { + ensure => $ensure, + onboot => $enable, + ipaddress => $ipaddr, + netmask => $netmask, + mtu => $mtu, + method => 'static', + hotplug => false, + options => { 'TYPE' => 'Infiniband', - 'NM_CONTROLLED' => $_nm_controlled, + 'GATEWAY' => $gateway, 'CONNECTED_MODE' => $connected_mode, - } + 'NM_CONTROLLED' => $_nm_controlled, + }.filter |$k, $v| { $v =~ NotUndef }, } } } diff --git a/manifests/opensm.pp b/manifests/opensm.pp index 437c6a6..25b4e6a 100644 --- a/manifests/opensm.pp +++ b/manifests/opensm.pp @@ -25,18 +25,21 @@ 'present': { $package_ensure = 'present' $file_ensure = 'file' + $unit_ensure = 'present' $service_ensure = 'running' $service_enable = true } 'absent': { $package_ensure = 'absent' $file_ensure = 'absent' + $unit_ensure = 'absent' $service_ensure = 'stopped' $service_enable = false } 'disabled': { $package_ensure = 'present' $file_ensure = 'file' + $unit_ensure = 'present' $service_ensure = 'stopped' $service_enable = false } @@ -82,7 +85,7 @@ } systemd::unit_file { 'opensmd@.service': - ensure => $file_ensure, + ensure => $unit_ensure, source => 'puppet:///modules/mofed/opensm/opensmd@.service', } diff --git a/manifests/service.pp b/manifests/service.pp index 5df6848..47e0195 100644 --- a/manifests/service.pp +++ b/manifests/service.pp @@ -2,16 +2,10 @@ class mofed::service { assert_private() - if $mofed::openibd_service_enable in ['UNSET', 'undef'] { - $_enable = undef - } else { - $_enable = $mofed::openibd_service_enable - } - if $mofed::manage_service { service { 'openibd': ensure => $mofed::openibd_service_ensure, - enable => $_enable, + enable => $mofed::openibd_service_enable, name => $mofed::openibd_service_name, hasstatus => $mofed::openibd_service_hasstatus, hasrestart => $mofed::openibd_service_hasrestart, diff --git a/manifests/srp.pp b/manifests/srp.pp index c8019f7..eff90b6 100644 --- a/manifests/srp.pp +++ b/manifests/srp.pp @@ -29,6 +29,7 @@ $package_ensure = 'present' $file_ensure = 'file' $srp_load = 'yes' + $unit_ensure = 'present' $service_ensure = 'running' $service_enable = true } @@ -36,6 +37,7 @@ $package_ensure = 'absent' $file_ensure = 'absent' $srp_load = 'no' + $unit_ensure = 'absent' $service_ensure = 'stopped' $service_enable = false } @@ -43,6 +45,7 @@ $package_ensure = 'present' $file_ensure = 'file' $srp_load = 'yes' + $unit_ensure = 'present' $service_ensure = 'stopped' $service_enable = false } @@ -138,7 +141,7 @@ } systemd::unit_file { 'srpd@.service': - ensure => $file_ensure, + ensure => $unit_ensure, source => 'puppet:///modules/mofed/srp/srpd@.service', } diff --git a/metadata.json b/metadata.json index 879cd42..60dfb27 100644 --- a/metadata.json +++ b/metadata.json @@ -73,5 +73,5 @@ ], "pdk-version": "2.7.1", "template-url": "https://github.com/treydock/pdk-templates.git#master", - "template-ref": "heads/master-0-g52b1622" + "template-ref": "heads/master-0-gc7a6913" } diff --git a/spec/acceptance/nodesets/el8.yml b/spec/acceptance/nodesets/el8.yml index ee7a52a..35f2e0c 100644 --- a/spec/acceptance/nodesets/el8.yml +++ b/spec/acceptance/nodesets/el8.yml @@ -1,10 +1,10 @@ HOSTS: - rocky-8: + el8: roles: - agent platform: el-8-x86_64 hypervisor: docker - image: almalinux:8 + image: rockylinux:8 docker_preserve_image: true docker_cmd: - '/usr/sbin/init' diff --git a/spec/acceptance/nodesets/el9.yml b/spec/acceptance/nodesets/el9.yml index ec01b85..9c23e17 100644 --- a/spec/acceptance/nodesets/el9.yml +++ b/spec/acceptance/nodesets/el9.yml @@ -1,10 +1,10 @@ HOSTS: - almalinux-9: + el9: roles: - agent platform: el-9-x86_64 hypervisor: docker - image: almalinux:9 + image: rockylinux:9 docker_preserve_image: true docker_cmd: - '/usr/sbin/init' diff --git a/spec/classes/opensm_spec.rb b/spec/classes/opensm_spec.rb index 0d89ced..b2a08c1 100644 --- a/spec/classes/opensm_spec.rb +++ b/spec/classes/opensm_spec.rb @@ -16,7 +16,7 @@ it do is_expected.to contain_package('opensm').with(ensure: 'present', - require: 'Class[Mofed::Repo]') + require: 'Class[Mofed::Repo]',) end it do @@ -24,13 +24,13 @@ owner: 'root', group: 'root', mode: '0644', - require: 'Package[opensm]') + require: 'Package[opensm]',) end it do verify_exact_contents(catalogue, '/etc/sysconfig/opensm', [ - 'SWEEP=10' - ]) + 'SWEEP=10', + ],) end it do @@ -38,7 +38,7 @@ enable: 'true', hasstatus: 'true', hasrestart: 'true', - subscribe: 'File[/etc/sysconfig/opensm]') + subscribe: 'File[/etc/sysconfig/opensm]',) end it do @@ -48,7 +48,7 @@ context 'when ports defined' do let(:params) do { - ports: ['mlx5_0 1', 'mlx5_0 2'] + ports: ['mlx5_0 1', 'mlx5_0 2'], } end @@ -58,8 +58,8 @@ verify_exact_contents(catalogue, '/etc/sysconfig/opensm', [ 'SWEEP=10', 'PORT_1=mlx5_0 1', - 'PORT_2=mlx5_0 2' - ]) + 'PORT_2=mlx5_0 2', + ],) end it do @@ -67,12 +67,12 @@ enable: 'false', hasstatus: 'true', hasrestart: 'true', - require: 'Package[opensm]') + require: 'Package[opensm]',) end if facts[:operatingsystemrelease].to_i >= 7.0 it do - is_expected.to contain_systemd__unit_file('opensmd@.service').with_ensure('file') + is_expected.to contain_systemd__unit_file('opensmd@.service').with_ensure('present') end it do @@ -80,7 +80,7 @@ enable: 'true', hasstatus: 'true', hasrestart: 'true', - subscribe: ['File[/etc/sysconfig/opensm]', 'Systemd::Unit_file[opensmd@.service]']) + subscribe: ['File[/etc/sysconfig/opensm]', 'Systemd::Unit_file[opensmd@.service]'],) end it do @@ -88,7 +88,7 @@ enable: 'true', hasstatus: 'true', hasrestart: 'true', - subscribe: ['File[/etc/sysconfig/opensm]', 'Systemd::Unit_file[opensmd@.service]']) + subscribe: ['File[/etc/sysconfig/opensm]', 'Systemd::Unit_file[opensmd@.service]'],) end end end @@ -105,7 +105,7 @@ let(:params) do { ensure: 'disabled', - ports: ['mlx5_0 1', 'mlx5_0 2'] + ports: ['mlx5_0 1', 'mlx5_0 2'], } end @@ -137,7 +137,7 @@ let(:params) do { ensure: 'absent', - ports: ['mlx5_0 1', 'mlx5_0 2'] + ports: ['mlx5_0 1', 'mlx5_0 2'], } end diff --git a/spec/classes/srp_spec.rb b/spec/classes/srp_spec.rb index 577fc37..9efd952 100644 --- a/spec/classes/srp_spec.rb +++ b/spec/classes/srp_spec.rb @@ -16,7 +16,7 @@ it do is_expected.to contain_package('srptools').with(ensure: 'present', - require: 'Class[Mofed::Repo]') + require: 'Class[Mofed::Repo]',) end it do @@ -30,12 +30,12 @@ it do is_expected.to contain_file('/etc/rsyslog.d/srp_daemon.conf').with(ensure: 'absent', - require: 'Package[srptools]') + require: 'Package[srptools]',) end it do is_expected.to contain_rsyslog__snippet('60_srp_daemon.conf').with(ensure: 'file', - require: 'Package[srptools]') + require: 'Package[srptools]',) end it do @@ -43,7 +43,7 @@ owner: 'root', group: 'root', mode: '0644', - require: 'Package[srptools]') + require: 'Package[srptools]',) end it do @@ -55,7 +55,7 @@ owner: 'root', group: 'root', mode: '0644', - require: 'Package[srptools]') + require: 'Package[srptools]',) end it do @@ -64,7 +64,7 @@ it do is_expected.to contain_file('/etc/modprobe.d/ib_srp.conf').with(ensure: 'absent', - require: 'Package[srptools]') + require: 'Package[srptools]',) end it do @@ -72,7 +72,7 @@ enable: 'true', hasstatus: 'true', hasrestart: 'true', - require: 'Package[srptools]') + require: 'Package[srptools]',) end it do @@ -82,7 +82,7 @@ context 'when ports defined' do let(:params) do { - ports: ['mlx5_0 1', 'mlx5_0 2'] + ports: ['mlx5_0 1', 'mlx5_0 2'], } end @@ -91,8 +91,8 @@ it do verify_exact_contents(catalogue, '/etc/sysconfig/srpd', [ 'PORT_1=mlx5_0 1', - 'PORT_2=mlx5_0 2' - ]) + 'PORT_2=mlx5_0 2', + ],) end it do @@ -100,12 +100,12 @@ enable: 'false', hasstatus: 'true', hasrestart: 'true', - require: 'Package[srptools]') + require: 'Package[srptools]',) end if facts[:operatingsystemrelease].to_i >= 7.0 it do - is_expected.to contain_systemd__unit_file('srpd@.service').with_ensure('file') + is_expected.to contain_systemd__unit_file('srpd@.service').with_ensure('present') end it do @@ -114,7 +114,7 @@ hasstatus: 'true', hasrestart: 'true', require: ['File[/etc/modprobe.d/ib_srp.conf]'], - subscribe: ['File[/etc/sysconfig/srpd]', 'File[/etc/srp_daemon.conf]', 'Systemd::Unit_file[srpd@.service]']) + subscribe: ['File[/etc/sysconfig/srpd]', 'File[/etc/srp_daemon.conf]', 'Systemd::Unit_file[srpd@.service]'],) end it do @@ -123,7 +123,7 @@ hasstatus: 'true', hasrestart: 'true', require: ['File[/etc/modprobe.d/ib_srp.conf]'], - subscribe: ['File[/etc/sysconfig/srpd]', 'File[/etc/srp_daemon.conf]', 'Systemd::Unit_file[srpd@.service]']) + subscribe: ['File[/etc/sysconfig/srpd]', 'File[/etc/srp_daemon.conf]', 'Systemd::Unit_file[srpd@.service]'],) end end end @@ -141,7 +141,7 @@ let(:params) do { ensure: 'disabled', - ports: ['mlx5_0 1', 'mlx5_0 2'] + ports: ['mlx5_0 1', 'mlx5_0 2'], } end @@ -174,7 +174,7 @@ let(:params) do { ensure: 'absent', - ports: ['mlx5_0 1', 'mlx5_0 2'] + ports: ['mlx5_0 1', 'mlx5_0 2'], } end diff --git a/spec/defines/interface_spec.rb b/spec/defines/interface_spec.rb index 15f7c16..583a654 100644 --- a/spec/defines/interface_spec.rb +++ b/spec/defines/interface_spec.rb @@ -16,7 +16,7 @@ let :default_params do { ipaddr: '192.168.1.1', - netmask: '255.255.255.0' + netmask: '255.255.255.0', } end @@ -24,30 +24,34 @@ default_params end - let :fixture_suffix do - if facts[:os]['family'] == 'RedHat' && facts[:os]['release']['major'].to_i >= 8 - '-no_nm_controlled' + let :nm_controlled do + if facts[:os]['family'] == 'RedHat' && facts[:os]['release']['major'].to_s == '7' + { 'NM_CONTROLLED' => 'no' } else - '' + {} end end it do - is_expected.to contain_file('/etc/sysconfig/network-scripts/ifcfg-ib0').with('ensure' => 'present', - 'owner' => 'root', - 'group' => 'root', - 'mode' => '0644') - end - - it do - is_expected.to contain_file('/etc/sysconfig/network-scripts/ifcfg-ib0') \ - .with_content(my_fixture_read("ifcfg-ib0_with_connected_mode#{fixture_suffix}")) + is_expected.to contain_network_config('ib0').with( + ensure: 'present', + onboot: true, + ipaddress: '192.168.1.1', + netmask: '255.255.255.0', + mtu: nil, + method: 'static', + hotplug: false, + options: { + 'TYPE' => 'Infiniband', + 'CONNECTED_MODE' => 'yes', + }.merge(nm_controlled), + ) end context 'when ensure => absent' do let(:params) { { ensure: 'absent' } } - it { is_expected.to contain_file('/etc/sysconfig/network-scripts/ifcfg-ib0').with_ensure('absent') } + it { is_expected.to contain_network_config('ib0').with_ensure('absent') } end context 'when enable => false' do @@ -55,7 +59,7 @@ default_params.merge(enable: false) end - it { is_expected.to contain_file('/etc/sysconfig/network-scripts/ifcfg-ib0').with_content(my_fixture_read("ifcfg-ib0_with_onboot_no#{fixture_suffix}")) } + it { is_expected.to contain_network_config('ib0').with_onboot(false) } end context 'when connected_mode => no' do @@ -63,7 +67,7 @@ default_params.merge(connected_mode: 'no') end - it { is_expected.to contain_file('/etc/sysconfig/network-scripts/ifcfg-ib0').with_content(my_fixture_read("ifcfg-ib0_without_connected_mode#{fixture_suffix}")) } + it { is_expected.to contain_network_config('ib0').with_options({ 'TYPE' => 'Infiniband', 'CONNECTED_MODE' => 'no' }.merge(nm_controlled)) } end context 'when mtu => 65520' do @@ -71,7 +75,7 @@ default_params.merge(mtu: 65_520) end - it { is_expected.to contain_file('/etc/sysconfig/network-scripts/ifcfg-ib0').with_content(my_fixture_read("ifcfg-ib0_with_mtu#{fixture_suffix}")) } + it { is_expected.to contain_network_config('ib0').with_mtu(65_520) } end context 'when gateway => 192.168.1.254' do @@ -79,7 +83,7 @@ default_params.merge(gateway: '192.168.1.254') end - it { is_expected.to contain_file('/etc/sysconfig/network-scripts/ifcfg-ib0').with_content(my_fixture_read("ifcfg-ib0_with_gateway#{fixture_suffix}")) } + it { is_expected.to contain_network_config('ib0').with_options({ 'TYPE' => 'Infiniband', 'GATEWAY' => '192.168.1.254', 'CONNECTED_MODE' => 'yes' }.merge(nm_controlled)) } end context 'when bonding => true' do @@ -91,11 +95,53 @@ default_params.merge(bonding: true, bonding_slaves: ['ib0', 'ib1'], mtu: 65_520) end - it { - is_expected.to contain_file('/etc/sysconfig/network-scripts/ifcfg-ib0').with_content(my_fixture_read("ifcfg-bond-slave-ib0#{fixture_suffix}")) - is_expected.to contain_file('/etc/sysconfig/network-scripts/ifcfg-ib1').with_content(my_fixture_read("ifcfg-bond-slave-ib1#{fixture_suffix}")) - is_expected.to contain_file('/etc/sysconfig/network-scripts/ifcfg-ibbond0').with_content(my_fixture_read("ifcfg-bond-master-ibbond0#{fixture_suffix}")) - } + it do + is_expected.to contain_network_config('ib0').with( + ensure: 'present', + onboot: true, + mtu: 65_520, + method: 'static', + hotplug: false, + options: { + 'TYPE' => 'Infiniband', + 'MASTER' => 'ibbond0', + 'SLAVE' => 'yes', + 'CONNECTED_MODE' => 'yes', + }.merge(nm_controlled), + ) + end + + it do + is_expected.to contain_network_config('ib1').with( + ensure: 'present', + onboot: true, + mtu: 65_520, + method: 'static', + hotplug: false, + options: { + 'TYPE' => 'Infiniband', + 'MASTER' => 'ibbond0', + 'SLAVE' => 'yes', + 'CONNECTED_MODE' => 'yes', + }.merge(nm_controlled), + ) + end + + it do + is_expected.to contain_network_config('ibbond0').with( + ensure: 'present', + onboot: true, + mtu: 65_520, + method: 'static', + hotplug: false, + options: { + 'TYPE' => 'Infiniband', + 'BONDING_MASTER' => 'yes', + 'BONDING_OPTS' => 'mode=active-backup miimon=100', + 'CONNECTED_MODE' => 'yes', + }.merge(nm_controlled), + ) + end end context 'when bonding => true, no slave interfaces' do diff --git a/spec/fixtures/defines/interface/ifcfg-bond-master-ibbond0 b/spec/fixtures/defines/interface/ifcfg-bond-master-ibbond0 deleted file mode 100644 index 45b0bca..0000000 --- a/spec/fixtures/defines/interface/ifcfg-bond-master-ibbond0 +++ /dev/null @@ -1,14 +0,0 @@ -# File Managed by Puppet -DEVICE="ibbond0" -BOOTPROTO="none" -ONBOOT="yes" -TYPE="Bond" -USERCTL="no" -PEERDNS="no" -PEERNTP="no" -IPADDR="192.168.1.1" -NETMASK="255.255.255.0" -NM_CONTROLLED="no" -BONDING_MASTER="yes" -BONDING_OPTS="mode=active-backup miimon=100" -MTU="65520" diff --git a/spec/fixtures/defines/interface/ifcfg-bond-master-ibbond0-no_nm_controlled b/spec/fixtures/defines/interface/ifcfg-bond-master-ibbond0-no_nm_controlled deleted file mode 100644 index f242aac..0000000 --- a/spec/fixtures/defines/interface/ifcfg-bond-master-ibbond0-no_nm_controlled +++ /dev/null @@ -1,13 +0,0 @@ -# File Managed by Puppet -DEVICE="ibbond0" -BOOTPROTO="none" -ONBOOT="yes" -TYPE="Bond" -USERCTL="no" -PEERDNS="no" -PEERNTP="no" -IPADDR="192.168.1.1" -NETMASK="255.255.255.0" -BONDING_MASTER="yes" -BONDING_OPTS="mode=active-backup miimon=100" -MTU="65520" diff --git a/spec/fixtures/defines/interface/ifcfg-bond-slave-ib0 b/spec/fixtures/defines/interface/ifcfg-bond-slave-ib0 deleted file mode 100644 index 1126612..0000000 --- a/spec/fixtures/defines/interface/ifcfg-bond-slave-ib0 +++ /dev/null @@ -1,13 +0,0 @@ -# File Managed by Puppet -DEVICE="ib0" -BOOTPROTO="none" -ONBOOT="yes" -TYPE="InfiniBand" -USERCTL="no" -PEERDNS="no" -PEERNTP="no" -NM_CONTROLLED="no" -MASTER="ibbond0" -SLAVE="yes" -MTU="65520" -CONNECTED_MODE="yes" diff --git a/spec/fixtures/defines/interface/ifcfg-bond-slave-ib0-no_nm_controlled b/spec/fixtures/defines/interface/ifcfg-bond-slave-ib0-no_nm_controlled deleted file mode 100644 index 63f8315..0000000 --- a/spec/fixtures/defines/interface/ifcfg-bond-slave-ib0-no_nm_controlled +++ /dev/null @@ -1,12 +0,0 @@ -# File Managed by Puppet -DEVICE="ib0" -BOOTPROTO="none" -ONBOOT="yes" -TYPE="InfiniBand" -USERCTL="no" -PEERDNS="no" -PEERNTP="no" -MASTER="ibbond0" -SLAVE="yes" -MTU="65520" -CONNECTED_MODE="yes" diff --git a/spec/fixtures/defines/interface/ifcfg-bond-slave-ib1 b/spec/fixtures/defines/interface/ifcfg-bond-slave-ib1 deleted file mode 100644 index 01066c4..0000000 --- a/spec/fixtures/defines/interface/ifcfg-bond-slave-ib1 +++ /dev/null @@ -1,13 +0,0 @@ -# File Managed by Puppet -DEVICE="ib1" -BOOTPROTO="none" -ONBOOT="yes" -TYPE="InfiniBand" -USERCTL="no" -PEERDNS="no" -PEERNTP="no" -NM_CONTROLLED="no" -MASTER="ibbond0" -SLAVE="yes" -MTU="65520" -CONNECTED_MODE="yes" diff --git a/spec/fixtures/defines/interface/ifcfg-bond-slave-ib1-no_nm_controlled b/spec/fixtures/defines/interface/ifcfg-bond-slave-ib1-no_nm_controlled deleted file mode 100644 index 55f8df9..0000000 --- a/spec/fixtures/defines/interface/ifcfg-bond-slave-ib1-no_nm_controlled +++ /dev/null @@ -1,12 +0,0 @@ -# File Managed by Puppet -DEVICE="ib1" -BOOTPROTO="none" -ONBOOT="yes" -TYPE="InfiniBand" -USERCTL="no" -PEERDNS="no" -PEERNTP="no" -MASTER="ibbond0" -SLAVE="yes" -MTU="65520" -CONNECTED_MODE="yes" diff --git a/spec/fixtures/defines/interface/ifcfg-ib0_with_connected_mode b/spec/fixtures/defines/interface/ifcfg-ib0_with_connected_mode deleted file mode 100644 index 67dd6fc..0000000 --- a/spec/fixtures/defines/interface/ifcfg-ib0_with_connected_mode +++ /dev/null @@ -1,12 +0,0 @@ -# File Managed by Puppet -DEVICE="ib0" -BOOTPROTO="none" -ONBOOT="yes" -TYPE="InfiniBand" -USERCTL="no" -PEERDNS="no" -PEERNTP="no" -IPADDR="192.168.1.1" -NETMASK="255.255.255.0" -NM_CONTROLLED="no" -CONNECTED_MODE="yes" diff --git a/spec/fixtures/defines/interface/ifcfg-ib0_with_connected_mode-no_nm_controlled b/spec/fixtures/defines/interface/ifcfg-ib0_with_connected_mode-no_nm_controlled deleted file mode 100644 index 9f8e600..0000000 --- a/spec/fixtures/defines/interface/ifcfg-ib0_with_connected_mode-no_nm_controlled +++ /dev/null @@ -1,11 +0,0 @@ -# File Managed by Puppet -DEVICE="ib0" -BOOTPROTO="none" -ONBOOT="yes" -TYPE="InfiniBand" -USERCTL="no" -PEERDNS="no" -PEERNTP="no" -IPADDR="192.168.1.1" -NETMASK="255.255.255.0" -CONNECTED_MODE="yes" diff --git a/spec/fixtures/defines/interface/ifcfg-ib0_with_gateway b/spec/fixtures/defines/interface/ifcfg-ib0_with_gateway deleted file mode 100644 index f86d0fd..0000000 --- a/spec/fixtures/defines/interface/ifcfg-ib0_with_gateway +++ /dev/null @@ -1,13 +0,0 @@ -# File Managed by Puppet -DEVICE="ib0" -BOOTPROTO="none" -ONBOOT="yes" -TYPE="InfiniBand" -USERCTL="no" -PEERDNS="no" -PEERNTP="no" -IPADDR="192.168.1.1" -NETMASK="255.255.255.0" -GATEWAY="192.168.1.254" -NM_CONTROLLED="no" -CONNECTED_MODE="yes" diff --git a/spec/fixtures/defines/interface/ifcfg-ib0_with_gateway-no_nm_controlled b/spec/fixtures/defines/interface/ifcfg-ib0_with_gateway-no_nm_controlled deleted file mode 100644 index e66ff35..0000000 --- a/spec/fixtures/defines/interface/ifcfg-ib0_with_gateway-no_nm_controlled +++ /dev/null @@ -1,12 +0,0 @@ -# File Managed by Puppet -DEVICE="ib0" -BOOTPROTO="none" -ONBOOT="yes" -TYPE="InfiniBand" -USERCTL="no" -PEERDNS="no" -PEERNTP="no" -IPADDR="192.168.1.1" -NETMASK="255.255.255.0" -GATEWAY="192.168.1.254" -CONNECTED_MODE="yes" diff --git a/spec/fixtures/defines/interface/ifcfg-ib0_with_mtu b/spec/fixtures/defines/interface/ifcfg-ib0_with_mtu deleted file mode 100644 index 396b00f..0000000 --- a/spec/fixtures/defines/interface/ifcfg-ib0_with_mtu +++ /dev/null @@ -1,13 +0,0 @@ -# File Managed by Puppet -DEVICE="ib0" -BOOTPROTO="none" -ONBOOT="yes" -TYPE="InfiniBand" -USERCTL="no" -PEERDNS="no" -PEERNTP="no" -IPADDR="192.168.1.1" -NETMASK="255.255.255.0" -NM_CONTROLLED="no" -MTU="65520" -CONNECTED_MODE="yes" diff --git a/spec/fixtures/defines/interface/ifcfg-ib0_with_mtu-no_nm_controlled b/spec/fixtures/defines/interface/ifcfg-ib0_with_mtu-no_nm_controlled deleted file mode 100644 index c6b11c1..0000000 --- a/spec/fixtures/defines/interface/ifcfg-ib0_with_mtu-no_nm_controlled +++ /dev/null @@ -1,12 +0,0 @@ -# File Managed by Puppet -DEVICE="ib0" -BOOTPROTO="none" -ONBOOT="yes" -TYPE="InfiniBand" -USERCTL="no" -PEERDNS="no" -PEERNTP="no" -IPADDR="192.168.1.1" -NETMASK="255.255.255.0" -MTU="65520" -CONNECTED_MODE="yes" diff --git a/spec/fixtures/defines/interface/ifcfg-ib0_with_onboot_no b/spec/fixtures/defines/interface/ifcfg-ib0_with_onboot_no deleted file mode 100644 index 7f9fed6..0000000 --- a/spec/fixtures/defines/interface/ifcfg-ib0_with_onboot_no +++ /dev/null @@ -1,12 +0,0 @@ -# File Managed by Puppet -DEVICE="ib0" -BOOTPROTO="none" -ONBOOT="no" -TYPE="InfiniBand" -USERCTL="no" -PEERDNS="no" -PEERNTP="no" -IPADDR="192.168.1.1" -NETMASK="255.255.255.0" -NM_CONTROLLED="no" -CONNECTED_MODE="yes" diff --git a/spec/fixtures/defines/interface/ifcfg-ib0_with_onboot_no-no_nm_controlled b/spec/fixtures/defines/interface/ifcfg-ib0_with_onboot_no-no_nm_controlled deleted file mode 100644 index 82ee47c..0000000 --- a/spec/fixtures/defines/interface/ifcfg-ib0_with_onboot_no-no_nm_controlled +++ /dev/null @@ -1,11 +0,0 @@ -# File Managed by Puppet -DEVICE="ib0" -BOOTPROTO="none" -ONBOOT="no" -TYPE="InfiniBand" -USERCTL="no" -PEERDNS="no" -PEERNTP="no" -IPADDR="192.168.1.1" -NETMASK="255.255.255.0" -CONNECTED_MODE="yes" diff --git a/spec/fixtures/defines/interface/ifcfg-ib0_without_connected_mode b/spec/fixtures/defines/interface/ifcfg-ib0_without_connected_mode deleted file mode 100644 index 61d66da..0000000 --- a/spec/fixtures/defines/interface/ifcfg-ib0_without_connected_mode +++ /dev/null @@ -1,12 +0,0 @@ -# File Managed by Puppet -DEVICE="ib0" -BOOTPROTO="none" -ONBOOT="yes" -TYPE="InfiniBand" -USERCTL="no" -PEERDNS="no" -PEERNTP="no" -IPADDR="192.168.1.1" -NETMASK="255.255.255.0" -NM_CONTROLLED="no" -CONNECTED_MODE="no" diff --git a/spec/fixtures/defines/interface/ifcfg-ib0_without_connected_mode-no_nm_controlled b/spec/fixtures/defines/interface/ifcfg-ib0_without_connected_mode-no_nm_controlled deleted file mode 100644 index ff0c5a2..0000000 --- a/spec/fixtures/defines/interface/ifcfg-ib0_without_connected_mode-no_nm_controlled +++ /dev/null @@ -1,11 +0,0 @@ -# File Managed by Puppet -DEVICE="ib0" -BOOTPROTO="none" -ONBOOT="yes" -TYPE="InfiniBand" -USERCTL="no" -PEERDNS="no" -PEERNTP="no" -IPADDR="192.168.1.1" -NETMASK="255.255.255.0" -CONNECTED_MODE="no" diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 7272754..c854cc5 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -13,12 +13,12 @@ default_facts = { puppetversion: Puppet.version, - facterversion: Facter.version + facterversion: Facter.version, } default_fact_files = [ File.expand_path(File.join(File.dirname(__FILE__), 'default_facts.yml')), - File.expand_path(File.join(File.dirname(__FILE__), 'default_module_facts.yml')) + File.expand_path(File.join(File.dirname(__FILE__), 'default_module_facts.yml')), ] default_fact_files.each do |f| diff --git a/spec/spec_helper_acceptance.rb b/spec/spec_helper_acceptance.rb index d0d3a82..09cf9fa 100644 --- a/spec/spec_helper_acceptance.rb +++ b/spec/spec_helper_acceptance.rb @@ -9,7 +9,8 @@ Dir["#{dir}/acceptance/shared_examples/**/*.rb"].sort.each { |f| require f } require 'spec_helper_acceptance_local' if File.file?(File.join(File.dirname(__FILE__), 'spec_helper_acceptance_local.rb')) -run_puppet_install_helper +run_puppet_install_helper unless ENV['BEAKER_set'] == 'debian-12' +on hosts, 'apt install -y puppet-agent' if ENV['BEAKER_set'] == 'debian-12' install_module_on(hosts) install_module_dependencies_on(hosts)