From 896009f6fda293ac3d6b8f6e8d4ca2b410c0a36d Mon Sep 17 00:00:00 2001 From: pleimer Date: Thu, 15 Oct 2020 14:49:28 -0400 Subject: [PATCH] Puppet config options for AMQP1 sensubility transport This patch introduces configuration options to setup collectd sensubility to use the AMQP1 transport. This is primarily for STF compatability. Change-Id: I5a153004e0175f6826bfd10ac25b7e6f9ce09b96 (cherry picked from commit 275dfedb9d5610e5fecd231c77ef36435fc78bef) --- .../base/metrics/collectd/sensubility.pp | 23 ++++++++++++++-- .../metrics/collectd-sensubility.conf.epp | 27 ++++++++++++------- 2 files changed, 38 insertions(+), 12 deletions(-) diff --git a/manifests/profile/base/metrics/collectd/sensubility.pp b/manifests/profile/base/metrics/collectd/sensubility.pp index ef3c379db..bde84f66a 100644 --- a/manifests/profile/base/metrics/collectd/sensubility.pp +++ b/manifests/profile/base/metrics/collectd/sensubility.pp @@ -104,6 +104,19 @@ # (Optional) String. Rule which will be saved in /etc/sudoers.d for user specified # by parameter exec_user. # Defaults to undef +# +# [*results_format*] +# (Optional) String. Set message format compatability. Options are +# [smartgateway,sensu] +# Defaults to smartgateway +# +# [*results_channel*] +# String. Target AMQP1 channel address to which messages should be sent +# Defaults to undef +# +# [*transport*] +# String. Bus type for message transport. Options are 'sensu' (rabbitmq) or 'amqp1' +# Defaults to 'sensu' class tripleo::profile::base::metrics::collectd::sensubility ( $ensure = 'present', $config_path = '/etc/collectd-sensubility.conf', @@ -124,7 +137,10 @@ class tripleo::profile::base::metrics::collectd::sensubility ( $amqp_password = undef, $exec_user = 'collectd', $exec_group = 'collectd', - $exec_sudo_rule = undef + $exec_sudo_rule = undef, + $results_format = 'smartgateway', + $results_channel = undef, + $transport = 'sensu' ) { include ::collectd include ::collectd::plugin::exec @@ -151,7 +167,10 @@ class tripleo::profile::base::metrics::collectd::sensubility ( amqp_host => $amqp_host, amqp_port => $amqp_port, amqp_user => $amqp_user, - amqp_password => $amqp_password + amqp_password => $amqp_password, + results_format => $results_format, + results_channel => $results_channel, + transport => $transport }) } diff --git a/templates/metrics/collectd-sensubility.conf.epp b/templates/metrics/collectd-sensubility.conf.epp index c5604a276..697b787dd 100644 --- a/templates/metrics/collectd-sensubility.conf.epp +++ b/templates/metrics/collectd-sensubility.conf.epp @@ -10,9 +10,12 @@ Optional[Integer] $worker_count, Optional[String] $checks, Optional[String] $amqp_host, - Optional[String] $amqp_port, + Optional[Integer] $amqp_port, Optional[String] $amqp_user, - Optional[String] $amqp_password + Optional[String] $amqp_password, + Optional[String] $results_format, + Optional[String] $results_channel, + Variant[Enum['sensu','amqp1']] $transport | -%> [default] @@ -24,6 +27,7 @@ log_level=<%=$log_level%> <%- } -%> [sensu] +<% if $transport == 'sensu' { -%> <% unless $connection =~ Undef { -%> connection=<%=$connection%> <%- } -%> @@ -36,6 +40,7 @@ client_name=<%=$client_name%> <% unless $client_address =~ Undef { -%> client_address=<%=$client_address%> <%- } -%> +<%- } -%> <% unless $keepalive_interval =~ Undef { -%> keepalive_interval=<%=$keepalive_interval%> <%- } -%> @@ -53,15 +58,17 @@ checks=<%=$checks%> <%- } -%> [amqp1] -<% unless $amqp_host =~ Undef { -%> -host=<%=$amqp_host%> +<% if $transport == 'amqp1' { -%> +<% unless $client_address =~ Undef and $amqp_port =~ Undef { -%> +connection=amqp://<%=$client_address%>:<%=$amqp_port%> <%- } -%> -<% unless $amqp_port =~ Undef { -%> -port=<%=$amqp_port%> +<% unless $results_channel =~ Undef { -%> +results_channel=<%=$results_channel%> <%- } -%> -<% unless $amqp_user =~ Undef { -%> -user=<%=$amqp_user%> +<% unless $client_name =~ Undef { -%> +client_name=<%=$client_name%> +<%- } -%> +<% unless $results_format =~ Undef { -%> +results_format=<%=$results_format%> <%- } -%> -<% unless $amqp_password =~ Undef { -%> -password=<%=$amqp_password%> <%- } -%>