From 1c42f4205e566c7a766e7bdeeff0867592cbbdc2 Mon Sep 17 00:00:00 2001 From: William Yardley Date: Wed, 30 Aug 2017 15:40:46 -0700 Subject: [PATCH] switch to structured facts for os* and rabbitmq_version --- manifests/config.pp | 10 +++++----- manifests/init.pp | 2 +- manifests/params.pp | 4 ++-- manifests/repo/rhel.pp | 2 +- spec/acceptance/class_spec.rb | 10 +++++----- spec/acceptance/clustering_spec.rb | 4 ++-- spec/acceptance/delete_guest_user_spec.rb | 2 +- spec/acceptance/parameter_spec.rb | 2 +- spec/acceptance/policy_spec.rb | 2 +- spec/acceptance/queue_spec.rb | 6 +++--- spec/acceptance/rabbitmqadmin_spec.rb | 8 ++++---- spec/acceptance/server_spec.rb | 10 +++++----- spec/acceptance/user_spec.rb | 2 +- spec/acceptance/vhost_spec.rb | 2 +- spec/classes/rabbitmq_spec.rb | 24 +++++++++++++---------- spec/spec_helper_acceptance.rb | 6 +++--- 16 files changed, 50 insertions(+), 46 deletions(-) diff --git a/manifests/config.pp b/manifests/config.pp index 28c098823..ed4cbaef9 100644 --- a/manifests/config.pp +++ b/manifests/config.pp @@ -132,8 +132,8 @@ # Get ranch (socket acceptor pool) availability, # Now that we have to rely on the fact, this may cause some chicken / egg # or idempotency problems - if $::rabbitmq_version { - $ranch = versioncmp($::rabbitmq_version, '3.6') >= 0 + if $facts['rabbitmq_version'] { + $ranch = versioncmp($facts['rabbitmq_version'], '3.6') >= 0 } file { '/etc/rabbitmq': @@ -192,9 +192,9 @@ } } - case $::osfamily { + case $facts['os']['family'] { 'Debian': { - if versioncmp($::operatingsystemmajrelease, '16.04') >= 0 { + if versioncmp($facts['os']['release']['full'], '16.04') >= 0 { file { '/etc/systemd/system/rabbitmq-server.service.d': ensure => directory, owner => '0', @@ -225,7 +225,7 @@ } } 'RedHat': { - if versioncmp($::operatingsystemmajrelease, '7') >= 0 { + if versioncmp($facts['os']['release']['major'], '7') >= 0 { file { '/etc/systemd/system/rabbitmq-server.service.d': ensure => directory, owner => '0', diff --git a/manifests/init.pp b/manifests/init.pp index aa49bec08..197cf9911 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -132,7 +132,7 @@ } if $repos_ensure { - case $::osfamily { + case $facts['os']['family'] { 'RedHat': { class { '::rabbitmq::repo::rhel': key_source => $package_gpg_key, diff --git a/manifests/params.pp b/manifests/params.pp index 46a09a2f9..189993bd6 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -4,7 +4,7 @@ # class rabbitmq::params { - case $::osfamily { + case $facts['os']['family'] { 'Archlinux': { $package_ensure = 'installed' $package_name = 'rabbitmq' @@ -54,7 +54,7 @@ $rabbitmq_home = '/var/lib/rabbitmq' } default: { - fail("The ${module_name} module is not supported on an ${::osfamily} based system.") + fail("The ${module_name} module is not supported on an ${facts['os']['family']} based system.") } } diff --git a/manifests/repo/rhel.pp b/manifests/repo/rhel.pp index 6b2e91bfd..5072f4b68 100644 --- a/manifests/repo/rhel.pp +++ b/manifests/repo/rhel.pp @@ -1,7 +1,7 @@ # Class: rabbitmq::repo::rhel # Makes sure that the Packagecloud repo is installed class rabbitmq::repo::rhel( - $location = "https://packagecloud.io/rabbitmq/rabbitmq-server/el/${::os[release][major]}/\$basearch", + $location = "https://packagecloud.io/rabbitmq/rabbitmq-server/el/${facts['os'][release][major]}/\$basearch", $key_source = 'https://www.rabbitmq.com/rabbitmq-release-signing-key.asc', ) { diff --git a/spec/acceptance/class_spec.rb b/spec/acceptance/class_spec.rb index 6b7f91adf..1ec9ef85b 100644 --- a/spec/acceptance/class_spec.rb +++ b/spec/acceptance/class_spec.rb @@ -1,7 +1,7 @@ require 'spec_helper_acceptance' describe 'rabbitmq class:' do - case fact('osfamily') + case fact('os.family') when 'RedHat' package_name = 'rabbitmq-server' service_name = 'rabbitmq-server' @@ -20,7 +20,7 @@ it 'runs successfully' do pp = <<-EOS class { 'rabbitmq': } - if $::osfamily == 'RedHat' { + if $facts['os']['family'] == 'RedHat' { class { 'erlang': epel_enable => true} Class['erlang'] -> Class['rabbitmq'] } @@ -47,7 +47,7 @@ class { 'erlang': epel_enable => true} class { 'rabbitmq': service_ensure => 'stopped', } - if $::osfamily == 'RedHat' { + if $facts['os']['family'] == 'RedHat' { class { 'erlang': epel_enable => true} Class['erlang'] -> Class['rabbitmq'] } @@ -66,7 +66,7 @@ class { 'erlang': epel_enable => true} it 'runs successfully' do pp_pre = <<-EOS class { 'rabbitmq': } - if $::osfamily == 'RedHat' { + if $facts['os']['family'] == 'RedHat' { class { 'erlang': epel_enable => true} Class['erlang'] -> Class['rabbitmq'] } @@ -77,7 +77,7 @@ class { 'rabbitmq': service_manage => false, service_ensure => 'stopped', } - if $::osfamily == 'RedHat' { + if $facts['os']['family'] == 'RedHat' { class { 'erlang': epel_enable => true} Class['erlang'] -> Class['rabbitmq'] } diff --git a/spec/acceptance/clustering_spec.rb b/spec/acceptance/clustering_spec.rb index 9d1539f04..204eef052 100644 --- a/spec/acceptance/clustering_spec.rb +++ b/spec/acceptance/clustering_spec.rb @@ -11,7 +11,7 @@ class { 'rabbitmq': erlang_cookie => 'TESTCOOKIE', wipe_db_on_cookie_change => false, } - if $::osfamily == 'RedHat' { + if $facts['os']['family'] == 'RedHat' { class { 'erlang': epel_enable => true} Class['erlang'] -> Class['rabbitmq'] } @@ -34,7 +34,7 @@ class { 'rabbitmq': erlang_cookie => 'TESTCOOKIE', wipe_db_on_cookie_change => true, } - if $::osfamily == 'RedHat' { + if $facts['os']['family'] == 'RedHat' { class { 'erlang': epel_enable => true} Class['erlang'] -> Class['rabbitmq'] } diff --git a/spec/acceptance/delete_guest_user_spec.rb b/spec/acceptance/delete_guest_user_spec.rb index 462160edb..f8a6bc0f4 100644 --- a/spec/acceptance/delete_guest_user_spec.rb +++ b/spec/acceptance/delete_guest_user_spec.rb @@ -8,7 +8,7 @@ class { 'rabbitmq': port => 5672, delete_guest_user => true, } - if $::osfamily == 'RedHat' { + if $facts['os']['family'] == 'RedHat' { class { 'erlang': epel_enable => true} Class['erlang'] -> Class['rabbitmq'] } diff --git a/spec/acceptance/parameter_spec.rb b/spec/acceptance/parameter_spec.rb index e80ad70df..2a4400b32 100644 --- a/spec/acceptance/parameter_spec.rb +++ b/spec/acceptance/parameter_spec.rb @@ -4,7 +4,7 @@ context 'create parameter resource' do it 'runs successfully' do pp = <<-EOS - if $::osfamily == 'RedHat' { + if $facts['os']['family'] == 'RedHat' { class { 'erlang': epel_enable => true } Class['erlang'] -> Class['::rabbitmq'] } diff --git a/spec/acceptance/policy_spec.rb b/spec/acceptance/policy_spec.rb index aca77f813..b0e5b0450 100644 --- a/spec/acceptance/policy_spec.rb +++ b/spec/acceptance/policy_spec.rb @@ -4,7 +4,7 @@ context 'create policy resource' do it 'runs successfully' do pp = <<-EOS - if $::osfamily == 'RedHat' { + if $facts['os']['family'] == 'RedHat' { class { 'erlang': epel_enable => true } Class['erlang'] -> Class['::rabbitmq'] } diff --git a/spec/acceptance/queue_spec.rb b/spec/acceptance/queue_spec.rb index ffa9d003e..07c2b2b6f 100644 --- a/spec/acceptance/queue_spec.rb +++ b/spec/acceptance/queue_spec.rb @@ -4,7 +4,7 @@ context 'create binding and queue resources when using default management port' do it 'runs successfully' do pp = <<-EOS - if $::osfamily == 'RedHat' { + if $facts['os']['family'] == 'RedHat' { class { 'erlang': epel_enable => true } Class['erlang'] -> Class['::rabbitmq'] } @@ -78,7 +78,7 @@ class { '::rabbitmq': context 'create multiple bindings when same source / destination / vhost but different routing keys' do it 'runs successfully' do pp = <<-EOS - if $::osfamily == 'RedHat' { + if $facts['os']['family'] == 'RedHat' { class { 'erlang': epel_enable => true } Class['erlang'] -> Class['::rabbitmq'] } @@ -160,7 +160,7 @@ class { '::rabbitmq': context 'create binding and queue resources when using a non-default management port' do it 'runs successfully' do pp = <<-EOS - if $::osfamily == 'RedHat' { + if $facts['os']['family'] == 'RedHat' { class { 'erlang': epel_enable => true } Class['erlang'] -> Class['::rabbitmq'] } diff --git a/spec/acceptance/rabbitmqadmin_spec.rb b/spec/acceptance/rabbitmqadmin_spec.rb index fb1b0d192..149e42374 100644 --- a/spec/acceptance/rabbitmqadmin_spec.rb +++ b/spec/acceptance/rabbitmqadmin_spec.rb @@ -8,7 +8,7 @@ class { 'rabbitmq': admin_enable => true, service_manage => true, } - if $::osfamily == 'RedHat' { + if $facts['os']['family'] == 'RedHat' { class { 'erlang': epel_enable => true} Class['erlang'] -> Class['rabbitmq'] } @@ -29,7 +29,7 @@ class { 'rabbitmq': admin_enable => true, service_manage => false, } - if $::osfamily == 'RedHat' { + if $facts['os']['family'] == 'RedHat' { class { 'erlang': epel_enable => true} Class['erlang'] -> Class['rabbitmq'] } @@ -53,7 +53,7 @@ class { 'rabbitmq': default_user => 'foobar', default_pass => 'bazblam', } - if $::osfamily == 'RedHat' { + if $facts['os']['family'] == 'RedHat' { class { 'erlang': epel_enable => true} Class['erlang'] -> Class['rabbitmq'] } @@ -66,7 +66,7 @@ class { 'rabbitmq': default_user => 'foobar', default_pass => 'bazblam', } - if $::osfamily == 'RedHat' { + if $facts['os']['family'] == 'RedHat' { class { 'erlang': epel_enable => true} Class['erlang'] -> Class['rabbitmq'] } diff --git a/spec/acceptance/server_spec.rb b/spec/acceptance/server_spec.rb index 120c9d3f3..5ac29bfee 100644 --- a/spec/acceptance/server_spec.rb +++ b/spec/acceptance/server_spec.rb @@ -1,7 +1,7 @@ require 'spec_helper_acceptance' describe 'rabbitmq server:' do - case fact('osfamily') + case fact('os.family') when 'RedHat' package_name = 'rabbitmq-server' service_name = 'rabbitmq-server' @@ -20,7 +20,7 @@ it 'runs successfully' do pp = <<-EOS class { 'rabbitmq::server': } - if $::osfamily == 'RedHat' { + if $facts['os']['family'] == 'RedHat' { class { 'erlang': epel_enable => true} Class['erlang'] -> Class['rabbitmq::server'] } @@ -47,7 +47,7 @@ class { 'erlang': epel_enable => true} class { 'rabbitmq::server': service_ensure => 'stopped', } - if $::osfamily == 'RedHat' { + if $facts['os']['family'] == 'RedHat' { class { 'erlang': epel_enable => true} Class['erlang'] -> Class['rabbitmq::server'] } @@ -66,7 +66,7 @@ class { 'erlang': epel_enable => true} it 'runs successfully' do pp_pre = <<-EOS class { 'rabbitmq::server': } - if $::osfamily == 'RedHat' { + if $facts['os']['family'] == 'RedHat' { class { 'erlang': epel_enable => true} Class['erlang'] -> Class['rabbitmq::server'] } @@ -77,7 +77,7 @@ class { 'rabbitmq::server': service_manage => false, service_ensure => 'stopped', } - if $::osfamily == 'RedHat' { + if $facts['os']['family'] == 'RedHat' { class { 'erlang': epel_enable => true} Class['erlang'] -> Class['rabbitmq::server'] } diff --git a/spec/acceptance/user_spec.rb b/spec/acceptance/user_spec.rb index b8e09aea7..39aed98c2 100644 --- a/spec/acceptance/user_spec.rb +++ b/spec/acceptance/user_spec.rb @@ -4,7 +4,7 @@ context 'create user resource' do it 'runs successfully' do pp = <<-EOS - if $::osfamily == 'RedHat' { + if $facts['os']['family'] == 'RedHat' { class { 'erlang': epel_enable => true } Class['erlang'] -> Class['::rabbitmq'] } diff --git a/spec/acceptance/vhost_spec.rb b/spec/acceptance/vhost_spec.rb index 6b5fad161..fde322136 100644 --- a/spec/acceptance/vhost_spec.rb +++ b/spec/acceptance/vhost_spec.rb @@ -4,7 +4,7 @@ context 'create vhost resource' do it 'runs successfully' do pp = <<-EOS - if $::osfamily == 'RedHat' { + if $facts['os']['family'] == 'RedHat' { class { 'erlang': epel_enable => true } Class['erlang'] -> Class['::rabbitmq'] } diff --git a/spec/classes/rabbitmq_spec.rb b/spec/classes/rabbitmq_spec.rb index 94b29834a..ba0f1b742 100644 --- a/spec/classes/rabbitmq_spec.rb +++ b/spec/classes/rabbitmq_spec.rb @@ -2,7 +2,11 @@ describe 'rabbitmq' do context 'on unsupported distributions' do - let(:facts) { { osfamily: 'Unsupported' } } + let(:facts) do + { + os: { family: 'Unsupported' } + } + end it 'we fail' do expect { catalogue }.to raise_error(Puppet::Error, %r{not supported on an Unsupported}) @@ -16,9 +20,9 @@ let(:facts) { facts } has_systemd = ( - (facts[:osfamily] == 'RedHat' && facts[:os]['release']['major'].to_i >= 7) || - (facts[:osfamily] == 'Debian' && facts[:os]['release']['full'] == '16.04') || - (facts[:osfamily] == 'Archlinux') + (facts[:os]['family'] == 'RedHat' && facts[:os]['release']['major'].to_i >= 7) || + (facts[:os]['family'] == 'Debian' && facts[:os]['release']['full'] == '16.04') || + (facts[:os]['family'] == 'Archlinux') ) it { is_expected.to compile.with_all_deps } @@ -38,7 +42,7 @@ context 'with repos_ensure => true' do let(:params) { { repos_ensure: true } } - if facts[:osfamily] == 'Debian' + if facts[:os]['family'] == 'Debian' it 'includes rabbitmq::repo::apt' do is_expected.to contain_class('rabbitmq::repo::apt'). with_key_source('https://www.rabbitmq.com/rabbitmq-release-signing-key.asc'). @@ -57,7 +61,7 @@ it { is_expected.not_to contain_apt__souce('rabbitmq') } end - if facts[:osfamily] == 'RedHat' + if facts[:os]['family'] == 'RedHat' it { is_expected.to contain_class('rabbitmq::repo::rhel') } it 'the repo should be present, and contain the expected values' do @@ -72,7 +76,7 @@ end end - context 'with no pin', if: facts[:osfamily] == 'Debian' do + context 'with no pin', if: facts[:os]['family'] == 'Debian' do let(:params) { { repos_ensure: true, package_apt_pin: '' } } describe 'it sets up an apt::source' do @@ -87,7 +91,7 @@ end end - context 'with pin', if: facts[:osfamily] == 'Debian' do + context 'with pin', if: facts[:os]['family'] == 'Debian' do let(:params) { { repos_ensure: true, package_apt_pin: '700' } } describe 'it sets up an apt::source and pin' do @@ -114,7 +118,7 @@ context "with file_limit => '#{value}'" do let(:params) { { file_limit: value } } - if facts[:osfamily] == 'RedHat' + if facts[:os]['family'] == 'RedHat' it do is_expected.to contain_file('/etc/security/limits.d/rabbitmq-server.conf'). with_owner('0'). @@ -127,7 +131,7 @@ it { is_expected.not_to contain_file('/etc/security/limits.d/rabbitmq-server.conf') } end - if facts[:osfamily] == 'Debian' + if facts[:os]['family'] == 'Debian' it { is_expected.to contain_file('/etc/default/rabbitmq-server').with_content(%r{ulimit -n #{value}}) } else it { is_expected.not_to contain_file('/etc/default/rabbitmq-server') } diff --git a/spec/spec_helper_acceptance.rb b/spec/spec_helper_acceptance.rb index c259a42fc..f7f4d6c6f 100644 --- a/spec/spec_helper_acceptance.rb +++ b/spec/spec_helper_acceptance.rb @@ -15,7 +15,7 @@ puppet_module_install(source: proj_root, module_name: 'rabbitmq') hosts.each do |host| - if fact('osfamily') == 'RedHat' && fact('selinux') == 'true' + if fact('os.family') == 'RedHat' && fact('selinux') == 'true' # Make sure selinux is disabled so the tests work. on host, puppet('apply', '-e', %("exec { 'setenforce 0': path => '/bin:/sbin:/usr/bin:/usr/sbin', onlyif => 'which setenforce && getenforce | grep Enforcing', }")) @@ -24,11 +24,11 @@ on host, puppet('module', 'install', 'puppetlabs-stdlib'), acceptable_exit_codes: [0, 1] on host, puppet('module', 'install', 'puppet-staging'), acceptable_exit_codes: [0, 1] - if fact('osfamily') == 'Debian' + if fact('os.family') == 'Debian' on host, puppet('module', 'install', 'puppetlabs-apt'), acceptable_exit_codes: [0, 1] end - if fact('osfamily') == 'RedHat' + if fact('os.family') == 'RedHat' on host, puppet('module', 'install', 'garethr-erlang'), acceptable_exit_codes: [0, 1] end end