Skip to content

Commit 94ca591

Browse files
committed
Drop support for Zabbix 4.0
1 parent 23a8236 commit 94ca591

File tree

8 files changed

+90
-174
lines changed

8 files changed

+90
-174
lines changed

manifests/web.pp

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -188,9 +188,6 @@
188188
if $manage_resources {
189189
# Determine correct zabbixapi version.
190190
case $zabbix_version {
191-
'4.0': {
192-
$zabbixapi_version = '4.2.0'
193-
}
194191
/^[56]\.[024]/: {
195192
$zabbixapi_version = '5.0.0-alpha1'
196193
}

spec/acceptance/zabbix_application_spec.rb

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@
99
next if zabbix_version >= '5.4'
1010

1111
template = case zabbix_version
12-
when '4.0'
13-
'Template OS Linux'
1412
when '5.0'
1513
'Template OS Linux by Zabbix agent'
1614
else

spec/acceptance/zabbix_host_spec.rb

Lines changed: 88 additions & 100 deletions
Original file line numberDiff line numberDiff line change
@@ -14,17 +14,13 @@
1414
# use for custom type tests
1515

1616
template = case zabbix_version
17-
when '4.0'
18-
['Template OS Linux', 'Template Module ICMP Ping']
1917
when '5.0'
2018
['Template OS Linux by Zabbix agent', 'Template Module ICMP Ping']
2119
else
2220
['Linux by Zabbix agent', 'ICMP Ping']
2321
end
2422

2523
template_snmp = case zabbix_version
26-
when '4.0'
27-
['Template OS Linux SNMPv2']
2824
when '5.0'
2925
['Template OS Linux SNMP']
3026
else
@@ -96,36 +92,33 @@ class { 'zabbix':
9692
apply_manifest(pp2, catch_changes: true)
9793
end
9894

99-
# Zabbix version 4.0 doesn't support interface details hash
100-
if zabbix_version != '4.0'
101-
pp3 = <<-EOS
102-
zabbix_host { 'test3.example.com':
103-
ipaddress => '127.0.0.3',
104-
use_ip => false,
105-
port => 161,
106-
groups => ['Virtual machines'],
107-
templates => #{template_snmp},
108-
macros => [],
109-
interfacetype => 2,
110-
interfacedetails => {"version" => "2", "bulk" => "0", "community" => "public"},
111-
}
112-
zabbix_host { 'test4.example.com':
113-
ipaddress => '127.0.0.4',
114-
use_ip => false,
115-
port => 161,
116-
groups => ['Virtual machines'],
117-
templates => #{template},
118-
macros => [],
119-
}
120-
EOS
95+
pp3 = <<-EOS
96+
zabbix_host { 'test3.example.com':
97+
ipaddress => '127.0.0.3',
98+
use_ip => false,
99+
port => 161,
100+
groups => ['Virtual machines'],
101+
templates => #{template_snmp},
102+
macros => [],
103+
interfacetype => 2,
104+
interfacedetails => {"version" => "2", "bulk" => "0", "community" => "public"},
105+
}
106+
zabbix_host { 'test4.example.com':
107+
ipaddress => '127.0.0.4',
108+
use_ip => false,
109+
port => 161,
110+
groups => ['Virtual machines'],
111+
templates => #{template},
112+
macros => [],
113+
}
114+
EOS
121115

122-
it 'creates hosts with SNMP interface and details without errors' do
123-
apply_manifest(pp3, catch_failures: true)
124-
end
116+
it 'creates hosts with SNMP interface and details without errors' do
117+
apply_manifest(pp3, catch_failures: true)
118+
end
125119

126-
it 'creates hosts with SNMP interface and details without changes' do
127-
apply_manifest(pp3, catch_changes: true)
128-
end
120+
it 'creates hosts with SNMP interface and details without changes' do
121+
apply_manifest(pp3, catch_changes: true)
129122
end
130123

131124
it_behaves_like 'an idempotent resource' do
@@ -240,97 +233,92 @@ class { 'zabbix':
240233
end
241234
end
242235

243-
# Zabbix version 4.0 doesn't support interface details hash
244-
if zabbix_version != '4.0'
245-
246-
context 'test3.example.com' do
247-
let(:test3) { result_hosts.select { |h| h['host'] == 'test3.example.com' }.first }
236+
context 'test3.example.com' do
237+
let(:test3) { result_hosts.select { |h| h['host'] == 'test3.example.com' }.first }
248238

249-
it 'is created' do
250-
expect(test3['host']).to eq('test3.example.com')
251-
end
252-
253-
it 'is in group Virtual machines' do
254-
expect(test3['groups'].map { |g| g['name'] }).to eq(['Virtual machines'])
255-
end
239+
it 'is created' do
240+
expect(test3['host']).to eq('test3.example.com')
241+
end
256242

257-
it 'has a correct interface dns configured' do
258-
expect(test3['interfaces'][0]['dns']).to eq('test3.example.com')
259-
end
243+
it 'is in group Virtual machines' do
244+
expect(test3['groups'].map { |g| g['name'] }).to eq(['Virtual machines'])
245+
end
260246

261-
it 'has a correct interface ip configured' do
262-
expect(test3['interfaces'][0]['ip']).to eq('127.0.0.3')
263-
end
247+
it 'has a correct interface dns configured' do
248+
expect(test3['interfaces'][0]['dns']).to eq('test3.example.com')
249+
end
264250

265-
it 'has a correct interface main configured' do
266-
expect(test3['interfaces'][0]['main']).to eq('1')
267-
end
251+
it 'has a correct interface ip configured' do
252+
expect(test3['interfaces'][0]['ip']).to eq('127.0.0.3')
253+
end
268254

269-
it 'has a correct interface port configured' do
270-
expect(test3['interfaces'][0]['port']).to eq('161')
271-
end
255+
it 'has a correct interface main configured' do
256+
expect(test3['interfaces'][0]['main']).to eq('1')
257+
end
272258

273-
it 'has a correct interface type configured' do
274-
expect(test3['interfaces'][0]['type']).to eq('2')
275-
end
259+
it 'has a correct interface port configured' do
260+
expect(test3['interfaces'][0]['port']).to eq('161')
261+
end
276262

277-
it 'has a correct interface details configured' do
278-
expect(test3['interfaces'][0]['details']).to eq('version' => '2', 'bulk' => '0', 'community' => 'public')
279-
end
263+
it 'has a correct interface type configured' do
264+
expect(test3['interfaces'][0]['type']).to eq('2')
265+
end
280266

281-
it 'has a correct interface useip configured' do
282-
expect(test3['interfaces'][0]['useip']).to eq('0')
283-
end
267+
it 'has a correct interface details configured' do
268+
expect(test3['interfaces'][0]['details']).to eq('version' => '2', 'bulk' => '0', 'community' => 'public')
269+
end
284270

285-
it 'has templates attached' do
286-
expect(test3['parentTemplates'].map { |t| t['host'] }.sort).to eq(template_snmp.sort)
287-
end
271+
it 'has a correct interface useip configured' do
272+
expect(test3['interfaces'][0]['useip']).to eq('0')
288273
end
289274

290-
context 'test4.example.com' do
291-
let(:test4) { result_hosts.select { |h| h['host'] == 'test4.example.com' }.first }
275+
it 'has templates attached' do
276+
expect(test3['parentTemplates'].map { |t| t['host'] }.sort).to eq(template_snmp.sort)
277+
end
278+
end
292279

293-
it 'is created' do
294-
expect(test4['host']).to eq('test4.example.com')
295-
end
280+
context 'test4.example.com' do
281+
let(:test4) { result_hosts.select { |h| h['host'] == 'test4.example.com' }.first }
296282

297-
it 'is in group Virtual machines' do
298-
expect(test4['groups'].map { |g| g['name'] }).to eq(['Virtual machines'])
299-
end
283+
it 'is created' do
284+
expect(test4['host']).to eq('test4.example.com')
285+
end
300286

301-
it 'has a correct interface dns configured' do
302-
expect(test4['interfaces'][0]['dns']).to eq('test4.example.com')
303-
end
287+
it 'is in group Virtual machines' do
288+
expect(test4['groups'].map { |g| g['name'] }).to eq(['Virtual machines'])
289+
end
304290

305-
it 'has a correct interface ip configured' do
306-
expect(test4['interfaces'][0]['ip']).to eq('127.0.0.4')
307-
end
291+
it 'has a correct interface dns configured' do
292+
expect(test4['interfaces'][0]['dns']).to eq('test4.example.com')
293+
end
308294

309-
it 'has a correct interface main configured' do
310-
expect(test4['interfaces'][0]['main']).to eq('1')
311-
end
295+
it 'has a correct interface ip configured' do
296+
expect(test4['interfaces'][0]['ip']).to eq('127.0.0.4')
297+
end
312298

313-
it 'has a correct interface port configured' do
314-
expect(test4['interfaces'][0]['port']).to eq('161')
315-
end
299+
it 'has a correct interface main configured' do
300+
expect(test4['interfaces'][0]['main']).to eq('1')
301+
end
316302

317-
it 'has a correct interface type configured' do
318-
expect(test4['interfaces'][0]['type']).to eq('1')
319-
end
303+
it 'has a correct interface port configured' do
304+
expect(test4['interfaces'][0]['port']).to eq('161')
305+
end
320306

321-
it 'has a correct interface details configured' do
322-
expect(test4['interfaces'][0]['details']).to eq([])
323-
end
307+
it 'has a correct interface type configured' do
308+
expect(test4['interfaces'][0]['type']).to eq('1')
309+
end
324310

325-
it 'has a correct interface useip configured' do
326-
expect(test4['interfaces'][0]['useip']).to eq('0')
327-
end
311+
it 'has a correct interface details configured' do
312+
expect(test4['interfaces'][0]['details']).to eq([])
313+
end
328314

329-
it 'has templates attached' do
330-
expect(test4['parentTemplates'].map { |t| t['host'] }.sort).to eq(template.sort)
331-
end
315+
it 'has a correct interface useip configured' do
316+
expect(test4['interfaces'][0]['useip']).to eq('0')
332317
end
333318

319+
it 'has templates attached' do
320+
expect(test4['parentTemplates'].map { |t| t['host'] }.sort).to eq(template.sort)
321+
end
334322
end
335323

336324
context 'test5.example.com' do

spec/acceptance/zabbix_template_host_spec.rb

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,6 @@
1212

1313
context "create zabbix_template_host resources with zabbix version #{zabbix_version}" do
1414
template = case zabbix_version
15-
when '4.0'
16-
'Template OS Linux'
1715
when '5.0'
1816
'Template OS Linux by Zabbix agent'
1917
else

spec/classes/proxy_spec.rb

Lines changed: 0 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -53,18 +53,6 @@
5353
it { is_expected.to contain_yumrepo('zabbix') }
5454
end
5555

56-
describe 'when manage_repo is true and zabbix version is 4.0' do
57-
let :params do
58-
{
59-
manage_repo: true,
60-
zabbix_version: '4.0'
61-
}
62-
end
63-
64-
it { is_expected.to contain_class('zabbix::repo').with_zabbix_version('4.0') }
65-
it { is_expected.to contain_package('zabbix-proxy-pgsql').with_require('Class[Zabbix::Repo]') }
66-
end
67-
6856
describe 'with enabled selinux' do
6957
let :facts do
7058
super().merge(selinux: true)
@@ -362,33 +350,6 @@
362350
it { is_expected.to contain_file('/etc/zabbix/zabbix_proxy.conf').with_content %r{^TLSCipherAll13=EECDH\+aRSA\+AES128:RSA\+aRSA\+AES128:kECDHEPSK\+AES128:kPSK\+AES128$} }
363351
end
364352

365-
context 'with zabbix_proxy.conf and version 4.0' do
366-
let :params do
367-
{
368-
tlsaccept: 'cert',
369-
tlscafile: '/etc/zabbix/keys/zabbix-server.ca',
370-
tlscrlfile: '/etc/zabbix/keys/zabbix-server.crl',
371-
tlscertfile: '/etc/zabbix/keys/zabbix-server.crt',
372-
tlskeyfile: '/etc/zabbix/keys/zabbix-server.key',
373-
tlsservercertissuer: 'Zabbix.Com',
374-
tlsservercertsubject: 'MyZabbix',
375-
tlspskidentity: '/etc/zabbix/keys/identity.file',
376-
tlspskfile: '/etc/zabbix/keys/file.key',
377-
zabbix_version: '4.0'
378-
}
379-
end
380-
381-
it { is_expected.to contain_file('/etc/zabbix/zabbix_proxy.conf').with_content %r{^TLSAccept=cert$} }
382-
it { is_expected.to contain_file('/etc/zabbix/zabbix_proxy.conf').with_content %r{^TLSCAFile=/etc/zabbix/keys/zabbix-server.ca$} }
383-
it { is_expected.to contain_file('/etc/zabbix/zabbix_proxy.conf').with_content %r{^TLSCRLFile=/etc/zabbix/keys/zabbix-server.crl$} }
384-
it { is_expected.to contain_file('/etc/zabbix/zabbix_proxy.conf').with_content %r{^TLSCertFile=/etc/zabbix/keys/zabbix-server.crt$} }
385-
it { is_expected.to contain_file('/etc/zabbix/zabbix_proxy.conf').with_content %r{^TLSKeyFile=/etc/zabbix/keys/zabbix-server.key$} }
386-
it { is_expected.to contain_file('/etc/zabbix/zabbix_proxy.conf').with_content %r{^TLSServerCertIssuer=Zabbix.Com$} }
387-
it { is_expected.to contain_file('/etc/zabbix/zabbix_proxy.conf').with_content %r{^TLSServerCertSubject=MyZabbix$} }
388-
it { is_expected.to contain_file('/etc/zabbix/zabbix_proxy.conf').with_content %r{^TLSPSKIdentity=/etc/zabbix/keys/identity.file$} }
389-
it { is_expected.to contain_file('/etc/zabbix/zabbix_proxy.conf').with_content %r{^TLSPSKFile=/etc/zabbix/keys/file.key$} }
390-
end
391-
392353
context 'with zabbix_proxy.conf and version 5.0' do
393354
let :params do
394355
{

spec/classes/repo_spec.rb

Lines changed: 0 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -31,17 +31,6 @@
3131

3232
case facts[:os]['release']['major']
3333
when '10'
34-
context 'on Debian 10 and Zabbix 4.0' do
35-
let :params do
36-
{
37-
zabbix_version: '4.0',
38-
manage_repo: true
39-
}
40-
end
41-
42-
it { is_expected.to contain_apt__source('zabbix').with_location('http://repo.zabbix.com/zabbix/4.0/debian/') }
43-
end
44-
4534
context 'on Debian 10 and Zabbix 5.0' do
4635
let :params do
4736
{
@@ -82,21 +71,6 @@
8271

8372
case facts[:os]['release']['major']
8473
when '7'
85-
86-
context 'on RedHat 7 and Zabbix 4.0' do
87-
let :params do
88-
{
89-
zabbix_version: '4.0',
90-
manage_repo: true
91-
}
92-
end
93-
94-
it { is_expected.to contain_yumrepo('zabbix').with_baseurl('https://repo.zabbix.com/zabbix/4.0/rhel/7/$basearch/') }
95-
it { is_expected.to contain_yumrepo('zabbix').with_gpgkey('https://repo.zabbix.com/RPM-GPG-KEY-ZABBIX-A14FE591') }
96-
it { is_expected.to contain_yumrepo('zabbix-nonsupported').with_baseurl('https://repo.zabbix.com/non-supported/rhel/7/$basearch/') }
97-
it { is_expected.to contain_yumrepo('zabbix-nonsupported').with_gpgkey('https://repo.zabbix.com/RPM-GPG-KEY-ZABBIX-79EA5ED4') }
98-
end
99-
10074
context 'on RedHat 7 and Zabbix 5.0' do
10175
let :params do
10276
{

spec/classes/web_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@
179179
zabbix_server: 'localhost',
180180
zabbix_listenport: '3306',
181181
zabbix_server_name: 'localhost',
182-
zabbix_version: '4.0'
182+
zabbix_version: '6.0'
183183
)
184184
end
185185

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# frozen_string_literal: true
22

33
def supported_versions
4-
%w[4.0 5.0 6.0]
4+
%w[5.0 6.0]
55
end

0 commit comments

Comments
 (0)