From 800061a1ee6c0832221d92c8eff30e313c59d468 Mon Sep 17 00:00:00 2001
From: Baptiste Jonglez <baptiste.jonglez@imag.fr>
Date: Mon, 9 Nov 2020 14:50:42 +0100
Subject: [PATCH] [grenoble] [network] Add sw-ibm (temporary switch for drac)
 and necessary topology

---
 .../grenoble/clusters/drac/nodes/drac-1.json  |   4 +-
 .../grenoble/clusters/drac/nodes/drac-10.json |   4 +-
 .../grenoble/clusters/drac/nodes/drac-11.json |   4 +-
 .../grenoble/clusters/drac/nodes/drac-12.json |   4 +-
 .../grenoble/clusters/drac/nodes/drac-2.json  |   4 +-
 .../grenoble/clusters/drac/nodes/drac-3.json  |   4 +-
 .../grenoble/clusters/drac/nodes/drac-4.json  |   4 +-
 .../grenoble/clusters/drac/nodes/drac-5.json  |   4 +-
 .../grenoble/clusters/drac/nodes/drac-6.json  |   4 +-
 .../grenoble/clusters/drac/nodes/drac-7.json  |   4 +-
 .../grenoble/clusters/drac/nodes/drac-8.json  |   4 +-
 .../grenoble/clusters/drac/nodes/drac-9.json  |   4 +-
 .../sites/grenoble/network_equipments/gw.json |  13 +-
 .../grenoble/network_equipments/sw-ibm.json   | 177 ++++++++++++++++++
 .../grid5000/sites/grenoble/networks/gw.yaml  |   9 +-
 .../sites/grenoble/networks/sw-ibm.yaml       |  30 +++
 16 files changed, 239 insertions(+), 38 deletions(-)
 create mode 100644 data/grid5000/sites/grenoble/network_equipments/sw-ibm.json
 create mode 100644 input/grid5000/sites/grenoble/networks/sw-ibm.yaml

diff --git a/data/grid5000/sites/grenoble/clusters/drac/nodes/drac-1.json b/data/grid5000/sites/grenoble/clusters/drac/nodes/drac-1.json
index dc130989c17..2f945240f13 100644
--- a/data/grid5000/sites/grenoble/clusters/drac/nodes/drac-1.json
+++ b/data/grid5000/sites/grenoble/clusters/drac/nodes/drac-1.json
@@ -88,8 +88,8 @@
       "name": "enP1p1s0f3",
       "network_address": "drac-1.grenoble.grid5000.fr",
       "rate": 1000000000,
