diff --git a/lib/refrepo/gen/reference-api.rb b/lib/refrepo/gen/reference-api.rb index a3e2f491f79c316fe31231252ef6fe9c55a17fe1..49b7e479d179f1c9507e49975af2e5bf11c01e35 100644 --- a/lib/refrepo/gen/reference-api.rb +++ b/lib/refrepo/gen/reference-api.rb @@ -136,6 +136,14 @@ def generate_reference_api 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", "ibs1","bmc", "eno1", "eno2", "eno1np0", "eno2np1", "ens4f0", "ens4f1", "ens5f0", "ens5f1"]).values + node["memory_devices"].each { |key, hash| node["memory_devices"][key]["device"] = key; } # Add "device: dimm_a1" within the hash + node["memory_devices"] = node["memory_devices"].sort_by { |d, _| + [d.gsub(/dimm_(\d+)/, '\1').to_i, + d.gsub(/^dimm_([A-z]+)(\d+)$/, '\1'), + d.gsub(/^dimm_([A-z]+)(\d+)$/, '\2').to_i] + }.to_h + node["memory_devices"] = node["memory_devices"].values + write_json(cluster_path.join("nodes","#{node_uid}.json"), node) end end diff --git a/lib/refrepo/valid/input/schemas/schema-node.yaml b/lib/refrepo/valid/input/schemas/schema-node.yaml index 58ac14a7815720cafe8ef6c31ccb4149f839a832..fd1a50cc709e24d45bea491a8a47535ec293a6af 100644 --- a/lib/refrepo/valid/input/schemas/schema-node.yaml +++ b/lib/refrepo/valid/input/schemas/schema-node.yaml @@ -33,6 +33,11 @@ kavlan6: main_memory: ram_size: integer pmem_size: optional_integer +memory_devices: + <multi>: + size: integer + technology: string + firmware: optional_string mic: optional_hash network_adapters: <multi>: