diff --git a/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-1.json b/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-1.json
index 14e5a01cb97c45e186c23b679cf0fa47c0eff4c9..1fba628e5b1c68d0bdd15a93ce2885a064526327 100644
--- a/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-1.json
+++ b/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-1.json
@@ -146,6 +146,7 @@
   },
   "storage_devices": [
     {
+      "by_id": "",
       "by_path": "/dev/disk/by-path/pci-0000:02:04.0-scsi-0:0:1:0",
       "device": "sda",
       "driver": "mptspi",
diff --git a/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-11.json b/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-11.json
index 5f65375e175bf9c4b59d5b77c080df1849f7a79a..37c18264b56cf569b45e87cbd33d97193b988d60 100644
--- a/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-11.json
+++ b/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-11.json
@@ -146,6 +146,7 @@
   },
   "storage_devices": [
     {
+      "by_id": "",
       "by_path": "/dev/disk/by-path/pci-0000:02:04.0-scsi-0:0:1:0",
       "device": "sda",
       "driver": "mptspi",
diff --git a/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-12.json b/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-12.json
index b0b8689c9081179bf1bd45c0e3311ef8d8c227b2..747a15976ef4f51378bee0646b412629cfac6bda 100644
--- a/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-12.json
+++ b/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-12.json
@@ -146,6 +146,7 @@
   },
   "storage_devices": [
     {
+      "by_id": "",
       "by_path": "/dev/disk/by-path/pci-0000:02:04.0-scsi-0:0:1:0",
       "device": "sda",
       "driver": "mptspi",
diff --git a/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-13.json b/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-13.json
index c03072359066472721458411cf927d175a96174d..cfd2432482b77d734d03feb116d20ea058586e94 100644
--- a/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-13.json
+++ b/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-13.json
@@ -146,6 +146,7 @@
   },
   "storage_devices": [
     {
+      "by_id": "",
       "by_path": "/dev/disk/by-path/pci-0000:02:04.0-scsi-0:0:1:0",
       "device": "sda",
       "driver": "mptspi",
diff --git a/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-14.json b/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-14.json
index 85a097dff695a9ba6c22e72ea7bb2cce529a2fa6..32f8865df3a1a426e29a115296f01650b9555cb1 100644
--- a/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-14.json
+++ b/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-14.json
@@ -146,6 +146,7 @@
   },
   "storage_devices": [
     {
+      "by_id": "",
       "by_path": "/dev/disk/by-path/pci-0000:02:04.0-scsi-0:0:1:0",
       "device": "sda",
       "driver": "mptspi",
diff --git a/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-15.json b/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-15.json
index 4559571344e824cc2498b36bca0c9c8e477d3888..28f9723d6a05894c26a5f52314f87f2470d06c28 100644
--- a/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-15.json
+++ b/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-15.json
@@ -146,6 +146,7 @@
   },
   "storage_devices": [
     {
+      "by_id": "",
       "by_path": "/dev/disk/by-path/pci-0000:02:04.0-scsi-0:0:1:0",
       "device": "sda",
       "driver": "mptspi",
diff --git a/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-16.json b/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-16.json
index 36114f83620e7ae71fe56bd79536eb9cb4b0dbbd..2092d9c18833359796795dedbaf066861af3bade 100644
--- a/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-16.json
+++ b/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-16.json
@@ -146,6 +146,7 @@
   },
   "storage_devices": [
     {
+      "by_id": "",
       "by_path": "/dev/disk/by-path/pci-0000:02:04.0-scsi-0:0:1:0",
       "device": "sda",
       "driver": "mptspi",
diff --git a/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-17.json b/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-17.json
index 118df402c46c7a379d3d8ba2292da106be01865c..e36d6689752ce55f4449ac793ea6da46f1295f20 100644
--- a/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-17.json
+++ b/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-17.json
@@ -146,6 +146,7 @@
   },
   "storage_devices": [
     {
+      "by_id": "",
       "by_path": "/dev/disk/by-path/pci-0000:02:04.0-scsi-0:0:1:0",
       "device": "sda",
       "driver": "mptspi",
diff --git a/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-18.json b/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-18.json
index c46d8037fcbf0309fa1178a4510e8c03b1776c52..7fe3703aa2fbc631cdff8cc04139d89abc2e7626 100644
--- a/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-18.json
+++ b/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-18.json
@@ -146,6 +146,7 @@
   },
   "storage_devices": [
     {
+      "by_id": "",
       "by_path": "/dev/disk/by-path/pci-0000:02:04.0-scsi-0:0:1:0",
       "device": "sda",
       "driver": "mptspi",
diff --git a/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-19.json b/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-19.json
index f944932bed203b77bb3e1007b54e0976a4ccc811..b14bf342b99b41cbd4d61c5f36b9043a7c7cfbd4 100644
--- a/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-19.json
+++ b/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-19.json
@@ -146,6 +146,7 @@
   },
   "storage_devices": [
     {
+      "by_id": "",
       "by_path": "/dev/disk/by-path/pci-0000:02:04.0-scsi-0:0:1:0",
       "device": "sda",
       "driver": "mptspi",
diff --git a/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-2.json b/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-2.json
index 057b66d677e9b8c7ad5fe6e4f2308f2a484f7ec2..09312c285d464107c9fe75d80553c72c5df51557 100644
--- a/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-2.json
+++ b/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-2.json
@@ -146,6 +146,7 @@
   },
   "storage_devices": [
     {
+      "by_id": "",
       "by_path": "/dev/disk/by-path/pci-0000:02:04.0-scsi-0:0:1:0",
       "device": "sda",
       "driver": "mptspi",
diff --git a/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-20.json b/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-20.json
index af0af3cae453050b905a63140071861f874d94f9..6623236aa1cd32e4fb2160dc669fcd5e353d7729 100644
--- a/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-20.json
+++ b/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-20.json
@@ -146,6 +146,7 @@
   },
   "storage_devices": [
     {
+      "by_id": "",
       "by_path": "/dev/disk/by-path/pci-0000:02:04.0-scsi-0:0:1:0",
       "device": "sda",
       "driver": "mptspi",
diff --git a/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-24.json b/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-24.json
index a51a1fe53db7298f684df423e8f8e6a63fd13fc7..53bbf52bd399acbfe8bed978072cd3e58e8fb1f5 100644
--- a/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-24.json
+++ b/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-24.json
@@ -146,6 +146,7 @@
   },
   "storage_devices": [
     {
+      "by_id": "",
       "by_path": "/dev/disk/by-path/pci-0000:02:04.0-scsi-0:0:1:0",
       "device": "sda",
       "driver": "mptspi",
diff --git a/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-27.json b/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-27.json
index bdbdd12a622447caf10ce8638dafd2c600d2e1c8..669fb702db83613d35c558770d946dd452534808 100644
--- a/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-27.json
+++ b/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-27.json
@@ -146,6 +146,7 @@
   },
   "storage_devices": [
     {
+      "by_id": "",
       "by_path": "/dev/disk/by-path/pci-0000:02:04.0-scsi-0:0:1:0",
       "device": "sda",
       "driver": "mptspi",
diff --git a/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-29.json b/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-29.json
index 3aa8c7e9f273ec92000755595d867b6280773bbf..1ec2076dd971ee3616c56a1404ba8997cf58b47c 100644
--- a/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-29.json
+++ b/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-29.json
@@ -146,6 +146,7 @@
   },
   "storage_devices": [
     {
+      "by_id": "",
       "by_path": "/dev/disk/by-path/pci-0000:02:04.0-scsi-0:0:1:0",
       "device": "sda",
       "driver": "mptspi",
diff --git a/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-3.json b/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-3.json
index 1f2c5dfde1814d14ce7672d06307a8f809bf1804..a1cac9798d279b39ea57ca4fd94d5d73681515ae 100644
--- a/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-3.json
+++ b/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-3.json
@@ -146,6 +146,7 @@
   },
   "storage_devices": [
     {
+      "by_id": "",
       "by_path": "/dev/disk/by-path/pci-0000:02:04.0-scsi-0:0:1:0",
       "device": "sda",
       "driver": "mptspi",
diff --git a/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-30.json b/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-30.json
index 6ceaa72bd844166550d6d14d22f760dc9bec3dab..489c0c6a5c04eb25c096dbb86c40877d93894fdf 100644
--- a/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-30.json
+++ b/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-30.json
@@ -146,6 +146,7 @@
   },
   "storage_devices": [
     {
+      "by_id": "",
       "by_path": "/dev/disk/by-path/pci-0000:02:04.0-scsi-0:0:1:0",
       "device": "sda",
       "driver": "mptspi",
diff --git a/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-31.json b/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-31.json
index 45eb975fa1f47f45a7714f4c1828e764003fb0f2..13626804c5751797f59d4f6f291996f25edceccb 100644
--- a/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-31.json
+++ b/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-31.json
@@ -146,6 +146,7 @@
   },
   "storage_devices": [
     {
+      "by_id": "",
       "by_path": "/dev/disk/by-path/pci-0000:02:04.0-scsi-0:0:1:0",
       "device": "sda",
       "driver": "mptspi",
diff --git a/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-4.json b/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-4.json
index fbad7ec9588ad84316eb564fb4830716a88f3935..4b9e45dce9bf63c96ae07e306feb6e80a2feb7ce 100644
--- a/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-4.json
+++ b/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-4.json
@@ -146,6 +146,7 @@
   },
   "storage_devices": [
     {
+      "by_id": "",
       "by_path": "/dev/disk/by-path/pci-0000:02:04.0-scsi-0:0:1:0",
       "device": "sda",
       "driver": "mptspi",
diff --git a/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-5.json b/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-5.json
index f79de154f405da3b65ffe4f73417eb1af128ee31..84a9d402eadcdfd08d997be3b9a1a3b9df6878bd 100644
--- a/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-5.json
+++ b/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-5.json
@@ -146,6 +146,7 @@
   },
   "storage_devices": [
     {
+      "by_id": "",
       "by_path": "/dev/disk/by-path/pci-0000:02:04.0-scsi-0:0:1:0",
       "device": "sda",
       "driver": "mptspi",
diff --git a/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-6.json b/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-6.json
index a8a2b7c060940ec99f9b32e8743fcf1087a51b3c..e0e7ee75133d94fd98b180fd01e054ee117d7f8a 100644
--- a/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-6.json
+++ b/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-6.json
@@ -146,6 +146,7 @@
   },
   "storage_devices": [
     {
+      "by_id": "",
       "by_path": "/dev/disk/by-path/pci-0000:02:04.0-scsi-0:0:1:0",
       "device": "sda",
       "driver": "mptspi",
diff --git a/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-7.json b/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-7.json
index 41705ab54e53bbf9c860cd3184f9004e0dcef222..a0bf23c400d17a4d46f238048470de6034c738eb 100644
--- a/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-7.json
+++ b/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-7.json
@@ -146,6 +146,7 @@
   },
   "storage_devices": [
     {
+      "by_id": "",
       "by_path": "/dev/disk/by-path/pci-0000:02:04.0-scsi-0:0:1:0",
       "device": "sda",
       "driver": "mptspi",
diff --git a/lib/refrepo/gen/reference-api.rb b/lib/refrepo/gen/reference-api.rb
index 849d3bbe577a3ba3f722c4494c82fd88eb05fa1a..568cf54949479d6f54038bd627eda6bcb0982901 100644
--- a/lib/refrepo/gen/reference-api.rb
+++ b/lib/refrepo/gen/reference-api.rb
@@ -236,6 +236,11 @@ def generate_reference_api
             hash['vendor'] = matching_vendor.keys.first
           end
 
+          # Ensure that by_id is present (bug 11043)
+          node["storage_devices"].each do |key, hash|
+            hash['by_id'] = '' if not hash['by_id']
+          end
+
           # Type conversion
           node["network_adapters"].each { |key, hash| hash["rate"] = hash["rate"].to_i if hash["rate"].is_a?(Float) }