-      "switch": null,
-      "switch_port": null,
+      "switch": "sw-ibm",
+      "switch_port": "13",
       "vendor": "Broadcom"
     },
     {
diff --git a/data/grid5000/sites/grenoble/clusters/drac/nodes/drac-10.json b/data/grid5000/sites/grenoble/clusters/drac/nodes/drac-10.json
index d1611f35942..3867d3b7cda 100644
--- a/data/grid5000/sites/grenoble/clusters/drac/nodes/drac-10.json
+++ b/data/grid5000/sites/grenoble/clusters/drac/nodes/drac-10.json
@@ -88,8 +88,8 @@
       "name": "enP1p1s0f3",
       "network_address": "drac-10.grenoble.grid5000.fr",
       "rate": 1000000000,
-      "switch": null,
-      "switch_port": null,
+      "switch": "sw-ibm",
+      "switch_port": "22",
       "vendor": "Broadcom"
     },
     {
diff --git a/data/grid5000/sites/grenoble/clusters/drac/nodes/drac-11.json b/data/grid5000/sites/grenoble/clusters/drac/nodes/drac-11.json
index e70bc68928f..6573d31802f 100644
--- a/data/grid5000/sites/grenoble/clusters/drac/nodes/drac-11.json
+++ b/data/grid5000/sites/grenoble/clusters/drac/nodes/drac-11.json
@@ -88,8 +88,8 @@
       "name": "enP1p1s0f3",
       "network_address": "drac-11.grenoble.grid5000.fr",
       "rate": 1000000000,
-      "switch": null,
-      "switch_port": null,
+      "switch": "sw-ibm",
+      "switch_port": "23",
       "vendor": "Broadcom"
     },
     {
diff --git a/data/grid5000/sites/grenoble/clusters/drac/nodes/drac-12.json b/data/grid5000/sites/grenoble/clusters/drac/nodes/drac-12.json
index a3a384b7cee..4c006d6875b 100644
--- a/data/grid5000/sites/grenoble/clusters/drac/nodes/drac-12.json
+++ b/data/grid5000/sites/grenoble/clusters/drac/nodes/drac-12.json
@@ -88,8 +88,8 @@
       "name": "enP1p1s0f3",
       "network_address": "drac-12.grenoble.grid5000.fr",
       "rate": 1000000000,
-      "switch": null,
-      "switch_port": null,
+      "switch": "sw-ibm",
+      "switch_port": "24",
       "vendor": "Broadcom"
     },
     {
diff --git a/data/grid5000/sites/grenoble/clusters/drac/nodes/drac-2.json b/data/grid5000/sites/grenoble/clusters/drac/nodes/drac-2.json
index cbb7a925038..e6dcd2c5882 100644
--- a/data/grid5000/sites/grenoble/clusters/drac/nodes/drac-2.json
+++ b/data/grid5000/sites/grenoble/clusters/drac/nodes/drac-2.json
@@ -88,8 +88,8 @@
       "name": "enP1p1s0f3",
       "network_address": "drac-2.grenoble.grid5000.fr",
       "rate": 1000000000,
-      "switch": null,
-      "switch_port": null,
+      "switch": "sw-ibm",
+      "switch_port": "14",
       "vendor": "Broadcom"
     },
     {
diff --git a/data/grid5000/sites/grenoble/clusters/drac/nodes/drac-3.json b/data/grid5000/sites/grenoble/clusters/drac/nodes/drac-3.json
index 327aa96203d..938fd14ca10 100644
--- a/data/grid5000/sites/grenoble/clusters/drac/nodes/drac-3.json
+++ b/data/grid5000/sites/grenoble/clusters/drac/nodes/drac-3.json
@@ -88,8 +88,8 @@
       "name": "enP1p1s0f3",
       "network_address": "drac-3.grenoble.grid5000.fr",
       "rate": 1000000000,
-      "switch": null,
-      "switch_port": null,
+      "switch": "sw-ibm",
+      "switch_port": "15",
       "vendor": "Broadcom"
     },
     {
diff --git a/data/grid5000/sites/grenoble/clusters/drac/nodes/drac-4.json b/data/grid5000/sites/grenoble/clusters/drac/nodes/drac-4.json
index d488cd7055f..cfb5c7c9511 100644
--- a/data/grid5000/sites/grenoble/clusters/drac/nodes/drac-4.json
+++ b/data/grid5000/sites/grenoble/clusters/drac/nodes/drac-4.json
@@ -88,8 +88,8 @@
       "name": "enP1p1s0f3",
       "network_address": "drac-4.grenoble.grid5000.fr",
       "rate": 1000000000,
-      "switch": null,
-      "switch_port": null,
+      "switch": "sw-ibm",
+      "switch_port": "16",
       "vendor": "Broadcom"
     },
     {
diff --git a/data/grid5000/sites/grenoble/clusters/drac/nodes/drac-5.json b/data/grid5000/sites/grenoble/clusters/drac/nodes/drac-5.json
index 22675bc987d..9d38381406b 100644
--- a/data/grid5000/sites/grenoble/clusters/drac/nodes/drac-5.json
+++ b/data/grid5000/sites/grenoble/clusters/drac/nodes/drac-5.json
@@ -88,8 +88,8 @@
       "name": "enP1p1s0f3",
       "network_address": "drac-5.grenoble.grid5000.fr",
       "rate": 1000000000,
-      "switch": null,
-      "switch_port": null,
+      "switch": "sw-ibm",
+      "switch_port": "17",
       "vendor": "Broadcom"
     },
     {
diff --git a/data/grid5000/sites/grenoble/clusters/drac/nodes/drac-6.json b/data/grid5000/sites/grenoble/clusters/drac/nodes/drac-6.json
index 457fe0e1c86..4dc949d3211 100644
--- a/data/grid5000/sites/grenoble/clusters/drac/nodes/drac-6.json
+++ b/data/grid5000/sites/grenoble/clusters/drac/nodes/drac-6.json
@@ -88,8 +88,8 @@
       "name": "enP1p1s0f3",
       "network_address": "drac-6.grenoble.grid5000.fr",
       "rate": 1000000000,
-      "switch": null,
-      "switch_port": null,
+      "switch": "sw-ibm",
+      "switch_port": "18",
       "vendor": "Broadcom"
     },
     {
diff --git a/data/grid5000/sites/grenoble/clusters/drac/nodes/drac-7.json b/data/grid5000/sites/grenoble/clusters/drac/nodes/drac-7.json
index fc69cb5a2d9..796936d8b0e 100644
--- a/data/grid5000/sites/grenoble/clusters/drac/nodes/drac-7.json
+++ b/data/grid5000/sites/grenoble/clusters/drac/nodes/drac-7.json
@@ -88,8 +88,8 @@
       "name": "enP1p1s0f3",
       "network_address": "drac-7.grenoble.grid5000.fr",
       "rate": 1000000000,
-      "switch": null,
-      "switch_port": null,
+      "switch": "sw-ibm",
+      "switch_port": "19",
       "vendor": "Broadcom"
     },
     {
diff --git a/data/grid5000/sites/grenoble/clusters/drac/nodes/drac-8.json b/data/grid5000/sites/grenoble/clusters/drac/nodes/drac-8.json
index aed115305a1..92708fef08e 100644
--- a/data/grid5000/sites/grenoble/clusters/drac/nodes/drac-8.json
+++ b/data/grid5000/sites/grenoble/clusters/drac/nodes/drac-8.json
@@ -88,8 +88,8 @@
       "name": "enP1p1s0f3",
       "network_address": "drac-8.grenoble.grid5000.fr",
       "rate": 1000000000,
-      "switch": null,
-      "switch_port": null,
+      "switch": "sw-ibm",
+      "switch_port": "20",
       "vendor": "Broadcom"
     },
     {
diff --git a/data/grid5000/sites/grenoble/clusters/drac/nodes/drac-9.json b/data/grid5000/sites/grenoble/clusters/drac/nodes/drac-9.json
index 2c39fd075f3..cecbf510f1c 100644
--- a/data/grid5000/sites/grenoble/clusters/drac/nodes/drac-9.json
+++ b/data/grid5000/sites/grenoble/clusters/drac/nodes/drac-9.json
@@ -88,8 +88,8 @@
       "name": "enP1p1s0f3",
       "network_address": "drac-9.grenoble.grid5000.fr",
       "rate": 1000000000,
-      "switch": null,
-      "switch_port": null,
+      "switch": "sw-ibm",
+      "switch_port": "21",
       "vendor": "Broadcom"
     },
     {
diff --git a/data/grid5000/sites/grenoble/network_equipments/gw.json b/data/grid5000/sites/grenoble/network_equipments/gw.json
index 8bc138f6d08..920928311e3 100644
--- a/data/grid5000/sites/grenoble/network_equipments/gw.json
+++ b/data/grid5000/sites/grenoble/network_equipments/gw.json
@@ -265,21 +265,18 @@
           "uid": "dighyp2"
         },
         {
-          "kind": "server",
-          "snmp_name": "X670V-48x Port 43",
-          "uid": "digsed"
         },
         {
-          "kind": "server",
-          "snmp_name": "X670V-48x Port 44",
-          "uid": "digsed"
         },
         {
-          "kind": "server",
+          "kind": "switch",
           "snmp_name": "X670V-48x Port 45",
-          "uid": "digwatt"
+          "uid": "sw-ibm"
         },
         {
+          "kind": "server",
+          "snmp_name": "X670V-48x Port 46",
+          "uid": "digwatt"
         },
         {
         },
