From b4fbe4e045969c97eee746529322676e609eadb7 Mon Sep 17 00:00:00 2001
From: Nicolas Perrin <nicolas.perrin@inria.fr>
Date: Thu, 23 Jan 2020 16:56:14 +0100
Subject: [PATCH] [grenoble][troll] add Omni-Path cards (ibs1 interface)

---
 .../grenoble/clusters/troll/nodes/troll-1.json      | 13 +++++++++++++
 .../grenoble/clusters/troll/nodes/troll-2.json      | 13 +++++++++++++
 .../grenoble/clusters/troll/nodes/troll-3.json      | 13 +++++++++++++
 .../grenoble/clusters/troll/nodes/troll-4.json      | 13 +++++++++++++
 .../grenoble/clusters/troll/nodes/troll-1.yaml      | 10 ++++++++++
 .../grenoble/clusters/troll/nodes/troll-2.yaml      | 10 ++++++++++
 .../grenoble/clusters/troll/nodes/troll-3.yaml      | 10 ++++++++++
 .../grenoble/clusters/troll/nodes/troll-4.yaml      | 10 ++++++++++
 lib/refrepo/g5kchecks_importer.rb                   |  2 +-
 lib/refrepo/gen/reference-api.rb                    |  2 +-
 10 files changed, 94 insertions(+), 2 deletions(-)

diff --git a/data/grid5000/sites/grenoble/clusters/troll/nodes/troll-1.json b/data/grid5000/sites/grenoble/clusters/troll/nodes/troll-1.json
index e35ca51231a..658a74541b3 100644
--- a/data/grid5000/sites/grenoble/clusters/troll/nodes/troll-1.json
+++ b/data/grid5000/sites/grenoble/clusters/troll/nodes/troll-1.json
@@ -82,6 +82,19 @@
       "name": "eno2",
       "vendor": "Mellanox Technologies"
     },
+    {
+      "device": "ibs1",
+      "driver": "hfi1",
+      "firmware_version": "1.27.0",
+      "guid": "0x0011750901c787ac",
+      "kavlan": false,
+      "mac": "80:00:00:02:fe:80:00:00:00:00:00:00:00:11:75:09:01:c7:87:ac",
+      "management": false,
+      "model": "Omni-Path HFI Silicon 100 Series [discrete]",
+      "name": "ibs1",
+      "rate": 100000000000,
+      "vendor": "Intel"
+    },
     {
       "device": "bmc",
       "enabled": true,
diff --git a/data/grid5000/sites/grenoble/clusters/troll/nodes/troll-2.json b/data/grid5000/sites/grenoble/clusters/troll/nodes/troll-2.json
index 687a828270e..3ab0ec3d3b0 100644
--- a/data/grid5000/sites/grenoble/clusters/troll/nodes/troll-2.json
+++ b/data/grid5000/sites/grenoble/clusters/troll/nodes/troll-2.json
@@ -82,6 +82,19 @@
       "name": "eno2",
       "vendor": "Mellanox Technologies"
     },
+    {
+      "device": "ibs1",
+      "driver": "ib_ipoib",
+      "firmware_version": "1.27.0",
+      "guid": "0x0011750901c7879e",
+      "kavlan": false,
+      "mac": "80:00:00:02:fe:80:00:00:00:00:00:00:00:11:75:09:01:c7:87:9e",
+      "management": false,
+      "model": "Omni-Path HFI Silicon 100 Series [discrete]",
+      "name": "ibs1",
+      "rate": 100000000000,
+      "vendor": "Intel"
+    },
     {
       "device": "bmc",
       "enabled": true,
diff --git a/data/grid5000/sites/grenoble/clusters/troll/nodes/troll-3.json b/data/grid5000/sites/grenoble/clusters/troll/nodes/troll-3.json
index cb9d46b26d2..cc2dd3d6ffd 100644
--- a/data/grid5000/sites/grenoble/clusters/troll/nodes/troll-3.json
+++ b/data/grid5000/sites/grenoble/clusters/troll/nodes/troll-3.json
@@ -82,6 +82,19 @@
       "name": "eno2",
       "vendor": "Mellanox Technologies"
     },
