From fe044286331d500138c0964c1296d71a5e4d3f73 Mon Sep 17 00:00:00 2001 From: Evgeni Golov Date: Wed, 4 Oct 2023 17:53:41 +0200 Subject: [PATCH 1/3] test zabbix::server on all supported versions, not only default --- spec/acceptance/server_spec.rb | 51 ++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/spec/acceptance/server_spec.rb b/spec/acceptance/server_spec.rb index 59594a225..76083b079 100644 --- a/spec/acceptance/server_spec.rb +++ b/spec/acceptance/server_spec.rb @@ -45,4 +45,55 @@ class { 'postgresql::globals': it { is_expected.to be_enabled } end end + + supported_versions.each do |zabbix_version| + # >= 5.2 server packages are not available for RHEL 7 + next if zabbix_version >= '5.2' && default[:platform] == 'el-7-x86_64' + + context "deploys a zabbix #{zabbix_version} server" do + # Using puppet_apply as a helper + it 'works idempotently with no errors' do + # this is a minimal working example if you've a postgres server + # running on another node. multinode testing with beaker is pain, + # so we will deploy multiple services into one box + # pp = <<-EOS + # class { 'zabbix::server': + # manage_database => false, + # } + # EOS + + # this will actually deploy apache + postgres + zabbix-server + zabbix-web + pp = <<-EOS + class { 'postgresql::globals': + encoding => 'UTF-8', + locale => 'en_US.UTF-8', + manage_package_repo => $facts['os']['release']['major'] != '8', + manage_dnf_module => $facts['os']['release']['major'] == '8', + version => '12', + } + -> class { 'postgresql::server': } + -> class { 'zabbix::database': } + -> class { 'zabbix::server': + zabbix_version => "#{zabbix_version}" + } + EOS + + prepare_host + + # Run it twice and test for idempotency + apply_manifest(pp, catch_failures: true) + apply_manifest(pp, catch_changes: true) + end + + # do some basic checks + describe package('zabbix-server-pgsql') do + it { is_expected.to be_installed } + end + + describe service('zabbix-server') do + it { is_expected.to be_running } + it { is_expected.to be_enabled } + end + end + end end From 91921a3c419d1df50139f2b7b07a5cf863498e56 Mon Sep 17 00:00:00 2001 From: Evgeni Golov Date: Wed, 4 Oct 2023 19:09:10 +0200 Subject: [PATCH 2/3] default to PostgreSQL 13 in acceptance tests --- spec/acceptance/server_spec.rb | 4 ++-- spec/acceptance/zabbix_application_spec.rb | 2 +- spec/acceptance/zabbix_host_spec.rb | 2 +- spec/acceptance/zabbix_hostgroup_spec.rb | 2 +- spec/acceptance/zabbix_proxy_spec.rb | 2 +- spec/acceptance/zabbix_template_host_spec.rb | 2 +- spec/acceptance/zabbix_template_spec.rb | 2 +- 7 files changed, 8 insertions(+), 8 deletions(-) diff --git a/spec/acceptance/server_spec.rb b/spec/acceptance/server_spec.rb index 76083b079..941410b7d 100644 --- a/spec/acceptance/server_spec.rb +++ b/spec/acceptance/server_spec.rb @@ -21,7 +21,7 @@ class { 'postgresql::globals': locale => 'en_US.UTF-8', manage_package_repo => $facts['os']['release']['major'] != '8', manage_dnf_module => $facts['os']['release']['major'] == '8', - version => '12', + version => '13', } -> class { 'postgresql::server': } -> class { 'zabbix::database': } @@ -69,7 +69,7 @@ class { 'postgresql::globals': locale => 'en_US.UTF-8', manage_package_repo => $facts['os']['release']['major'] != '8', manage_dnf_module => $facts['os']['release']['major'] == '8', - version => '12', + version => '13', } -> class { 'postgresql::server': } -> class { 'zabbix::database': } diff --git a/spec/acceptance/zabbix_application_spec.rb b/spec/acceptance/zabbix_application_spec.rb index 19374986a..12618b1dd 100644 --- a/spec/acceptance/zabbix_application_spec.rb +++ b/spec/acceptance/zabbix_application_spec.rb @@ -27,7 +27,7 @@ class { 'postgresql::globals': locale => 'en_US.UTF-8', manage_package_repo => $facts['os']['release']['major'] != '8', manage_dnf_module => $facts['os']['release']['major'] == '8', - version => '12', + version => '13', } -> class { 'postgresql::server': } diff --git a/spec/acceptance/zabbix_host_spec.rb b/spec/acceptance/zabbix_host_spec.rb index 2fe3cc632..4795ec8c3 100644 --- a/spec/acceptance/zabbix_host_spec.rb +++ b/spec/acceptance/zabbix_host_spec.rb @@ -36,7 +36,7 @@ class { 'postgresql::globals': locale => 'en_US.UTF-8', manage_package_repo => $facts['os']['release']['major'] != '8', manage_dnf_module => $facts['os']['release']['major'] == '8', - version => '12', + version => '13', } -> class { 'postgresql::server': } diff --git a/spec/acceptance/zabbix_hostgroup_spec.rb b/spec/acceptance/zabbix_hostgroup_spec.rb index b380fce03..aa6a955b1 100644 --- a/spec/acceptance/zabbix_hostgroup_spec.rb +++ b/spec/acceptance/zabbix_hostgroup_spec.rb @@ -20,7 +20,7 @@ class { 'postgresql::globals': locale => 'en_US.UTF-8', manage_package_repo => $facts['os']['release']['major'] != '8', manage_dnf_module => $facts['os']['release']['major'] == '8', - version => '12', + version => '13', } -> class { 'postgresql::server': } diff --git a/spec/acceptance/zabbix_proxy_spec.rb b/spec/acceptance/zabbix_proxy_spec.rb index 3c5c11d72..d77bc8b82 100644 --- a/spec/acceptance/zabbix_proxy_spec.rb +++ b/spec/acceptance/zabbix_proxy_spec.rb @@ -21,7 +21,7 @@ class { 'postgresql::globals': locale => 'en_US.UTF-8', manage_package_repo => $facts['os']['release']['major'] != '8', manage_dnf_module => $facts['os']['release']['major'] == '8', - version => '12', + version => '13', } -> class { 'postgresql::server': } diff --git a/spec/acceptance/zabbix_template_host_spec.rb b/spec/acceptance/zabbix_template_host_spec.rb index e033f4039..b200cf503 100644 --- a/spec/acceptance/zabbix_template_host_spec.rb +++ b/spec/acceptance/zabbix_template_host_spec.rb @@ -29,7 +29,7 @@ class { 'postgresql::globals': locale => 'en_US.UTF-8', manage_package_repo => $facts['os']['release']['major'] != '8', manage_dnf_module => $facts['os']['release']['major'] == '8', - version => '12', + version => '13', } -> class { 'postgresql::server': } diff --git a/spec/acceptance/zabbix_template_spec.rb b/spec/acceptance/zabbix_template_spec.rb index 5f52043b2..dc781897b 100644 --- a/spec/acceptance/zabbix_template_spec.rb +++ b/spec/acceptance/zabbix_template_spec.rb @@ -20,7 +20,7 @@ class { 'postgresql::globals': locale => 'en_US.UTF-8', manage_package_repo => $facts['os']['release']['major'] != '8', manage_dnf_module => $facts['os']['release']['major'] == '8', - version => '12', + version => '13', } -> class { 'postgresql::server': } From b65a7ff0ad9ebfa284ac4253c54fcada1e45d9f2 Mon Sep 17 00:00:00 2001 From: Evgeni Golov Date: Thu, 5 Oct 2023 08:27:15 +0200 Subject: [PATCH 3/3] increase default CacheSize to 32M, the default in 6.0 --- manifests/params.pp | 4 ++-- spec/classes/proxy_spec.rb | 4 ++-- spec/classes/server_spec.rb | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/manifests/params.pp b/manifests/params.pp index 4bd48efe8..33186cbdd 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -194,7 +194,7 @@ # Zabbix-server $server_alertscriptspath = '/etc/zabbix/alertscripts' $server_allowroot = '0' - $server_cachesize = '8M' + $server_cachesize = '32M' $server_cacheupdatefrequency = '60' $server_config_group = 'zabbix' $server_config_owner = 'zabbix' @@ -365,7 +365,7 @@ # Proxy specific params $proxy_allowroot = '0' - $proxy_cachesize = '8M' + $proxy_cachesize = '32M' $proxy_configfile_path = '/etc/zabbix/zabbix_proxy.conf' $proxy_configfrequency = '3600' $proxy_database_host = 'localhost' diff --git a/spec/classes/proxy_spec.rb b/spec/classes/proxy_spec.rb index edbdcb982..072722905 100644 --- a/spec/classes/proxy_spec.rb +++ b/spec/classes/proxy_spec.rb @@ -202,7 +202,7 @@ let(:params) do { allowroot: '0', - cachesize: '8M', + cachesize: '32M', configfrequency: '3600', database_host: 'localhost', database_name: 'zabbix-proxy', @@ -321,7 +321,7 @@ it { is_expected.to contain_file('/etc/zabbix/zabbix_proxy.conf').with_content %r{^StartSNMPTrapper=0$} } it { is_expected.to contain_file('/etc/zabbix/zabbix_proxy.conf').with_content %r{^ListenIP=192.168.1.1$} } it { is_expected.to contain_file('/etc/zabbix/zabbix_proxy.conf').with_content %r{^HousekeepingFrequency=1$} } - it { is_expected.to contain_file('/etc/zabbix/zabbix_proxy.conf').with_content %r{^CacheSize=8M$} } + it { is_expected.to contain_file('/etc/zabbix/zabbix_proxy.conf').with_content %r{^CacheSize=32M$} } it { is_expected.to contain_file('/etc/zabbix/zabbix_proxy.conf').with_content %r{^StartDBSyncers=4$} } it { is_expected.to contain_file('/etc/zabbix/zabbix_proxy.conf').with_content %r{^HistoryCacheSize=16M$} } it { is_expected.to contain_file('/etc/zabbix/zabbix_proxy.conf').with_content %r{^Timeout=20$} } diff --git a/spec/classes/server_spec.rb b/spec/classes/server_spec.rb index 0933507f9..12eb5cb41 100644 --- a/spec/classes/server_spec.rb +++ b/spec/classes/server_spec.rb @@ -194,7 +194,7 @@ { alertscriptspath: '${datadir}/zabbix/alertscripts', allowroot: '1', - cachesize: '8M', + cachesize: '32M', cacheupdatefrequency: '30', database_host: 'localhost', database_name: 'zabbix-server', @@ -271,7 +271,7 @@ it { is_expected.to contain_file('/etc/zabbix/zabbix_server.conf').with_content %r{^AlertScriptsPath=\$\{datadir\}/zabbix/alertscripts} } it { is_expected.to contain_file('/etc/zabbix/zabbix_server.conf').with_content %r{^AllowRoot=1} } - it { is_expected.to contain_file('/etc/zabbix/zabbix_server.conf').with_content %r{^CacheSize=8M} } + it { is_expected.to contain_file('/etc/zabbix/zabbix_server.conf').with_content %r{^CacheSize=32M} } it { is_expected.to contain_file('/etc/zabbix/zabbix_server.conf').with_content %r{^CacheUpdateFrequency=30} } it { is_expected.to contain_file('/etc/zabbix/zabbix_server.conf').with_content %r{^DBHost=localhost} } it { is_expected.to contain_file('/etc/zabbix/zabbix_server.conf').with_content %r{^DBName=zabbix-server} }