From bfc4bfc33b6ea077f4f686fe98cf8dcc84dde322 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9r=C3=A9mie=20Gaidamour?= <jeremie.gaidamour@inria.fr>
Date: Tue, 29 Mar 2016 15:50:20 +0200
Subject: [PATCH] [dev] Update the logic for switch info + pdu

---
 dev/reference-api/reference-api.rb | 17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

diff --git a/dev/reference-api/reference-api.rb b/dev/reference-api/reference-api.rb
index 2b0f6b90198..f700ce36bed 100755
--- a/dev/reference-api/reference-api.rb
+++ b/dev/reference-api/reference-api.rb
@@ -110,8 +110,8 @@ global_hash["sites"].each do |site_uid, site|
         network_adapter["ib_switch_card"]     = network_adapter.delete("line_card") if network_adapter.key?("line_card")
         network_adapter["ib_switch_card_pos"] = network_adapter.delete("position")  if network_adapter.key?("position")
 
-        # Management network_adapter (bmc)
         if network_adapter["management"]
+          # Management network_adapter (bmc)
           network_adapter["network_address"] = "#{node_uid}-bmc.#{site_uid}.grid5000.fr"
         elsif network_adapter["mounted"] and /^eth[0-9]$/.match(network_adapter["device"])
           # Primary network_adapter
@@ -121,10 +121,12 @@ global_hash["sites"].each do |site_uid, site|
           network_adapter["switch"], network_adapter["switch_port"] = net_switch_port_lookup(site, node_uid, network_adapter["device"]) || net_switch_port_lookup(site, node_uid)
         else
           # Secondary network_adapter(s)
-          network_adapter["network_address"] = "#{node_uid}-#{network_adapter["device"]}.#{site_uid}.grid5000.fr" if network_adapter["enabled"]
-          switch, port = net_switch_port_lookup(site, node_uid, network_adapter["device"])
-          network_adapter["switch"] = switch if switch
-          network_adapter["switch_port"] = port if port
+          network_adapter["network_address"] = "#{node_uid}-#{network_adapter["device"]}.#{site_uid}.grid5000.fr" if network_adapter["enabled"] && network_adapter["mounted"]
+          if network_adapter["mountable"]
+            switch, port = net_switch_port_lookup(site, node_uid, network_adapter["device"])
+            network_adapter["switch"] = switch if switch
+            network_adapter["switch_port"] = port if port
+          end
         end
       }
 
@@ -166,7 +168,10 @@ global_hash["sites"].each do |site_uid, site|
        
         #pp node["monitoring"]["wattmeter"]
 
-        if node["monitoring"]["wattmeter"] != "false"
+        if node["monitoring"]["wattmeter"] == "yes"
+          node["sensors"]["power"]["via"]["api"] ||= {}
+          node["sensors"]["power"]["via"]["api"]["metric"] = "pdu"
+        elsif node["monitoring"]["wattmeter"] != "false"
           node["sensors"]["power"]["via"]["api"] ||= {}
           node["sensors"]["power"]["via"]["api"]["metric"] = "power"
         end
-- 
GitLab