+    {
+      "device": "ibs1",
+      "driver": "ib_ipoib",
+      "firmware_version": "1.27.0",
+      "guid": "0x0011750901c787f7",
+      "kavlan": false,
+      "mac": "80:00:00:02:fe:80:00:00:00:00:00:00:00:11:75:09:01:c7:87:f7",
+      "management": false,
+      "model": "Omni-Path HFI Silicon 100 Series [discrete]",
+      "name": "ibs1",
+      "rate": 100000000000,
+      "vendor": "Intel"
+    },
     {
       "device": "bmc",
       "enabled": true,
diff --git a/data/grid5000/sites/grenoble/clusters/troll/nodes/troll-4.json b/data/grid5000/sites/grenoble/clusters/troll/nodes/troll-4.json
index 347c3f8599a..7f01a34705f 100644
--- a/data/grid5000/sites/grenoble/clusters/troll/nodes/troll-4.json
+++ b/data/grid5000/sites/grenoble/clusters/troll/nodes/troll-4.json
@@ -82,6 +82,19 @@
       "name": "eno2",
       "vendor": "Mellanox Technologies"
     },
+    {
+      "device": "ibs1",
+      "driver": "hfi1",
+      "firmware_version": "1.27.0",
+      "guid": "0x0011750901c4781c",
+      "kavlan": false,
+      "mac": "80:00:00:02:fe:80:00:00:00:00:00:00:00:11:75:09:01:c4:78:1c",
+      "management": false,
+      "model": "Omni-Path HFI Silicon 100 Series [discrete]",
+      "name": "ibs1",
+      "rate": 100000000000,
+      "vendor": "Intel"
+    },
     {
       "device": "bmc",
       "enabled": true,
diff --git a/input/grid5000/sites/grenoble/clusters/troll/nodes/troll-1.yaml b/input/grid5000/sites/grenoble/clusters/troll/nodes/troll-1.yaml
index 229d2c16888..3c6e155649e 100644
--- a/input/grid5000/sites/grenoble/clusters/troll/nodes/troll-1.yaml
+++ b/input/grid5000/sites/grenoble/clusters/troll/nodes/troll-1.yaml
@@ -43,6 +43,16 @@ troll-1:
       model: MT27710 Family [ConnectX-4 Lx]
       name: eno2
       vendor: Mellanox Technologies
+    ibs1:
+      driver: hfi1
+      firmware_version: 1.27.0
+      guid: '0x0011750901c787ac'
+      mac: 80:00:00:02:fe:80:00:00:00:00:00:00:00:11:75:09:01:c7:87:ac
+      management: false
+      model: Omni-Path HFI Silicon 100 Series [discrete]
+      name: ibs1
+      rate: 100000000000
+      vendor: Intel
   operating_system:
     cstate_driver: intel_idle
     cstate_governor: menu
diff --git a/input/grid5000/sites/grenoble/clusters/troll/nodes/troll-2.yaml b/input/grid5000/sites/grenoble/clusters/troll/nodes/troll-2.yaml
index 1f096765dcf..9d8f6a318f1 100644
--- a/input/grid5000/sites/grenoble/clusters/troll/nodes/troll-2.yaml
+++ b/input/grid5000/sites/grenoble/clusters/troll/nodes/troll-2.yaml
@@ -43,6 +43,16 @@ troll-2:
       model: MT27710 Family [ConnectX-4 Lx]
       name: eno2
       vendor: Mellanox Technologies
+    ibs1:
+      driver: ib_ipoib
+      firmware_version: 1.27.0
+      guid: '0x0011750901c7879e'
+      mac: 80:00:00:02:fe:80:00:00:00:00:00:00:00:11:75:09:01:c7:87:9e
+      management: false
+      model: Omni-Path HFI Silicon 100 Series [discrete]
+      name: ibs1
+      rate: 100000000000
+      vendor: Intel
   operating_system:
     cstate_driver: intel_idle
     cstate_governor: menu
diff --git a/input/grid5000/sites/grenoble/clusters/troll/nodes/troll-3.yaml b/input/grid5000/sites/grenoble/clusters/troll/nodes/troll-3.yaml
index b6fa95c79ac..fa4715aca87 100644
--- a/input/grid5000/sites/grenoble/clusters/troll/nodes/troll-3.yaml
+++ b/input/grid5000/sites/grenoble/clusters/troll/nodes/troll-3.yaml
@@ -43,6 +43,16 @@ troll-3:
       model: MT27710 Family [ConnectX-4 Lx]
       name: eno2
       vendor: Mellanox Technologies
+    ibs1:
+      driver: ib_ipoib
+      firmware_version: 1.27.0
+      guid: '0x0011750901c787f7'
+      mac: 80:00:00:02:fe:80:00:00:00:00:00:00:00:11:75:09:01:c7:87:f7
+      management: false
+      model: Omni-Path HFI Silicon 100 Series [discrete]
+      name: ibs1
+      rate: 100000000000
+      vendor: Intel
   operating_system:
     cstate_driver: intel_idle
     cstate_governor: menu
diff --git a/input/grid5000/sites/grenoble/clusters/troll/nodes/troll-4.yaml b/input/grid5000/sites/grenoble/clusters/troll/nodes/troll-4.yaml
index e2981558eeb..14cfe9c687b 100644
--- a/input/grid5000/sites/grenoble/clusters/troll/nodes/troll-4.yaml
+++ b/input/grid5000/sites/grenoble/clusters/troll/nodes/troll-4.yaml
@@ -43,6 +43,16 @@ troll-4:
       model: MT27710 Family [ConnectX-4 Lx]
       name: eno2
       vendor: Mellanox Technologies
+    ibs1:
+      driver: hfi1
+      firmware_version: 1.27.0
+      guid: '0x0011750901c4781c'
+      mac: 80:00:00:02:fe:80:00:00:00:00:00:00:00:11:75:09:01:c4:78:1c
+      management: false
+      model: Omni-Path HFI Silicon 100 Series [discrete]
+      name: ibs1
+      rate: 100000000000
+      vendor: Intel
   operating_system:
     cstate_driver: intel_idle
     cstate_governor: menu
diff --git a/lib/refrepo/g5kchecks_importer.rb b/lib/refrepo/g5kchecks_importer.rb
index d11582f7517..1f06cf01a91 100644
--- a/lib/refrepo/g5kchecks_importer.rb
+++ b/lib/refrepo/g5kchecks_importer.rb
@@ -53,7 +53,7 @@ def g5kchecks_importer(sourcedir)
         hash['network_adapters'].delete(arr[0])
       }
 
