From 29f66e9004c85fafbee6fa4a3ae6099293e4af7f Mon Sep 17 00:00:00 2001 From: Robin Friberg Date: Fri, 18 Aug 2017 22:04:52 +0200 Subject: [PATCH] Support multiple zabbix_alias --- manifests/agent.pp | 2 +- spec/classes/agent_spec.rb | 22 ++++++++++++++++++++++ templates/zabbix_agentd.conf.erb | 6 +++++- 3 files changed, 28 insertions(+), 2 deletions(-) diff --git a/manifests/agent.pp b/manifests/agent.pp index b21eba909..127f4ff09 100644 --- a/manifests/agent.pp +++ b/manifests/agent.pp @@ -235,7 +235,7 @@ $buffersend = $zabbix::params::agent_buffersend, $buffersize = $zabbix::params::agent_buffersize, $maxlinespersecond = $zabbix::params::agent_maxlinespersecond, - $zabbix_alias = $zabbix::params::agent_zabbix_alias, + Optional[Array] $zabbix_alias = $zabbix::params::agent_zabbix_alias, $timeout = $zabbix::params::agent_timeout, $allowroot = $zabbix::params::agent_allowroot, $zabbix_user = $zabbix::params::agent_zabbix_user, diff --git a/spec/classes/agent_spec.rb b/spec/classes/agent_spec.rb index 7921e110e..cf5c2ebce 100644 --- a/spec/classes/agent_spec.rb +++ b/spec/classes/agent_spec.rb @@ -143,6 +143,28 @@ it { is_expected.not_to contain_file('/etc/systemd/system/zabbix-agent.service') } end end + + context 'when declaring zabbix_alias' do + let :params do + { + zabbix_alias: %w[testname] + } + end + + it { is_expected.to contain_file(config_path).with_content %r{^Alias=testname$} } + end + + context 'when declaring zabbix_alias as array' do + let :params do + { + zabbix_alias: %w[name1 name2] + } + end + + it { is_expected.to contain_file(config_path).with_content %r{^Alias=name1$} } + it { is_expected.to contain_file(config_path).with_content %r{^Alias=name2$} } + end + context 'configuration file with full options' do let :params do { diff --git a/templates/zabbix_agentd.conf.erb b/templates/zabbix_agentd.conf.erb index 7f8fe4202..fdc16317e 100644 --- a/templates/zabbix_agentd.conf.erb +++ b/templates/zabbix_agentd.conf.erb @@ -179,7 +179,11 @@ MaxLinesPerSecond=<%= @maxlinespersecond %> # Now shorthand key zabbix.userid may be used to retrieve data. # Aliases can be used in HostMetadataItem but not in HostnameItem parameters. # -<% if @zabbix_alias %>Alias=<%= @zabbix_alias %><% end %> +<% if @zabbix_alias %> + <%- @zabbix_alias.each do |zalias| -%>Alias=<%= zalias %> + <%- end -%> +<% end %> + ### Option: Timeout # Spend no more than Timeout seconds on processing