diff --git a/data/grid5000/sites/grenoble/network_equipments/sw-ibm.json b/data/grid5000/sites/grenoble/network_equipments/sw-ibm.json
new file mode 100644
index 00000000000..d7e5aa55d22
--- /dev/null
+++ b/data/grid5000/sites/grenoble/network_equipments/sw-ibm.json
@@ -0,0 +1,177 @@
+{
+  "kind": "switch",
+  "linecards": [
+    {
+      "kind": "node",
+      "ports": [
+        {
+        },
+        {
+        },
+        {
+        },
+        {
+        },
+        {
+        },
+        {
+        },
+        {
+        },
+        {
+        },
+        {
+        },
+        {
+        },
+        {
+        },
+        {
+        },
+        {
+        },
+        {
+          "kind": "node",
+          "port": "eth3",
+          "snmp_name": "13",
+          "uid": "drac-1"
+        },
+        {
+          "kind": "node",
+          "port": "eth3",
+          "snmp_name": "14",
+          "uid": "drac-2"
+        },
+        {
+          "kind": "node",
+          "port": "eth3",
+          "snmp_name": "15",
+          "uid": "drac-3"
+        },
+        {
+          "kind": "node",
+          "port": "eth3",
+          "snmp_name": "16",
+          "uid": "drac-4"
+        },
+        {
+          "kind": "node",
+          "port": "eth3",
+          "snmp_name": "17",
+          "uid": "drac-5"
+        },
+        {
+          "kind": "node",
+          "port": "eth3",
+          "snmp_name": "18",
+          "uid": "drac-6"
+        },
+        {
+          "kind": "node",
+          "port": "eth3",
+          "snmp_name": "19",
+          "uid": "drac-7"
+        },
+        {
+          "kind": "node",
+          "port": "eth3",
+          "snmp_name": "20",
+          "uid": "drac-8"
+        },
+        {
+          "kind": "node",
+          "port": "eth3",
+          "snmp_name": "21",
+          "uid": "drac-9"
+        },
+        {
+          "kind": "node",
+          "port": "eth3",
+          "snmp_name": "22",
+          "uid": "drac-10"
+        },
+        {
+          "kind": "node",
+          "port": "eth3",
+          "snmp_name": "23",
+          "uid": "drac-11"
+        },
+        {
+          "kind": "node",
+          "port": "eth3",
+          "snmp_name": "24",
+          "uid": "drac-12"
+        },
+        {
+        },
+        {
+        },
+        {
+        },
+        {
+        },
+        {
+        },
+        {
+        },
+        {
+        },
+        {
+        },
+        {
+        },
+        {
+        },
+        {
+        },
+        {
+        },
+        {
+        },
+        {
+        },
+        {
+        },
+        {
+        },
+        {
+        },
+        {
+        },
+        {
+        },
+        {
+        },
+        {
+        },
+        {
+        },
+        {
+        },
+        {
+        },
+        {
+        },
+        {
+        },
+        {
+        },
+        {
+          "kind": "router",
+          "rate": 10000000000,
+          "snmp_name": "52",
+          "uid": "gw"
+        }
+      ],
+      "rate": 1000000000,
+      "snmp_pattern": "%PORT%"
+    }
+  ],
+  "model": "IBM RackSwitch G8052",
+  "role": "production",
+  "site": "grenoble",
+  "snmp_community": "public",
+  "type": "network_equipment",
+  "uid": "sw-ibm",
+  "warranty": "expired"
+}
\ No newline at end of file
diff --git a/input/grid5000/sites/grenoble/networks/gw.yaml b/input/grid5000/sites/grenoble/networks/gw.yaml
index 3f888377f07..6a67a9d3059 100644
--- a/input/grid5000/sites/grenoble/networks/gw.yaml
+++ b/input/grid5000/sites/grenoble/networks/gw.yaml
@@ -129,13 +129,10 @@ gw:
         42:
           uid: dighyp2
           kind: server
