From 414e1d052ef2931493b6f638048a14ce6173b03c Mon Sep 17 00:00:00 2001
From: Patrice RINGOT <patrice.ringot@loria.fr>
Date: Fri, 22 May 2020 17:17:48 +0200
Subject: [PATCH] [lib] kwollect - fix loader and puppet generator code to run
 with Ruby 2.1.5

---
 lib/refrepo/gen/puppet/kwollectg5k.rb                 | 2 +-
 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 +-
 lib/refrepo/input_loader.rb                           | 4 ++--
 5 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/lib/refrepo/gen/puppet/kwollectg5k.rb b/lib/refrepo/gen/puppet/kwollectg5k.rb
index 4a97397b47..2ddbcf63f9 100644
--- a/lib/refrepo/gen/puppet/kwollectg5k.rb
+++ b/lib/refrepo/gen/puppet/kwollectg5k.rb
@@ -82,7 +82,7 @@ def generate_puppet_kwollectg5k(options)
         if not wattmetre_port_per_node.key?(node)
           wattmetre_port_per_node[node] = []
         end
-        wattmetre_port_per_node[node].append("#{pdu_uid}-port#{port}")
+        wattmetre_port_per_node[node] << "#{pdu_uid}-port#{port}"
       }
     }
     if not wattmetre_port_per_node.empty?
diff --git a/lib/refrepo/gen/puppet/templates/kwollect-network.erb b/lib/refrepo/gen/puppet/templates/kwollect-network.erb
index eedf37b4dd..79a73c11c6 100644
--- a/lib/refrepo/gen/puppet/templates/kwollect-network.erb
+++ b/lib/refrepo/gen/puppet/templates/kwollect-network.erb
@@ -13,8 +13,8 @@ neteq.fetch('metrics', []).each {|metric|
         port_uid = neteq['linecards'].length > 1 ? "#{linecard_uid}_#{lport_uid}" : lport_uid
         port_name = lport['snmp_name']
         port_node = lport['uid']
-        labels = lport['kind'] == 'node' ? {'interface': lport['port']} : {}
-        labels.update({'_device_alias': port_node})
+        labels = lport['kind'] == 'node' ? {'interface' => lport['port']} : {}
+        labels.update({'_device_alias' => port_node})
 -%>
 - name: <%= metric['name'] %>
   device_id: <%= neteq_uid %>-port-<%= port_uid %>
diff --git a/lib/refrepo/gen/puppet/templates/kwollect-node.erb b/lib/refrepo/gen/puppet/templates/kwollect-node.erb
index 6b1aab0bcb..71426c0ff0 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'] %>
-  labels: <%= metric.fetch('labels', {}).update({'_device_alias': node_uid+'-bmc'}).to_json %>
+  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 792a8535e1..85bb310101 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 -%>
-  labels: <%= {'_device_alias': node_uid}.to_json %>
+  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'] %>
diff --git a/lib/refrepo/input_loader.rb b/lib/refrepo/input_loader.rb
index c1c24c151f..29623865a4 100644
--- a/lib/refrepo/input_loader.rb
+++ b/lib/refrepo/input_loader.rb
@@ -249,8 +249,8 @@ def add_network_metrics(h)
         site.fetch('networks', {}).fetch(switch, {}).fetch('metrics', []).select{|m| m['name'] =~ /network_.*_bytes_total/}.each do |metric|
 
           # add this metric to cluster's list of available metrics, associated to node interface
-          new_metric = metric.merge({"labels": {"interface": iface_uid}})
-          new_metric["source"] = {"protocol": "network_equipment"}
+          new_metric = metric.merge({"labels" => {"interface" => iface_uid}})
+          new_metric["source"] = {"protocol" => "network_equipment"}
           cluster['metrics'].push(new_metric)
         end
       end
-- 
GitLab