From 0537634773d01641ad3f135ccd1a2de28d1fd402 Mon Sep 17 00:00:00 2001 From: Simon Delamare <simon.delamare@ens-lyon.fr> Date: Tue, 19 May 2020 10:54:32 +0200 Subject: [PATCH] [lib] Update kwollect generator to support labels --- lib/refrepo/gen/puppet/templates/kwollect-network.erb | 4 +++- lib/refrepo/gen/puppet/templates/kwollect-node.erb | 2 +- lib/refrepo/gen/puppet/templates/kwollect-pdu.erb | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/refrepo/gen/puppet/templates/kwollect-network.erb b/lib/refrepo/gen/puppet/templates/kwollect-network.erb index eef8059b95..9d7e9864fa 100644 --- a/lib/refrepo/gen/puppet/templates/kwollect-network.erb +++ b/lib/refrepo/gen/puppet/templates/kwollect-network.erb @@ -14,10 +14,12 @@ neteq.fetch('metrics', []).each {|metric| port_name = lport['snmp_name'] # TODO: Handle secondary interface port_node = lport['uid'] + labels = lport['kind'] == 'node' ? {'interface': lport['port']} : {} + labels.update({'_device_alias': port_node}) -%> - name: <%= metric['name'] %> device_id: <%= neteq_uid %>-port-<%= port_uid %> - device_alias: <%= port_node %> + labels: <%= labels.to_json %> url: snmp://<%= neteq.fetch('snmp_community', 'public')%>@<%= neteq_uid %>.<%= site_uid %>.grid5000.fr/<%= metric['source']['id'].sub('%SNMP_IFACE%', "{{ #{port_name} }}") %> update_every: <%= metric['period'] > 0 ? metric['period'] : metric['optional_period'] %> <%- if metric['period'] == 0 -%> diff --git a/lib/refrepo/gen/puppet/templates/kwollect-node.erb b/lib/refrepo/gen/puppet/templates/kwollect-node.erb index b7d7363b21..6b1aab0bcb 100644 --- a/lib/refrepo/gen/puppet/templates/kwollect-node.erb +++ b/lib/refrepo/gen/puppet/templates/kwollect-node.erb @@ -22,7 +22,7 @@ cluster.fetch('metrics', []).each {|metric| - name: <%= metric['name'] %> device_id: <%= node_uid %> url: <%= metric['source']['protocol'] %>://<%= auth %><%= node_uid %>-bmc.<%= site_uid %>.grid5000.fr/<%= metric['source']['id'] %> - device_alias: <%= node_uid %>-bmc + labels: <%= metric.fetch('labels', {}).update({'_device_alias': node_uid+'-bmc'}).to_json %> update_every: <%= metric['period'] > 0 ? metric['period'] : metric['optional_period'] %> <%- if metric['period'] == 0 -%> optional: true diff --git a/lib/refrepo/gen/puppet/templates/kwollect-pdu.erb b/lib/refrepo/gen/puppet/templates/kwollect-pdu.erb index 2a87b87c7e..792a8535e1 100644 --- a/lib/refrepo/gen/puppet/templates/kwollect-pdu.erb +++ b/lib/refrepo/gen/puppet/templates/kwollect-pdu.erb @@ -14,7 +14,7 @@ pdu.fetch('metrics', []).each {|metric| - name: <%= metric['name'] %> device_id: <%= pdu_uid %>-port-<%= port_uid %> <%- if single_port -%> - device_alias: <%= node_uid %> + labels: <%= {'_device_alias': node_uid}.to_json %> <%- end -%> url: snmp://<%= pdu.fetch('snmp_community', 'public')%>@<%= pdu_uid %>.<%= site_uid %>.grid5000.fr/<%= metric['source']['id'].sub('%PORT%', "#{port_uid}") %> update_every: <%= metric['period'] > 0 ? metric['period'] : metric['optional_period'] %> -- GitLab