-        43:
-          uid: digsed
-          kind: server
-        44:
-          uid: digsed
-          kind: server
         45:
+          uid: sw-ibm
+          kind: switch
+        46:
           uid: digwatt
           kind: server
         48:
diff --git a/input/grid5000/sites/grenoble/networks/sw-ibm.yaml b/input/grid5000/sites/grenoble/networks/sw-ibm.yaml
new file mode 100644
index 00000000000..fbef6f59fb9
--- /dev/null
+++ b/input/grid5000/sites/grenoble/networks/sw-ibm.yaml
@@ -0,0 +1,30 @@
+---
+sw-ibm:
+  role: production
+  model: IBM RackSwitch G8052
+  kind: switch
+  site: grenoble
+  warranty: expired
+  snmp_community: public
+  linecards:
+    0:
+      snmp_pattern: "%PORT%"
+      kind: node
+      rate: 1000000000
+      ports:
+        13: drac-1-eth3
+        14: drac-2-eth3
+        15: drac-3-eth3
+        16: drac-4-eth3
+        17: drac-5-eth3
+        18: drac-6-eth3
+        19: drac-7-eth3
+        20: drac-8-eth3
+        21: drac-9-eth3
+        22: drac-10-eth3
+        23: drac-11-eth3
+        24: drac-12-eth3
+        52:
+          uid: gw
+          kind: router
+          rate: 10000000000
-- 
GitLab