diff --git a/manifests/arbitrator.pp b/manifests/arbitrator.pp index 92176b4..948bee0 100644 --- a/manifests/arbitrator.pp +++ b/manifests/arbitrator.pp @@ -7,7 +7,7 @@ String $package_name, String $service_name, ) { - ensure_packages([$package_name], { ensure => $galera::arbitrator_package_ensure }) + stdlib::ensure_packages([$package_name], { ensure => $galera::arbitrator_package_ensure }) file { 'arbitrator-config-file': path => $config_file, diff --git a/manifests/init.pp b/manifests/init.pp index ca05d7e..8894a4c 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -150,7 +150,7 @@ # # @param package_ensure # Specifies the ensure state for packages. Valid options: all values supported -# by the package type. Default: `installed` +# by the package type. Default: `present` # # @param purge_conf_dir # Specifies the option to pass through to `mysql::server`. Default: `true` @@ -505,7 +505,7 @@ # Install additional packages if ($manage_additional_packages and $additional_packages_real) { - ensure_packages($additional_packages_real, + stdlib::ensure_packages($additional_packages_real, { ensure => $package_ensure, before => $_packages_before, diff --git a/metadata.json b/metadata.json index ad4a47a..a0f2ea0 100644 --- a/metadata.json +++ b/metadata.json @@ -10,7 +10,7 @@ "dependencies": [ { "name": "puppetlabs/stdlib", - "version_requirement": ">= 6.0.0 < 9.0.0" + "version_requirement": ">= 8.0.0 < 9.0.0" }, { "name": "puppetlabs/apt", diff --git a/spec/classes/galera_debian_spec.rb b/spec/classes/galera_debian_spec.rb index 1fed495..3d4c873 100644 --- a/spec/classes/galera_debian_spec.rb +++ b/spec/classes/galera_debian_spec.rb @@ -3,8 +3,9 @@ describe 'galera::debian' do let :pre_condition do "class { 'galera': - cluster_name => 'testcluster', - galera_master => 'control1', + cluster_name => 'testcluster', + galera_master => 'control1', + package_ensure => 'present', status_password => 'nonempty' }" end diff --git a/spec/classes/galera_init_spec.rb b/spec/classes/galera_init_spec.rb index 6a74cf7..06c0cf5 100644 --- a/spec/classes/galera_init_spec.rb +++ b/spec/classes/galera_init_spec.rb @@ -4,6 +4,7 @@ let :params do { arbitrator_config_file: '/etc/default/garb', + arbitrator_package_ensure: 'present', arbitrator_package_name: 'galera-arbitrator', arbitrator_service_name: 'garb', bind_address: '10.2.2.1', @@ -17,6 +18,7 @@ mysql_port: 3306, mysql_restart: false, override_options: {}, + package_ensure: 'present', root_password: 'test', status_password: 'nonempty', vendor_type: 'percona', @@ -95,7 +97,7 @@ it { is_expected.to contain_class('mysql::server') } it { is_expected.to contain_package(os_params[:nmap_package_name]).with(ensure: 'installed') } - it { is_expected.to contain_package(os_params[:m_galera_package_name]).with(ensure: 'installed') } + it { is_expected.to contain_package(os_params[:m_galera_package_name]).with(ensure: 'present') } it { is_expected.to contain_package(os_params[:m_additional_packages]).with(ensure: 'installed') } end @@ -210,7 +212,7 @@ } it { is_expected.to contain_class('mysql::server') } - it { is_expected.to contain_package(os_params[:c_galera_package_name]).with(ensure: 'installed') } + it { is_expected.to contain_package(os_params[:c_galera_package_name]).with(ensure: 'present') } it { is_expected.to contain_package(os_params[:c_additional_packages]).with(ensure: 'installed') } end @@ -218,7 +220,7 @@ before(:each) do params.merge!(mysql_package_name: 'mysql-package-test', galera_package_name: 'galera-package-test', - galera_package_ensure: 'installed') + galera_package_ensure: 'present') end it { is_expected.to contain_class('mysql::server').with( @@ -228,34 +230,36 @@ ) } - it { is_expected.to contain_package('galera-package-test').with(ensure: 'installed') } + it { is_expected.to contain_package('galera-package-test').with(ensure: 'present') } end - context 'when package_ensure=installed (default)' do + context 'when package_ensure=present (default)' do it { is_expected.to contain_package(os_params[:p_galera_package_name]).with(ensure: 'absent') } it { is_expected.to contain_class('mysql::server').with( - package_ensure: 'installed', + package_ensure: 'present', package_name: os_params[:p_mysql_package_name], ) } end - context 'when package_ensure=latest' do - before(:each) { params.merge!(package_ensure: 'latest') } - it { is_expected.to contain_package(os_params[:p_galera_package_name]).with(ensure: 'absent') } - it { - is_expected.to contain_class('mysql::server').with( - package_ensure: 'latest', - package_name: os_params[:p_mysql_package_name], - ) - } - end - - context 'when galera_package_ensure=latest' do - before(:each) { params.merge!(galera_package_ensure: 'latest') } - it { is_expected.to contain_package(os_params[:p_galera_package_name]).with(ensure: 'latest') } - end +# Class[Mysql::Server]: parameter 'package_ensure' expects a match for Variant[Enum['absent', 'present'] +# +# context 'when package_ensure=latest' do +# before(:each) { params.merge!(package_ensure: 'latest') } +# it { is_expected.to contain_package(os_params[:p_galera_package_name]).with(ensure: 'absent') } +# it { +# is_expected.to contain_class('mysql::server').with( +# package_ensure: 'latest', +# package_name: os_params[:p_mysql_package_name], +# ) +# } +# end +# +# context 'when galera_package_ensure=latest' do +# before(:each) { params.merge!(galera_package_ensure: 'latest') } +# it { is_expected.to contain_package(os_params[:p_galera_package_name]).with(ensure: 'latest') } +# end context 'when configure_firewall=false' do before(:each) { params.merge!(configure_firewall: false) } diff --git a/spec/classes/galera_redhat_spec.rb b/spec/classes/galera_redhat_spec.rb index 6a1c34a..0a01d45 100644 --- a/spec/classes/galera_redhat_spec.rb +++ b/spec/classes/galera_redhat_spec.rb @@ -4,6 +4,7 @@ let :params do { arbitrator_config_file: '/etc/default/garb', + arbitrator_package_ensure: 'present', arbitrator_package_name: 'galera-arbitrator', arbitrator_service_name: 'garb', bind_address: '10.2.2.1', @@ -17,6 +18,7 @@ mysql_port: 3306, mysql_restart: false, override_options: {}, + package_ensure: 'present', root_password: 'test', status_password: 'nonempty', vendor_type: 'percona',