From 1f70b9fba06678799f2065e147f3508fceb4c83a Mon Sep 17 00:00:00 2001 From: Taylan Develioglu Date: Mon, 10 Oct 2016 10:06:00 +0200 Subject: [PATCH] Add `sssd_package_ensure` parameter This makes it possible to set specific versions and 'latest' on the sssd package. --- manifests/init.pp | 5 +++++ manifests/install.pp | 4 ++-- manifests/params.pp | 2 ++ spec/classes/init_spec.rb | 24 ++++++++++++++++++++++++ 4 files changed, 33 insertions(+), 2 deletions(-) diff --git a/manifests/init.pp b/manifests/init.pp index 9682c64..208a25d 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -14,6 +14,9 @@ # Name of the sssd package. Only set this if your patform is not supported or # you know what you're doing. # +# [*sssd_package_ensure*] +# Sets the ensure parameter of the sssd package. +# # [*extra_packages*] # Array with extra packages to be installed # @@ -73,6 +76,7 @@ $ensure = $sssd::params::ensure, $config = $sssd::params::config, $sssd_package = $sssd::params::sssd_package, + $sssd_package_ensure = $sssd::params::sssd_package_ensure, $sssd_service = $sssd::params::sssd_service, $extra_packages = $sssd::params::extra_packages, $extra_packages_ensure = $sssd::params::extra_packages_ensure, @@ -91,6 +95,7 @@ Allowed values are 'present' and 'absent'.") validate_string( + $sssd_package_ensure, $sssd_package, $sssd_service, $config_template diff --git a/manifests/install.pp b/manifests/install.pp index ec92079..8a09db7 100644 --- a/manifests/install.pp +++ b/manifests/install.pp @@ -1,13 +1,13 @@ # See README.md for usage information class sssd::install ( - $ensure = $sssd::ensure, $sssd_package = $sssd::sssd_package, + $sssd_package_ensure = $sssd::sssd_package_ensure, $extra_packages = $sssd::extra_packages, $extra_packages_ensure = $sssd::extra_packages_ensure, ) { package { $sssd_package: - ensure => $ensure, + ensure => $sssd_package_ensure, } if $extra_packages { diff --git a/manifests/params.pp b/manifests/params.pp index 63ecebc..261b820 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -25,6 +25,8 @@ $config_template = "${module_name}/sssd.conf.sorted.erb" } + $sssd_package_ensure = 'present' + case $::osfamily { 'RedHat': { diff --git a/spec/classes/init_spec.rb b/spec/classes/init_spec.rb index 8622aae..e2b8f0c 100644 --- a/spec/classes/init_spec.rb +++ b/spec/classes/init_spec.rb @@ -27,6 +27,7 @@ it { is_expected.to contain_exec('authconfig-mkhomedir').that_comes_before('File[sssd.conf]') } it { is_expected.to contain_service('sssd').with_ensure('running') } + it { is_expected.to contain_package('sssd').with_ensure('present') } end context 'with service ensure stopped' do @@ -49,6 +50,11 @@ .with_content(%r{^# Managed by Puppet.\n\n\[domain/ad.example.com\]}) end end + + context 'with package_ensure set to specific version' do + let(:params) { { :sssd_package_ensure => '1.1.1' } } + it { is_expected.to contain_package('sssd').with_ensure('1.1.1') } + end end describe 'on RedHat 6.6' do let(:facts) do @@ -77,6 +83,7 @@ it { is_expected.to contain_exec('authconfig-mkhomedir').that_comes_before('File[sssd.conf]') } it { is_expected.to contain_service('sssd').with_ensure('running') } + it { is_expected.to contain_package('sssd').with_ensure('present') } it { is_expected.to contain_service('oddjobd').with_ensure('running') } end @@ -101,6 +108,11 @@ .with_content(%r{^# Managed by Puppet.\n\n\[domain/ad.example.com\]}) end end + + context 'with package_ensure set to specific version' do + let(:params) { { :sssd_package_ensure => '1.1.1' } } + it { is_expected.to contain_package('sssd').with_ensure('1.1.1') } + end end describe 'on RedHat 7.1' do let(:facts) do @@ -129,6 +141,7 @@ it { is_expected.to contain_exec('authconfig-mkhomedir').that_comes_before('File[sssd.conf]') } it { is_expected.to contain_service('sssd').with_ensure('running') } + it { is_expected.to contain_package('sssd').with_ensure('present') } it { is_expected.to contain_service('oddjobd').with_ensure('running') } end @@ -153,6 +166,11 @@ .with_content(%r{^# Managed by Puppet.\n\n\[domain/ad.example.com\]}) end end + + context 'with package_ensure set to specific version' do + let(:params) { { :sssd_package_ensure => '1.1.1' } } + it { is_expected.to contain_package('sssd').with_ensure('1.1.1') } + end end describe 'on Debian 8.1' do let(:facts) do @@ -181,6 +199,7 @@ it { is_expected.not_to contain_service('oddjobd') } it { is_expected.to contain_service('sssd').with_ensure('running') } + it { is_expected.to contain_package('sssd').with_ensure('present') } end context 'with service ensure stopped' do @@ -203,5 +222,10 @@ .with_content(%r{^# Managed by Puppet.\n\n\[domain/ad.example.com\]}) end end + + context 'with package_ensure set to specific version' do + let(:params) { { :sssd_package_ensure => '1.1.1' } } + it { is_expected.to contain_package('sssd').with_ensure('1.1.1') } + end end end