From c30456b41b7da1910e1ac2b7fe019e03cbfec927 Mon Sep 17 00:00:00 2001 From: Frank Wall Date: Fri, 9 Aug 2024 22:59:36 +0200 Subject: [PATCH] do not specify default values for $vendor_type and $vendor_version anymore --- CHANGELOG.md | 6 +- README.md | 13 +-- data/FreeBSD-family.yaml | 11 +++ data/common.yaml | 5 +- manifests/init.pp | 16 ++-- manifests/repo.pp | 6 +- manifests/repo/config.pp | 6 +- spec/classes/galera_arbitrator_spec.rb | 2 + spec/classes/galera_debian_hacks_spec.rb | 6 +- spec/classes/galera_debian_spec.rb | 4 +- spec/classes/galera_freebsd_spec.rb | 4 +- spec/classes/galera_init_spec.rb | 106 +++++++++++++---------- spec/classes/galera_redhat_spec.rb | 10 +-- spec/classes/galera_repo_spec.rb | 33 +++---- 14 files changed, 123 insertions(+), 105 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b618e85..e771233 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,15 +11,15 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. * Add new parameter `$status_systemd_service_name` * Add systemd-based status check ([#191]) * Add support for new operating systems +* Add support for Percona XtraDB 8.0 and MariaDB 10.11 ### Changed +* Remove default values: `$vendor_type`, `$vendor_version` * Disable option `pxc-encrypt-cluster-traffic` on Percona XtraDB 8.0 -* Change default version of Codership/MySQL to 8.0 -* Change default version of MariaDB to 10.11 -* Change default version of Percona XtraDB to 8.0 * Enable systemd-based status check on RHEL 9, Debian 12 and Ubuntu 24.04 ([#191]) * Add new dependency for systemd-based status check ([#191]) * Merge internal $default_options from multiple hierarchy levels +* Switch unit tests to Codership/MySQL 8.0, MariaDB 10.11 and XtraDB 8.0 * Extend unit tests ([#191]) ### Fixed diff --git a/README.md b/README.md index 45c0e93..39489e1 100644 --- a/README.md +++ b/README.md @@ -48,6 +48,10 @@ Basic usage requires only the FQDN of the master node, a list of IP addresses of ```puppet class { 'galera': + # Galera vendor and version + vendor_type => 'codership', + vendor_version => '8.0', + # Galera cluster config cluster_name => 'mycluster', galera_servers => ['10.0.99.101', '10.0.99.102', '10.0.99.103'], galera_master => 'node1.example.com', @@ -56,15 +60,6 @@ class { 'galera': } ``` -This will install the default packages and version. However, in a production environment you should definitely set the vendor and version variables to the desired value, because the default values might change: - -```puppet -class { 'galera': - vendor_type => 'percona', - vendor_version => '8.0', - ... -``` - On Debian/Ubuntu systems the user `debian-sys-maint@localhost` is required for updates and will be created automatically, but you should set a proper password when using these platforms: ```puppet diff --git a/data/FreeBSD-family.yaml b/data/FreeBSD-family.yaml index 33b3965..d893c5e 100644 --- a/data/FreeBSD-family.yaml +++ b/data/FreeBSD-family.yaml @@ -49,6 +49,11 @@ galera::mariadb::106::client_package_name: 'mariadb106-client' galera::mariadb::106::galera_package_name: 'galera26' galera::mariadb::106::mysql_package_name: 'mariadb106-server' +galera::mariadb::1011::arbitrator_package_name: 'galera26' +galera::mariadb::1011::client_package_name: 'mariadb1011-client' +galera::mariadb::1011::galera_package_name: 'galera26' +galera::mariadb::1011::mysql_package_name: 'mariadb1011-server' + # # MariaDB - default settings # @@ -82,6 +87,12 @@ galera::sst::mariabackup::mariadb::103::additional_packages: - 'socat' galera::sst::mariabackup::mariadb::104::additional_packages: - 'socat' +galera::sst::mariabackup::mariadb::105::additional_packages: + - 'socat' +galera::sst::mariabackup::mariadb::106::additional_packages: + - 'socat' +galera::sst::mariabackup::mariadb::1011::additional_packages: + - 'socat' galera::sst::xtrabackup::additional_packages: - 'xtrabackup' galera::sst::xtrabackup::codership::57::additional_packages: diff --git a/data/common.yaml b/data/common.yaml index e1f5498..6b45555 100644 --- a/data/common.yaml +++ b/data/common.yaml @@ -77,7 +77,7 @@ galera::validate::delay: 3 galera::validate::inv_catch: undef galera::validate::retries: 20 galera::validate_connection: true -galera::vendor_type: 'percona' +galera::vendor_type: ~ galera::wsrep_group_comm_port: 4567 galera::wsrep_inc_state_transfer_port: 4568 galera::wsrep_sst_auth: "root:<%= $root_password %>" @@ -97,7 +97,6 @@ galera::mariadb::additional_packages: galera::codership::default_options: mysqld: wsrep_sst_auth: "\"<%= $wsrep_sst_auth_real %>\"" -galera::codership::default_version: '8.0' galera::codership::galera_package_ensure: 'present' # Percona XtraDB removed support for wsrep_sst_auth in version 8.0, @@ -113,14 +112,12 @@ galera::percona::80::default_options: # On XtraDB 8.0 the option pxc-encrypt-cluster-traffic is enabled by # default. Disable it to make it easier to bootstrap new clusters. pxc-encrypt-cluster-traffic: 'OFF' -galera::percona::default_version: '8.0' # Percona does not allow installation of wsrep-enabled server and wsrep provider. galera::percona::galera_package_ensure: 'absent' galera::mariadb::default_options: mysqld: wsrep_sst_auth: "\"<%= $wsrep_sst_auth_real %>\"" -galera::mariadb::default_version: '10.11' galera::mariadb::galera_package_ensure: 'present' # binlog_format is deprecated in MySQL, but still required for MariaDB diff --git a/manifests/init.pp b/manifests/init.pp index dae9c0a..0baab14 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -284,6 +284,7 @@ class galera ( # parameters that need to be evaluated early Enum['codership', 'mariadb', 'percona'] $vendor_type, + String $vendor_version, # required parameters Boolean $arbitrator, String $arbitrator_options, @@ -357,18 +358,11 @@ Optional[String] $status_log_on_success = undef, Optional[String] $status_log_type = undef, Optional[String] $status_service_type = undef, - Optional[String] $vendor_version = undef, ) { - # Fetch appropiate default values from module data, depending on the values - # of $vendor_type and $vendor_version. - # XXX: Originally this was supposed to take place when evaluating the class - # parameters. Now this is basically an ugly compatibility layer to support - # overriding parameters in non-hiera configurations (where solely relying - # on lookup() simply does not work). Should be refactored when a better - # solution is available. - if !$vendor_version { - $vendor_version_real = lookup("${module_name}::${vendor_type}::default_version") - } else { $vendor_version_real = $vendor_version } + # Adjust $vendor_version for use with lookup() + # The '_real' variable is kept for compatibility reasons, it may be + # used in inline epp templates. + $vendor_version_real = $vendor_version $vendor_version_internal = regsubst($vendor_version_real, '\.', '', 'G') # Percona supports 'xtrabackup-v2', but this value cannot be used in our automatic diff --git a/manifests/repo.pp b/manifests/repo.pp index e169210..a98fc37 100644 --- a/manifests/repo.pp +++ b/manifests/repo.pp @@ -3,9 +3,9 @@ # class galera::repo { # Adjust $vendor_version for use with lookup() - if !$galera::vendor_version { - $vendor_version_real = lookup("${module_name}::${galera::vendor_type}::default_version") - } else { $vendor_version_real = $galera::vendor_version } + # The '_real' variable is kept for compatibility reasons, it may be + # used in inline epp templates. + $vendor_version_real = $galera::vendor_version $vendor_version_internal = regsubst($vendor_version_real, '\.', '', 'G') # Adjust $wsrep_sst_method for use with lookup() diff --git a/manifests/repo/config.pp b/manifests/repo/config.pp index 5e4451a..a522534 100644 --- a/manifests/repo/config.pp +++ b/manifests/repo/config.pp @@ -8,9 +8,9 @@ String $repo = $title, ) { # Adjust $vendor_version for use with lookup() and inline_epp() - if !$galera::vendor_version { - $vendor_version_real = lookup("${module_name}::${galera::vendor_type}::default_version") - } else { $vendor_version_real = $galera::vendor_version } + # The '_real' variable is kept for compatibility reasons, it may be + # used in inline epp templates. + $vendor_version_real = $galera::vendor_version $vendor_version_internal = regsubst($vendor_version_real, '\.', '', 'G') # Prepare $wsrep_sst_method for use with inline_epp() diff --git a/spec/classes/galera_arbitrator_spec.rb b/spec/classes/galera_arbitrator_spec.rb index b49dae1..28a33b9 100644 --- a/spec/classes/galera_arbitrator_spec.rb +++ b/spec/classes/galera_arbitrator_spec.rb @@ -19,6 +19,8 @@ root_password: 'test', deb_sysmaint_password: 'test', status_password: 'test', + vendor_type: 'percona', + vendor_version: '8.0', } end diff --git a/spec/classes/galera_debian_hacks_spec.rb b/spec/classes/galera_debian_hacks_spec.rb index 4f9da23..ba00989 100644 --- a/spec/classes/galera_debian_hacks_spec.rb +++ b/spec/classes/galera_debian_hacks_spec.rb @@ -6,7 +6,9 @@ cluster_name => 'testcluster', galera_master => 'control1', package_ensure => 'present', - status_password => 'nonempty' + status_password => 'nonempty', + vendor_type => 'percona', + vendor_version => '8.0', }" end @@ -35,7 +37,7 @@ facts end - case facts[:osfamily] + case facts[:os]['family'] when 'Debian' it_configures 'galera workarounds on Debian and Ubuntu' end diff --git a/spec/classes/galera_debian_spec.rb b/spec/classes/galera_debian_spec.rb index 0adccfc..e75b8f7 100644 --- a/spec/classes/galera_debian_spec.rb +++ b/spec/classes/galera_debian_spec.rb @@ -18,7 +18,7 @@ root_password: 'test', status_password: 'nonempty', vendor_type: 'percona', - vendor_version: '5.7', + vendor_version: '8.0', wsrep_group_comm_port: 4567, wsrep_inc_state_transfer_port: 4568, wsrep_sst_method: 'rsync', @@ -142,7 +142,7 @@ facts end - case facts[:osfamily] + case facts[:os]['family'] when 'Debian' if facts[:os]['name'] == 'Debian' && Puppet::Util::Package.versioncmp(facts[:os]['release']['major'], '12') >= 0 it_configures 'galera on Debian' diff --git a/spec/classes/galera_freebsd_spec.rb b/spec/classes/galera_freebsd_spec.rb index d03c69a..19f91d0 100644 --- a/spec/classes/galera_freebsd_spec.rb +++ b/spec/classes/galera_freebsd_spec.rb @@ -20,7 +20,7 @@ root_password: 'test', status_password: 'nonempty', vendor_type: 'percona', - vendor_version: '5.7', + vendor_version: '8.0', wsrep_group_comm_port: 4567, wsrep_inc_state_transfer_port: 4568, wsrep_sst_method: 'rsync', @@ -61,7 +61,7 @@ facts.merge({}) end - case facts[:osfamily] + case facts[:os]['family'] when 'FreeBSD' it_configures 'galera on FreeBSD' end diff --git a/spec/classes/galera_init_spec.rb b/spec/classes/galera_init_spec.rb index 9cabf99..454842b 100644 --- a/spec/classes/galera_init_spec.rb +++ b/spec/classes/galera_init_spec.rb @@ -22,7 +22,7 @@ root_password: 'test', status_password: 'nonempty', vendor_type: 'percona', - vendor_version: '5.7', + vendor_version: '8.0', wsrep_group_comm_port: 4567, wsrep_inc_state_transfer_port: 4568, wsrep_sst_method: 'rsync', @@ -31,7 +31,8 @@ end shared_examples_for 'galera' do - context 'with default parameters (percona)' do + context 'when installing percona' do + before(:each) { params.deep_merge!(vendor_type: 'percona', vendor_version: '8.0') } it { is_expected.to contain_class('galera::firewall') } it { is_expected.to contain_class('galera::repo') } it { is_expected.to contain_class('galera::status') } @@ -78,7 +79,7 @@ end context 'when installing mariadb' do - before(:each) { params.deep_merge!(vendor_type: 'mariadb', vendor_version: '10.3') } + before(:each) { params.deep_merge!(vendor_type: 'mariadb', vendor_version: '10.11') } it { is_expected.to contain_class('mysql::server').with( package_name: os_params[:m_mysql_package_name], @@ -112,7 +113,7 @@ end context 'when using mariabackup' do - before(:each) { params.deep_merge!(vendor_type: 'mariadb', vendor_version: '10.3', wsrep_sst_method: 'mariabackup') } + before(:each) { params.deep_merge!(vendor_type: 'mariadb', vendor_version: '10.11', wsrep_sst_method: 'mariabackup') } it { if os_params[:m_mariadb_backup_package_name] != 'NONE' is_expected.to contain_package(os_params[:m_mariadb_backup_package_name]).with_ensure('installed') @@ -194,18 +195,31 @@ end context 'when installing codership' do - before(:each) { params.deep_merge!(vendor_type: 'codership') } + before(:each) { params.deep_merge!(vendor_type: 'codership', vendor_version: '8.0') } it { - is_expected.to contain_class('mysql::server').with( - package_name: os_params[:c_mysql_package_name], - root_password: params[:root_password], - service_name: os_params[:c_mysql_service_name], - ) + if facts[:os]['family'] != 'FreeBSD' + is_expected.to contain_class('mysql::server').with( + package_name: os_params[:c_mysql_package_name], + root_password: params[:root_password], + service_name: os_params[:c_mysql_service_name], + ) + end + } + it { + if facts[:os]['family'] != 'FreeBSD' + is_expected.to contain_class('mysql::server') + end + } + it { + if facts[:os]['family'] != 'FreeBSD' + is_expected.to contain_package(os_params[:c_galera_package_name]).with(ensure: 'present') + end + } + it { + if facts[:os]['family'] != 'FreeBSD' + is_expected.to contain_package(os_params[:c_additional_packages]).with(ensure: 'installed') + end } - it { is_expected.to contain_class('mysql::server') } - - 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 context 'when specifying package names' do @@ -272,69 +286,69 @@ end let(:os_params) do - if facts[:osfamily] == 'RedHat' - m_mysql_service_name = if Puppet::Util::Package.versioncmp(facts[:operatingsystemmajrelease], '7') >= 0 + if facts[:os]['family'] == 'RedHat' + m_mysql_service_name = if Puppet::Util::Package.versioncmp(facts[:os]['release']['major'], '7') >= 0 'mariadb' else 'mysql' end { c_additional_packages: 'rsync', - c_client_package_name: 'mysql-wsrep-client-5.7', - c_galera_package_name: 'galera-3', - c_libgalera_location: '/usr/lib64/galera-3/libgalera_smm.so', - c_mysql_package_name: 'mysql-wsrep-5.7', + c_client_package_name: 'mysql-wsrep-client', + c_galera_package_name: 'galera-4', + c_libgalera_location: '/usr/lib64/galera-4/libgalera_smm.so', + c_mysql_package_name: 'mysql-wsrep-8.0', c_mysql_service_name: 'mysqld', m_additional_packages: 'rsync', m_client_package_name: 'MariaDB-client', - m_galera_package_name: 'galera', - m_libgalera_location: '/usr/lib64/galera/libgalera_smm.so', + m_galera_package_name: 'galera-4', + m_libgalera_location: '/usr/lib64/galera-4/libgalera_smm.so', m_mariadb_backup_package_name: 'MariaDB-backup', m_mysql_package_name: 'MariaDB-server', m_mysql_service_name: m_mysql_service_name, p_additional_packages: 'rsync', - p_client_package_name: 'Percona-XtraDB-Cluster-client-57', - p_galera_package_name: 'Percona-XtraDB-Cluster-galera-3', + p_client_package_name: 'percona-xtradb-cluster-client', + p_galera_package_name: 'percona-xtradb-cluster-galera', p_libgalera_location: '/usr/lib64/libgalera_smm.so', - p_mysql_package_name: 'Percona-XtraDB-Cluster-57', + p_mysql_package_name: 'percona-xtradb-cluster-full', p_mysql_service_name: 'mysql', - p_xtrabackup_package: 'percona-xtrabackup-24', + p_xtrabackup_package: 'percona-xtrabackup-80', nmap_package_name: 'nmap' } - elsif facts[:osfamily] == 'Debian' + elsif facts[:os]['family'] == 'Debian' { c_additional_packages: 'rsync', - c_client_package_name: 'mysql-wsrep-client-5.7', - c_galera_package_name: 'galera-3', + c_client_package_name: 'mysql-wsrep-client-8.0', + c_galera_package_name: 'galera-4', c_libgalera_location: '/usr/lib/libgalera_smm.so', - c_mysql_package_name: 'mysql-wsrep-5.7', + c_mysql_package_name: 'mysql-wsrep-8.0', c_mysql_service_name: 'mysql', m_additional_packages: 'rsync', - m_client_package_name: 'mariadb-client-10.3', - m_galera_package_name: 'galera-3', + m_client_package_name: 'mariadb-client', + m_galera_package_name: 'galera-4', m_libgalera_location: '/usr/lib/galera/libgalera_smm.so', m_mariadb_backup_package_name: 'mariadb-backup', - m_mysql_package_name: 'mariadb-server-10.3', + m_mysql_package_name: 'mariadb-server', m_mysql_service_name: 'mysql', p_additional_packages: 'rsync', - p_client_package_name: 'percona-xtradb-cluster-client-5.7', - p_galera_package_name: 'percona-xtradb-cluster-galera-3.x', + p_client_package_name: 'percona-xtradb-cluster-client', + p_galera_package_name: 'percona-xtradb-cluster-galera', p_libgalera_location: '/usr/lib/galera/libgalera_smm.so', - p_mysql_package_name: 'percona-xtradb-cluster-server-5.7', + p_mysql_package_name: 'percona-xtradb-cluster-full', p_mysql_service_name: 'mysql', - p_xtrabackup_package: 'percona-xtrabackup-24', + p_xtrabackup_package: 'percona-xtrabackup-80', mysql_service_name: 'mysql', nmap_package_name: 'nmap' } - elsif facts[:osfamily] == 'FreeBSD' + elsif facts[:os]['family'] == 'FreeBSD' { c_additional_packages: 'rsync', - c_client_package_name: 'mysql57-client', - c_galera_package_name: 'galera', - c_libgalera_location: '/usr/local/lib/libgalera_smm.so', - c_mysql_package_name: 'mysqlwsrep57-server', - c_mysql_service_name: 'mysql-server', + c_client_package_name: 'UNSUPPORTED-client_package_name', + c_galera_package_name: 'UNSUPPORTED-galera_package_name', + c_libgalera_location: '/UNSUPPORTED-libgalera_location', + c_mysql_package_name: 'UNSUPPORTED-mysql_package_name', + c_mysql_service_name: 'UNSUPPORTED-mysql_service_name', m_additional_packages: 'rsync', - m_client_package_name: 'mariadb103-client', - m_galera_package_name: 'galera', + m_client_package_name: 'mariadb1011-client', + m_galera_package_name: 'galera26', m_libgalera_location: '/usr/local/lib/libgalera_smm.so', m_mariadb_backup_package_name: 'NONE', - m_mysql_package_name: 'mariadb103-server', + m_mysql_package_name: 'mariadb1011-server', m_mysql_service_name: 'mysql-server', p_additional_packages: 'rsync', p_client_package_name: 'UNSUPPORTED-client_package_name', diff --git a/spec/classes/galera_redhat_spec.rb b/spec/classes/galera_redhat_spec.rb index d6fbc1d..76ca23b 100644 --- a/spec/classes/galera_redhat_spec.rb +++ b/spec/classes/galera_redhat_spec.rb @@ -22,7 +22,7 @@ root_password: 'test', status_password: 'nonempty', vendor_type: 'percona', - vendor_version: '5.7', + vendor_version: '8.0', wsrep_group_comm_port: 4567, wsrep_inc_state_transfer_port: 4568, wsrep_sst_method: 'rsync', @@ -59,7 +59,7 @@ context 'when node is the master' do before(:each) { params.deep_merge!(galera_master: facts[:networking]['fqdn']) } - it { is_expected.to contain_exec('bootstrap_galera_cluster').with_command(%r{systemctl start mysql@bootstrap.service}) } + it { is_expected.to contain_exec('bootstrap_galera_cluster').with_command(%r{--wsrep-new-cluster}) } end context 'when status_port=12345' do @@ -77,7 +77,7 @@ end context 'when installing mariadb' do - before(:each) { params.deep_merge!(vendor_type: 'mariadb', vendor_version: '10.3') } + before(:each) { params.deep_merge!(vendor_type: 'mariadb', vendor_version: '10.11') } it { is_expected.to contain_file('/var/log/mariadb') } it { is_expected.to contain_file('/var/run/mariadb') } @@ -122,9 +122,9 @@ } end - case facts[:osfamily] + case facts[:os]['family'] when 'RedHat' - if Puppet::Util::Package.versioncmp(facts[:operatingsystemmajrelease], '9') >= 0 + if Puppet::Util::Package.versioncmp(facts[:os]['release']['major'], '9') >= 0 it_configures 'galera on RedHat' else it_configures 'galera on RedHat 8 and older' diff --git a/spec/classes/galera_repo_spec.rb b/spec/classes/galera_repo_spec.rb index 50bf30a..12e4471 100644 --- a/spec/classes/galera_repo_spec.rb +++ b/spec/classes/galera_repo_spec.rb @@ -12,7 +12,7 @@ shared_examples_for 'repo on RedHat-family' do context 'for codership' do before(:each) do - params.deep_merge!(vendor_type: 'codership', vendor_version: '5.7') + params.deep_merge!(vendor_type: 'codership', vendor_version: '8.0') end it { is_expected.to contain_galera__repo__config('codership') } it { is_expected.to contain_galera__repo__config('codership_lib') } @@ -22,7 +22,7 @@ context 'for codership with wsrep_sst_method=xtrabackup' do before(:each) do - params.deep_merge!(vendor_type: 'codership', vendor_version: '5.7', wsrep_sst_method: 'xtrabackup') + params.deep_merge!(vendor_type: 'codership', vendor_version: '8.0', wsrep_sst_method: 'xtrabackup') end it { is_expected.to contain_galera__repo__config('codership') } it { is_expected.to contain_galera__repo__config('codership_lib') } @@ -34,7 +34,7 @@ context 'for mariadb' do before(:each) do - params.deep_merge!(vendor_type: 'mariadb', vendor_version: '10.3') + params.deep_merge!(vendor_type: 'mariadb', vendor_version: '10.11') end it { is_expected.to contain_galera__repo__config('mariadb') } it { is_expected.to contain_yumrepo('galera_mariadb').with(enabled: 1) } @@ -42,7 +42,7 @@ context 'for mariadb with wsrep_sst_method=xtrabackup-v2' do before(:each) do - params.deep_merge!(vendor_type: 'mariadb', vendor_version: '10.3', wsrep_sst_method: 'xtrabackup-v2') + params.deep_merge!(vendor_type: 'mariadb', vendor_version: '10.11', wsrep_sst_method: 'xtrabackup-v2') end it { is_expected.to contain_galera__repo__config('mariadb') } it { is_expected.to contain_galera__repo__config('percona_tools') } @@ -52,7 +52,7 @@ context 'for percona' do before(:each) do - params.deep_merge!(vendor_type: 'percona', vendor_version: '5.7') + params.deep_merge!(vendor_type: 'percona', vendor_version: '8.0') end it { is_expected.to contain_galera__repo__config('percona') } it { is_expected.to contain_galera__repo__config('percona_tools') } @@ -62,7 +62,7 @@ context 'with configure_repo=false' do before(:each) do - params.deep_merge!(configure_repo: false) + params.deep_merge!(vendor_type: 'codership', vendor_version: '8.0', configure_repo: false) end it { is_expected.not_to contain_galera__repo__config('codership') } it { is_expected.not_to contain_galera__repo__config('codership_lib') } @@ -77,12 +77,15 @@ end context 'with epel_needed=true (default)' do + before(:each) do + params.deep_merge!(vendor_type: 'codership', vendor_version: '8.0') + end it { is_expected.to contain_class('epel') } end context 'with epel_needed=false' do before(:each) do - params.deep_merge!(epel_needed: false) + params.deep_merge!(vendor_type: 'codership', vendor_version: '8.0', epel_needed: false) end it { is_expected.not_to contain_class('epel') } end @@ -91,7 +94,7 @@ shared_examples_for 'repo on Debian-family' do context 'for codership' do before(:each) do - params.deep_merge!(vendor_type: 'codership', vendor_version: '5.7') + params.deep_merge!(vendor_type: 'codership', vendor_version: '8.0') end it { is_expected.to contain_galera__repo__config('codership') } it { is_expected.to contain_galera__repo__config('codership_lib') } @@ -101,7 +104,7 @@ context 'for codership with wsrep_sst_method=xtrabackup' do before(:each) do - params.deep_merge!(vendor_type: 'codership', vendor_version: '5.7', wsrep_sst_method: 'xtrabackup') + params.deep_merge!(vendor_type: 'codership', vendor_version: '8.0', wsrep_sst_method: 'xtrabackup') end it { is_expected.to contain_galera__repo__config('codership') } it { is_expected.to contain_galera__repo__config('codership_lib') } @@ -113,14 +116,14 @@ context 'for mariadb' do before(:each) do - params.deep_merge!(vendor_type: 'mariadb', vendor_version: '10.3') + params.deep_merge!(vendor_type: 'mariadb', vendor_version: '10.11') end it { is_expected.to contain_apt__source('galera_mariadb').with(repos: 'main') } end context 'for mariadb with wsrep_sst_method=xtrabackup-v2' do before(:each) do - params.deep_merge!(vendor_type: 'mariadb', vendor_version: '10.3', wsrep_sst_method: 'xtrabackup-v2') + params.deep_merge!(vendor_type: 'mariadb', vendor_version: '10.11', wsrep_sst_method: 'xtrabackup-v2') end it { is_expected.to contain_galera__repo__config('mariadb') } it { is_expected.to contain_galera__repo__config('percona_tools') } @@ -130,7 +133,7 @@ context 'for percona' do before(:each) do - params.deep_merge!(vendor_type: 'percona', vendor_version: '5.7') + params.deep_merge!(vendor_type: 'percona', vendor_version: '8.0') end it { is_expected.to contain_galera__repo__config('percona') } it { is_expected.to contain_galera__repo__config('percona_tools') } @@ -140,7 +143,7 @@ context 'with configure_repo=false' do before(:each) do - params.deep_merge!(configure_repo: false) + params.deep_merge!(vendor_type: 'codership', vendor_version: '8.0', configure_repo: false) end it { is_expected.not_to contain_galera__repo__config('codership') } it { is_expected.not_to contain_galera__repo__config('codership_lib') } @@ -156,7 +159,7 @@ context 'with epel_needed=true should do nothing' do before(:each) do - params.deep_merge!(epel_needed: true) + params.deep_merge!(vendor_type: 'codership', vendor_version: '8.0', epel_needed: true) end it { is_expected.not_to contain_class('epel') } end @@ -168,7 +171,7 @@ facts end - case facts[:osfamily] + case facts[:os]['family'] when 'RedHat' it_configures 'repo on RedHat-family' when 'Debian'