-      hash["network_adapters"] = hash["network_adapters"].sort_by_array(["eth0", "eth1", "eth2", "eth3", "eth4", "eth5", "eth6", "ib0", "ib1", "ib2", "ib3", "bmc", "eno1", "eno2", "eno1np0", "eno2np1", "ens4f0", "ens4f1", "ens5f0", "ens5f1", "ib0.8100"])
+      hash["network_adapters"] = hash["network_adapters"].sort_by_array(["eth0", "eth1", "eth2", "eth3", "eth4", "eth5", "eth6", "ib0", "ib1", "ib2", "ib3", "ibs1", "bmc", "eno1", "eno2", "eno1np0", "eno2np1", "ens4f0", "ens4f1", "ens5f0", "ens5f1", "ib0.8100"])
 
       hash = {node_uid => hash}
 
diff --git a/lib/refrepo/gen/reference-api.rb b/lib/refrepo/gen/reference-api.rb
index 8253f3877a1..9a51f4963ac 100644
--- a/lib/refrepo/gen/reference-api.rb
+++ b/lib/refrepo/gen/reference-api.rb
@@ -249,7 +249,7 @@ def generate_reference_api
           node["storage_devices"] = Hash(node["storage_devices"]).sort_by_array(["sda", "sdb", "sdc", "sdd", "sde", "sdf", "nvme0n1", "nvme1n1"]).values
 
           node["network_adapters"].each { |key, hash| node["network_adapters"][key]["device"] = key; } # Add "device: ethX" within the hash
-          node["network_adapters"] = node["network_adapters"].sort_by_array(["eth0", "eth1", "eth2", "eth3", "eth4", "eth5", "eth6", "ib0.8100", "ib0", "ib1", "ib2", "ib3","bmc", "eno1", "eno2", "eno1np0", "eno2np1", "ens4f0", "ens4f1", "ens5f0", "ens5f1"]).values
+          node["network_adapters"] = node["network_adapters"].sort_by_array(["eth0", "eth1", "eth2", "eth3", "eth4", "eth5", "eth6", "ib0.8100", "ib0", "ib1", "ib2", "ib3", "ibs1","bmc", "eno1", "eno2", "eno1np0", "eno2np1", "ens4f0", "ens4f1", "ens5f0", "ens5f1"]).values
 
           # For each network adapters, populate "network_address", "switch" and "switch_port" from the network equipment description
           node["network_adapters"].each { |network_adapter|
-- 
GitLab