From 5d8427605741f9b7ec660a28160b7f2b7c9c71a0 Mon Sep 17 00:00:00 2001 From: Erika Rosaverde Date: Fri, 15 Dec 2023 15:34:43 +0000 Subject: [PATCH 01/10] flask server updated Signed-off-by: Erika Rosaverde --- .../ConnectionMethods/CXL/index.json | 11 + .../ConnectionMethods/index.json | 12 + CXLAgent/AggregationService/index.json | 14 ++ CXLAgent/Chassis/CXL-Chassis/index.json | 33 +++ .../1/CXLLogicalDevices/1/index.json | 35 +++ .../1/CXLLogicalDevices/index.json | 12 + .../PCIeDevices/1/PCIeFunctions/1/index.json | 37 +++ .../PCIeDevices/1/PCIeFunctions/index.json | 12 + .../Chassis/CXL1/PCIeDevices/1/index.json | 40 ++++ CXLAgent/Chassis/CXL1/PCIeDevices/index.json | 12 + .../Chassis/CXL1/Processors/FPGA/index.json | 37 +++ CXLAgent/Chassis/CXL1/Processors/index.json | 12 + CXLAgent/Chassis/CXL1/index.json | 25 ++ CXLAgent/Chassis/CXL2/Memory/HBM/index.json | 27 +++ CXLAgent/Chassis/CXL2/Memory/index.json | 13 ++ .../MemoryDomains/1/MemoryChunks/1/index.json | 25 ++ .../MemoryDomains/1/MemoryChunks/index.json | 12 + .../Chassis/CXL2/MemoryDomains/1/index.json | 36 +++ .../Chassis/CXL2/MemoryDomains/index.json | 12 + .../1/CXLLogicalDevices/1/index.json | 46 ++++ .../1/CXLLogicalDevices/index.json | 12 + .../PCIeDevices/1/PCIeFunctions/1/index.json | 37 +++ .../PCIeDevices/1/PCIeFunctions/index.json | 12 + .../Chassis/CXL2/PCIeDevices/1/index.json | 40 ++++ CXLAgent/Chassis/CXL2/PCIeDevices/index.json | 12 + .../Chassis/CXL2/Processors/GPU/index.json | 48 ++++ CXLAgent/Chassis/CXL2/Processors/index.json | 12 + CXLAgent/Chassis/CXL2/index.json | 32 +++ CXLAgent/Chassis/CXL3/Memory/3DXP/index.json | 19 ++ CXLAgent/Chassis/CXL3/Memory/index.json | 13 ++ .../MemoryDomains/1/MemoryChunks/1/index.json | 25 ++ .../MemoryDomains/1/MemoryChunks/index.json | 12 + .../Chassis/CXL3/MemoryDomains/1/index.json | 41 ++++ .../Chassis/CXL3/MemoryDomains/index.json | 12 + .../1/CXLLogicalDevices/1/index.json | 45 ++++ .../1/CXLLogicalDevices/index.json | 12 + .../PCIeDevices/1/PCIeFunctions/1/index.json | 37 +++ .../PCIeDevices/1/PCIeFunctions/index.json | 12 + .../Chassis/CXL3/PCIeDevices/1/index.json | 40 ++++ CXLAgent/Chassis/CXL3/PCIeDevices/index.json | 12 + CXLAgent/Chassis/CXL3/index.json | 29 +++ .../PCXL1/FabricAdapters/1/Ports/1/index.json | 48 ++++ .../PCXL1/FabricAdapters/1/Ports/index.json | 12 + .../Chassis/PCXL1/FabricAdapters/1/index.json | 31 +++ .../Chassis/PCXL1/FabricAdapters/index.json | 12 + .../1/CXLLogicalDevices/1/index.json | 40 ++++ .../1/CXLLogicalDevices/index.json | 12 + .../PCIeDevices/1/PCIeFunctions/1/index.json | 37 +++ .../PCIeDevices/1/PCIeFunctions/index.json | 12 + .../Chassis/PCXL1/PCIeDevices/1/index.json | 40 ++++ CXLAgent/Chassis/PCXL1/PCIeDevices/index.json | 12 + .../Chassis/PCXL1/Processors/FPGA/index.json | 42 ++++ CXLAgent/Chassis/PCXL1/Processors/index.json | 12 + CXLAgent/Chassis/PCXL1/index.json | 23 ++ .../PCXL2/FabricAdapters/1/Ports/1/index.json | 48 ++++ .../PCXL2/FabricAdapters/1/Ports/index.json | 12 + .../Chassis/PCXL2/FabricAdapters/1/index.json | 36 +++ .../Chassis/PCXL2/FabricAdapters/index.json | 12 + CXLAgent/Chassis/PCXL2/Memory/HBM/index.json | 27 +++ CXLAgent/Chassis/PCXL2/Memory/index.json | 13 ++ .../MemoryDomains/1/MemoryChunks/1/index.json | 30 +++ .../MemoryDomains/1/MemoryChunks/index.json | 12 + .../Chassis/PCXL2/MemoryDomains/1/index.json | 41 ++++ .../Chassis/PCXL2/MemoryDomains/index.json | 12 + .../1/CXLLogicalDevices/1/index.json | 51 ++++ .../1/CXLLogicalDevices/index.json | 12 + .../PCIeDevices/1/PCIeFunctions/1/index.json | 37 +++ .../PCIeDevices/1/PCIeFunctions/index.json | 12 + .../Chassis/PCXL2/PCIeDevices/1/index.json | 40 ++++ CXLAgent/Chassis/PCXL2/PCIeDevices/index.json | 12 + .../Chassis/PCXL2/Processors/GPU/index.json | 53 +++++ CXLAgent/Chassis/PCXL2/Processors/index.json | 12 + CXLAgent/Chassis/PCXL2/index.json | 30 +++ .../PCXL3/FabricAdapters/1/Ports/1/index.json | 48 ++++ .../PCXL3/FabricAdapters/1/Ports/index.json | 12 + .../Chassis/PCXL3/FabricAdapters/1/index.json | 31 +++ .../Chassis/PCXL3/FabricAdapters/index.json | 12 + CXLAgent/Chassis/PCXL3/Memory/3DXP/index.json | 19 ++ CXLAgent/Chassis/PCXL3/Memory/index.json | 13 ++ .../MemoryDomains/1/MemoryChunks/1/index.json | 30 +++ .../MemoryDomains/1/MemoryChunks/index.json | 12 + .../Chassis/PCXL3/MemoryDomains/1/index.json | 46 ++++ .../Chassis/PCXL3/MemoryDomains/index.json | 12 + .../1/CXLLogicalDevices/1/index.json | 50 ++++ .../1/CXLLogicalDevices/index.json | 12 + .../PCIeDevices/1/PCIeFunctions/1/index.json | 37 +++ .../PCIeDevices/1/PCIeFunctions/index.json | 12 + .../Chassis/PCXL3/PCIeDevices/1/index.json | 40 ++++ CXLAgent/Chassis/PCXL3/PCIeDevices/index.json | 12 + CXLAgent/Chassis/PCXL3/index.json | 27 +++ CXLAgent/Chassis/index.json | 30 +++ .../Fabrics/CXL/Connections/12/index.json | 37 +++ .../Fabrics/CXL/Connections/13/index.json | 37 +++ CXLAgent/Fabrics/CXL/Connections/index.json | 15 ++ CXLAgent/Fabrics/CXL/Endpoints/1/index.json | 19 ++ CXLAgent/Fabrics/CXL/Endpoints/I1/index.json | 37 +++ CXLAgent/Fabrics/CXL/Endpoints/I2/index.json | 49 ++++ CXLAgent/Fabrics/CXL/Endpoints/I3/index.json | 49 ++++ CXLAgent/Fabrics/CXL/Endpoints/T1/index.json | 44 ++++ CXLAgent/Fabrics/CXL/Endpoints/T2/index.json | 56 +++++ CXLAgent/Fabrics/CXL/Endpoints/T3/index.json | 49 ++++ CXLAgent/Fabrics/CXL/Endpoints/index.json | 30 +++ .../CXL/Switches/CXL/Ports/D1/index.json | 43 ++++ .../CXL/Switches/CXL/Ports/D2/index.json | 43 ++++ .../CXL/Switches/CXL/Ports/D3/index.json | 43 ++++ .../CXL/Switches/CXL/Ports/U1/index.json | 49 ++++ .../Fabrics/CXL/Switches/CXL/Ports/index.json | 22 ++ CXLAgent/Fabrics/CXL/Switches/CXL/index.json | 25 ++ CXLAgent/Fabrics/CXL/Switches/index.json | 10 + CXLAgent/Fabrics/CXL/Zones/1/index.json | 27 +++ CXLAgent/Fabrics/CXL/Zones/2/index.json | 27 +++ CXLAgent/Fabrics/CXL/Zones/3/index.json | 27 +++ CXLAgent/Fabrics/CXL/Zones/index.json | 18 ++ CXLAgent/Fabrics/CXL/index.json | 26 +++ CXLAgent/Fabrics/index.json | 12 + CXLAgent/Storage/index.json | 8 + .../Systems/CXL-System/Memory/CXL2/index.json | 22 ++ .../Systems/CXL-System/Memory/CXL3/index.json | 22 ++ .../CXL-System/Memory/RCXL2/index.json | 29 +++ .../CXL-System/Memory/RCXL3/index.json | 29 +++ CXLAgent/Systems/CXL-System/Memory/index.json | 22 ++ .../CXL/MemoryChunks/1/index.json | 40 ++++ .../MemoryDomains/CXL/MemoryChunks/index.json | 13 ++ .../CXL-System/MemoryDomains/CXL/index.json | 38 +++ .../CXL-System/MemoryDomains/index.json | 13 ++ .../Processors/CPU/Ports/1/index.json | 54 +++++ .../Processors/CPU/Ports/index.json | 14 ++ .../CXL-System/Processors/CPU/index.json | 56 +++++ .../Systems/CXL-System/Processors/index.json | 18 ++ CXLAgent/Systems/CXL-System/index.json | 61 +++++ CXLAgent/Systems/index.json | 12 + CXLAgent/index.json | 21 ++ Resources/Systems/1/index.json | 51 ---- Resources/Systems/1234/index.json | 58 ----- Resources/Systems/index.json | 14 -- Resources/index.json | 10 - Sunfish/$metadata/index.xml | 217 +++++++++++++++++ Sunfish/AccountService/Accounts/index.json | 9 + .../Roles/Administrator/index.json | 20 ++ .../AccountService/Roles/Operator/index.json | 15 ++ .../Roles/ReadOnlyUser/index.json | 14 ++ Sunfish/AccountService/Roles/index.json | 18 ++ Sunfish/AccountService/index.json | 24 ++ .../index.json | 139 +++++++++++ .../AggregationSources/index.json | 12 + .../ConnectionMethods/CXL/index.json | 11 + .../ConnectionMethods/index.json | 12 + Sunfish/AggregationService/index.json | 16 ++ Sunfish/Chassis/CXL-Chassis/index.json | 40 ++++ .../1/CXLLogicalDevices/1/index.json | 42 ++++ .../1/CXLLogicalDevices/index.json | 11 + .../PCIeDevices/1/PCIeFunctions/1/index.json | 44 ++++ .../PCIeDevices/1/PCIeFunctions/index.json | 11 + Sunfish/Chassis/CXL1/PCIeDevices/1/index.json | 47 ++++ Sunfish/Chassis/CXL1/PCIeDevices/index.json | 11 + .../Chassis/CXL1/Processors/FPGA/index.json | 45 ++++ Sunfish/Chassis/CXL1/Processors/index.json | 11 + Sunfish/Chassis/CXL1/index.json | 32 +++ Sunfish/Chassis/CXL2/Memory/HBM/index.json | 34 +++ Sunfish/Chassis/CXL2/Memory/index.json | 11 + .../MemoryDomains/1/MemoryChunks/1/index.json | 32 +++ .../MemoryDomains/1/MemoryChunks/index.json | 11 + .../Chassis/CXL2/MemoryDomains/1/index.json | 43 ++++ Sunfish/Chassis/CXL2/MemoryDomains/index.json | 11 + .../1/CXLLogicalDevices/1/index.json | 53 +++++ .../1/CXLLogicalDevices/index.json | 11 + .../PCIeDevices/1/PCIeFunctions/1/index.json | 44 ++++ .../PCIeDevices/1/PCIeFunctions/index.json | 11 + Sunfish/Chassis/CXL2/PCIeDevices/1/index.json | 47 ++++ Sunfish/Chassis/CXL2/PCIeDevices/index.json | 11 + .../Chassis/CXL2/Processors/GPU/index.json | 56 +++++ Sunfish/Chassis/CXL2/Processors/index.json | 11 + Sunfish/Chassis/CXL2/index.json | 39 ++++ Sunfish/Chassis/CXL3/Memory/3DXP/index.json | 26 +++ Sunfish/Chassis/CXL3/Memory/index.json | 11 + .../MemoryDomains/1/MemoryChunks/1/index.json | 32 +++ .../MemoryDomains/1/MemoryChunks/index.json | 11 + .../Chassis/CXL3/MemoryDomains/1/index.json | 48 ++++ Sunfish/Chassis/CXL3/MemoryDomains/index.json | 11 + .../1/CXLLogicalDevices/1/index.json | 52 +++++ .../1/CXLLogicalDevices/index.json | 11 + .../PCIeDevices/1/PCIeFunctions/1/index.json | 44 ++++ .../PCIeDevices/1/PCIeFunctions/index.json | 11 + Sunfish/Chassis/CXL3/PCIeDevices/1/index.json | 47 ++++ Sunfish/Chassis/CXL3/PCIeDevices/index.json | 11 + Sunfish/Chassis/CXL3/index.json | 36 +++ .../PCXL1/FabricAdapters/1/Ports/1/index.json | 56 +++++ .../PCXL1/FabricAdapters/1/Ports/index.json | 11 + .../Chassis/PCXL1/FabricAdapters/1/index.json | 38 +++ .../Chassis/PCXL1/FabricAdapters/index.json | 11 + .../1/CXLLogicalDevices/1/index.json | 47 ++++ .../1/CXLLogicalDevices/index.json | 11 + .../PCIeDevices/1/PCIeFunctions/1/index.json | 44 ++++ .../PCIeDevices/1/PCIeFunctions/index.json | 11 + .../Chassis/PCXL1/PCIeDevices/1/index.json | 47 ++++ Sunfish/Chassis/PCXL1/PCIeDevices/index.json | 11 + .../Chassis/PCXL1/Processors/FPGA/index.json | 50 ++++ Sunfish/Chassis/PCXL1/Processors/index.json | 11 + Sunfish/Chassis/PCXL1/index.json | 30 +++ .../PCXL2/FabricAdapters/1/Ports/1/index.json | 56 +++++ .../PCXL2/FabricAdapters/1/Ports/index.json | 11 + .../Chassis/PCXL2/FabricAdapters/1/index.json | 43 ++++ .../Chassis/PCXL2/FabricAdapters/index.json | 11 + Sunfish/Chassis/PCXL2/Memory/HBM/index.json | 34 +++ Sunfish/Chassis/PCXL2/Memory/index.json | 11 + .../MemoryDomains/1/MemoryChunks/1/index.json | 37 +++ .../MemoryDomains/1/MemoryChunks/index.json | 11 + .../Chassis/PCXL2/MemoryDomains/1/index.json | 48 ++++ .../Chassis/PCXL2/MemoryDomains/index.json | 11 + .../1/CXLLogicalDevices/1/index.json | 58 +++++ .../1/CXLLogicalDevices/index.json | 11 + .../PCIeDevices/1/PCIeFunctions/1/index.json | 44 ++++ .../PCIeDevices/1/PCIeFunctions/index.json | 11 + .../Chassis/PCXL2/PCIeDevices/1/index.json | 47 ++++ Sunfish/Chassis/PCXL2/PCIeDevices/index.json | 11 + .../Chassis/PCXL2/Processors/GPU/index.json | 61 +++++ Sunfish/Chassis/PCXL2/Processors/index.json | 11 + Sunfish/Chassis/PCXL2/index.json | 37 +++ .../PCXL3/FabricAdapters/1/Ports/1/index.json | 56 +++++ .../PCXL3/FabricAdapters/1/Ports/index.json | 11 + .../Chassis/PCXL3/FabricAdapters/1/index.json | 38 +++ .../Chassis/PCXL3/FabricAdapters/index.json | 11 + Sunfish/Chassis/PCXL3/Memory/3DXP/index.json | 26 +++ Sunfish/Chassis/PCXL3/Memory/index.json | 11 + .../MemoryDomains/1/MemoryChunks/1/index.json | 37 +++ .../MemoryDomains/1/MemoryChunks/index.json | 11 + .../Chassis/PCXL3/MemoryDomains/1/index.json | 53 +++++ .../Chassis/PCXL3/MemoryDomains/index.json | 11 + .../1/CXLLogicalDevices/1/index.json | 57 +++++ .../1/CXLLogicalDevices/index.json | 11 + .../PCIeDevices/1/PCIeFunctions/1/index.json | 44 ++++ .../PCIeDevices/1/PCIeFunctions/index.json | 11 + .../Chassis/PCXL3/PCIeDevices/1/index.json | 47 ++++ Sunfish/Chassis/PCXL3/PCIeDevices/index.json | 11 + Sunfish/Chassis/PCXL3/index.json | 34 +++ Sunfish/Chassis/index.json | 30 +++ Sunfish/Fabrics/CXL/Connections/12/index.json | 45 ++++ Sunfish/Fabrics/CXL/Connections/13/index.json | 45 ++++ Sunfish/Fabrics/CXL/Connections/index.json | 14 ++ Sunfish/Fabrics/CXL/Endpoints/1/index.json | 26 +++ Sunfish/Fabrics/CXL/Endpoints/I1/index.json | 44 ++++ Sunfish/Fabrics/CXL/Endpoints/I2/index.json | 56 +++++ Sunfish/Fabrics/CXL/Endpoints/I3/index.json | 56 +++++ Sunfish/Fabrics/CXL/Endpoints/T1/index.json | 51 ++++ Sunfish/Fabrics/CXL/Endpoints/T2/index.json | 63 +++++ Sunfish/Fabrics/CXL/Endpoints/T3/index.json | 56 +++++ Sunfish/Fabrics/CXL/Endpoints/index.json | 29 +++ .../CXL/Switches/CXL/Ports/D1/index.json | 51 ++++ .../CXL/Switches/CXL/Ports/D2/index.json | 51 ++++ .../CXL/Switches/CXL/Ports/D3/index.json | 51 ++++ .../CXL/Switches/CXL/Ports/U1/index.json | 57 +++++ .../Fabrics/CXL/Switches/CXL/Ports/index.json | 20 ++ Sunfish/Fabrics/CXL/Switches/CXL/index.json | 32 +++ Sunfish/Fabrics/CXL/Switches/index.json | 11 + Sunfish/Fabrics/CXL/Zones/1/index.json | 34 +++ Sunfish/Fabrics/CXL/Zones/2/index.json | 34 +++ Sunfish/Fabrics/CXL/Zones/3/index.json | 34 +++ Sunfish/Fabrics/CXL/Zones/index.json | 17 ++ Sunfish/Fabrics/CXL/index.json | 26 +++ Sunfish/Fabrics/index.json | 12 + .../EthernetInterfaces/Dedicated/index.json | 81 +++++++ .../NVMeoF/EthernetInterfaces/index.json | 13 ++ .../NVMeoF/LogServices/Log/index.json | 25 ++ .../Managers/NVMeoF/LogServices/index.json | 12 + .../NVMeoF/NetworkProtocol/index.json | 37 +++ Sunfish/Managers/NVMeoF/index.json | 63 +++++ .../EthernetInterfaces/Dedicated/index.json | 72 ++++++ .../Sunfish/EthernetInterfaces/index.json | 14 ++ .../LogServices/Log/Entries/1/index.json | 23 ++ .../LogServices/Log/Entries/index.json | 31 +++ .../Sunfish/LogServices/Log/index.json | 26 +++ .../Managers/Sunfish/LogServices/index.json | 13 ++ .../Sunfish/NetworkProtocol/index.json | 38 +++ Sunfish/Managers/Sunfish/index.json | 53 +++++ Sunfish/Managers/index.json | 12 + .../Registries/AdvertisedFeatures.v1_0_0.json | 15 ++ .../AdvertisedFeatures.v1_0_0/index.json | 18 ++ Sunfish/Registries/index.json | 13 ++ .../Sessions/1234567890ABCDEF/index.json | 9 + Sunfish/SessionService/Sessions/index.json | 12 + Sunfish/SessionService/index.json | 17 ++ Sunfish/Storage/index.json | 8 + .../Systems/CXL-System/Memory/CXL2/index.json | 30 +++ .../Systems/CXL-System/Memory/CXL3/index.json | 30 +++ .../CXL-System/Memory/RCXL2/index.json | 37 +++ .../CXL-System/Memory/RCXL3/index.json | 37 +++ Sunfish/Systems/CXL-System/Memory/index.json | 20 ++ .../CXL/MemoryChunks/1/index.json | 47 ++++ .../MemoryDomains/CXL/MemoryChunks/index.json | 11 + .../CXL-System/MemoryDomains/CXL/index.json | 45 ++++ .../CXL-System/MemoryDomains/index.json | 11 + .../Processors/CPU/Ports/1/index.json | 62 +++++ .../Processors/CPU/Ports/index.json | 11 + .../CXL-System/Processors/CPU/index.json | 64 +++++ .../Systems/CXL-System/Processors/index.json | 11 + Sunfish/Systems/CXL-System/index.json | 68 ++++++ Sunfish/Systems/index.json | 12 + Sunfish/index.json | 41 ++++ app.py | 39 ++-- conf.json | 12 + mock_agent.py | 37 +++ .../EventAggregationSourceDiscovered.json | 17 ++ templates/EventSubscription.json | 23 ++ templates/ResourceCreated.json | 17 ++ templates/Sub_1.json | 18 ++ templates/Sub_2.json | 14 ++ templates/Task_event_cancelled.json | 19 ++ templates/patch_subscription.json | 6 + templates/post_aggregation_source.json | 17 ++ templates/put_subscription.json | 11 + templates/test_create_systems_1.json | 4 +- templates/test_put_system_1.json | 2 +- tests/test_sunfishcore_library.py | 120 ++++++++++ tests/test_utils.py | 35 +++ tests/tests_template.py | 219 ++++++++++++++++++ 315 files changed, 9213 insertions(+), 149 deletions(-) create mode 100644 CXLAgent/AggregationService/ConnectionMethods/CXL/index.json create mode 100644 CXLAgent/AggregationService/ConnectionMethods/index.json create mode 100644 CXLAgent/AggregationService/index.json create mode 100755 CXLAgent/Chassis/CXL-Chassis/index.json create mode 100755 CXLAgent/Chassis/CXL1/PCIeDevices/1/CXLLogicalDevices/1/index.json create mode 100755 CXLAgent/Chassis/CXL1/PCIeDevices/1/CXLLogicalDevices/index.json create mode 100755 CXLAgent/Chassis/CXL1/PCIeDevices/1/PCIeFunctions/1/index.json create mode 100755 CXLAgent/Chassis/CXL1/PCIeDevices/1/PCIeFunctions/index.json create mode 100755 CXLAgent/Chassis/CXL1/PCIeDevices/1/index.json create mode 100755 CXLAgent/Chassis/CXL1/PCIeDevices/index.json create mode 100755 CXLAgent/Chassis/CXL1/Processors/FPGA/index.json create mode 100755 CXLAgent/Chassis/CXL1/Processors/index.json create mode 100755 CXLAgent/Chassis/CXL1/index.json create mode 100755 CXLAgent/Chassis/CXL2/Memory/HBM/index.json create mode 100755 CXLAgent/Chassis/CXL2/Memory/index.json create mode 100755 CXLAgent/Chassis/CXL2/MemoryDomains/1/MemoryChunks/1/index.json create mode 100755 CXLAgent/Chassis/CXL2/MemoryDomains/1/MemoryChunks/index.json create mode 100755 CXLAgent/Chassis/CXL2/MemoryDomains/1/index.json create mode 100755 CXLAgent/Chassis/CXL2/MemoryDomains/index.json create mode 100755 CXLAgent/Chassis/CXL2/PCIeDevices/1/CXLLogicalDevices/1/index.json create mode 100755 CXLAgent/Chassis/CXL2/PCIeDevices/1/CXLLogicalDevices/index.json create mode 100755 CXLAgent/Chassis/CXL2/PCIeDevices/1/PCIeFunctions/1/index.json create mode 100755 CXLAgent/Chassis/CXL2/PCIeDevices/1/PCIeFunctions/index.json create mode 100755 CXLAgent/Chassis/CXL2/PCIeDevices/1/index.json create mode 100755 CXLAgent/Chassis/CXL2/PCIeDevices/index.json create mode 100755 CXLAgent/Chassis/CXL2/Processors/GPU/index.json create mode 100755 CXLAgent/Chassis/CXL2/Processors/index.json create mode 100755 CXLAgent/Chassis/CXL2/index.json create mode 100755 CXLAgent/Chassis/CXL3/Memory/3DXP/index.json create mode 100755 CXLAgent/Chassis/CXL3/Memory/index.json create mode 100755 CXLAgent/Chassis/CXL3/MemoryDomains/1/MemoryChunks/1/index.json create mode 100755 CXLAgent/Chassis/CXL3/MemoryDomains/1/MemoryChunks/index.json create mode 100755 CXLAgent/Chassis/CXL3/MemoryDomains/1/index.json create mode 100755 CXLAgent/Chassis/CXL3/MemoryDomains/index.json create mode 100755 CXLAgent/Chassis/CXL3/PCIeDevices/1/CXLLogicalDevices/1/index.json create mode 100755 CXLAgent/Chassis/CXL3/PCIeDevices/1/CXLLogicalDevices/index.json create mode 100755 CXLAgent/Chassis/CXL3/PCIeDevices/1/PCIeFunctions/1/index.json create mode 100755 CXLAgent/Chassis/CXL3/PCIeDevices/1/PCIeFunctions/index.json create mode 100755 CXLAgent/Chassis/CXL3/PCIeDevices/1/index.json create mode 100755 CXLAgent/Chassis/CXL3/PCIeDevices/index.json create mode 100755 CXLAgent/Chassis/CXL3/index.json create mode 100755 CXLAgent/Chassis/PCXL1/FabricAdapters/1/Ports/1/index.json create mode 100755 CXLAgent/Chassis/PCXL1/FabricAdapters/1/Ports/index.json create mode 100755 CXLAgent/Chassis/PCXL1/FabricAdapters/1/index.json create mode 100755 CXLAgent/Chassis/PCXL1/FabricAdapters/index.json create mode 100755 CXLAgent/Chassis/PCXL1/PCIeDevices/1/CXLLogicalDevices/1/index.json create mode 100755 CXLAgent/Chassis/PCXL1/PCIeDevices/1/CXLLogicalDevices/index.json create mode 100755 CXLAgent/Chassis/PCXL1/PCIeDevices/1/PCIeFunctions/1/index.json create mode 100755 CXLAgent/Chassis/PCXL1/PCIeDevices/1/PCIeFunctions/index.json create mode 100755 CXLAgent/Chassis/PCXL1/PCIeDevices/1/index.json create mode 100755 CXLAgent/Chassis/PCXL1/PCIeDevices/index.json create mode 100755 CXLAgent/Chassis/PCXL1/Processors/FPGA/index.json create mode 100755 CXLAgent/Chassis/PCXL1/Processors/index.json create mode 100755 CXLAgent/Chassis/PCXL1/index.json create mode 100755 CXLAgent/Chassis/PCXL2/FabricAdapters/1/Ports/1/index.json create mode 100755 CXLAgent/Chassis/PCXL2/FabricAdapters/1/Ports/index.json create mode 100755 CXLAgent/Chassis/PCXL2/FabricAdapters/1/index.json create mode 100755 CXLAgent/Chassis/PCXL2/FabricAdapters/index.json create mode 100755 CXLAgent/Chassis/PCXL2/Memory/HBM/index.json create mode 100755 CXLAgent/Chassis/PCXL2/Memory/index.json create mode 100755 CXLAgent/Chassis/PCXL2/MemoryDomains/1/MemoryChunks/1/index.json create mode 100755 CXLAgent/Chassis/PCXL2/MemoryDomains/1/MemoryChunks/index.json create mode 100755 CXLAgent/Chassis/PCXL2/MemoryDomains/1/index.json create mode 100755 CXLAgent/Chassis/PCXL2/MemoryDomains/index.json create mode 100755 CXLAgent/Chassis/PCXL2/PCIeDevices/1/CXLLogicalDevices/1/index.json create mode 100755 CXLAgent/Chassis/PCXL2/PCIeDevices/1/CXLLogicalDevices/index.json create mode 100755 CXLAgent/Chassis/PCXL2/PCIeDevices/1/PCIeFunctions/1/index.json create mode 100755 CXLAgent/Chassis/PCXL2/PCIeDevices/1/PCIeFunctions/index.json create mode 100755 CXLAgent/Chassis/PCXL2/PCIeDevices/1/index.json create mode 100755 CXLAgent/Chassis/PCXL2/PCIeDevices/index.json create mode 100755 CXLAgent/Chassis/PCXL2/Processors/GPU/index.json create mode 100755 CXLAgent/Chassis/PCXL2/Processors/index.json create mode 100755 CXLAgent/Chassis/PCXL2/index.json create mode 100755 CXLAgent/Chassis/PCXL3/FabricAdapters/1/Ports/1/index.json create mode 100755 CXLAgent/Chassis/PCXL3/FabricAdapters/1/Ports/index.json create mode 100755 CXLAgent/Chassis/PCXL3/FabricAdapters/1/index.json create mode 100755 CXLAgent/Chassis/PCXL3/FabricAdapters/index.json create mode 100755 CXLAgent/Chassis/PCXL3/Memory/3DXP/index.json create mode 100755 CXLAgent/Chassis/PCXL3/Memory/index.json create mode 100755 CXLAgent/Chassis/PCXL3/MemoryDomains/1/MemoryChunks/1/index.json create mode 100755 CXLAgent/Chassis/PCXL3/MemoryDomains/1/MemoryChunks/index.json create mode 100755 CXLAgent/Chassis/PCXL3/MemoryDomains/1/index.json create mode 100755 CXLAgent/Chassis/PCXL3/MemoryDomains/index.json create mode 100755 CXLAgent/Chassis/PCXL3/PCIeDevices/1/CXLLogicalDevices/1/index.json create mode 100755 CXLAgent/Chassis/PCXL3/PCIeDevices/1/CXLLogicalDevices/index.json create mode 100755 CXLAgent/Chassis/PCXL3/PCIeDevices/1/PCIeFunctions/1/index.json create mode 100755 CXLAgent/Chassis/PCXL3/PCIeDevices/1/PCIeFunctions/index.json create mode 100755 CXLAgent/Chassis/PCXL3/PCIeDevices/1/index.json create mode 100755 CXLAgent/Chassis/PCXL3/PCIeDevices/index.json create mode 100755 CXLAgent/Chassis/PCXL3/index.json create mode 100755 CXLAgent/Chassis/index.json create mode 100755 CXLAgent/Fabrics/CXL/Connections/12/index.json create mode 100755 CXLAgent/Fabrics/CXL/Connections/13/index.json create mode 100755 CXLAgent/Fabrics/CXL/Connections/index.json create mode 100755 CXLAgent/Fabrics/CXL/Endpoints/1/index.json create mode 100755 CXLAgent/Fabrics/CXL/Endpoints/I1/index.json create mode 100755 CXLAgent/Fabrics/CXL/Endpoints/I2/index.json create mode 100755 CXLAgent/Fabrics/CXL/Endpoints/I3/index.json create mode 100755 CXLAgent/Fabrics/CXL/Endpoints/T1/index.json create mode 100755 CXLAgent/Fabrics/CXL/Endpoints/T2/index.json create mode 100755 CXLAgent/Fabrics/CXL/Endpoints/T3/index.json create mode 100755 CXLAgent/Fabrics/CXL/Endpoints/index.json create mode 100755 CXLAgent/Fabrics/CXL/Switches/CXL/Ports/D1/index.json create mode 100755 CXLAgent/Fabrics/CXL/Switches/CXL/Ports/D2/index.json create mode 100755 CXLAgent/Fabrics/CXL/Switches/CXL/Ports/D3/index.json create mode 100755 CXLAgent/Fabrics/CXL/Switches/CXL/Ports/U1/index.json create mode 100755 CXLAgent/Fabrics/CXL/Switches/CXL/Ports/index.json create mode 100755 CXLAgent/Fabrics/CXL/Switches/CXL/index.json create mode 100755 CXLAgent/Fabrics/CXL/Switches/index.json create mode 100755 CXLAgent/Fabrics/CXL/Zones/1/index.json create mode 100755 CXLAgent/Fabrics/CXL/Zones/2/index.json create mode 100755 CXLAgent/Fabrics/CXL/Zones/3/index.json create mode 100755 CXLAgent/Fabrics/CXL/Zones/index.json create mode 100755 CXLAgent/Fabrics/CXL/index.json create mode 100755 CXLAgent/Fabrics/index.json create mode 100644 CXLAgent/Storage/index.json create mode 100755 CXLAgent/Systems/CXL-System/Memory/CXL2/index.json create mode 100755 CXLAgent/Systems/CXL-System/Memory/CXL3/index.json create mode 100755 CXLAgent/Systems/CXL-System/Memory/RCXL2/index.json create mode 100755 CXLAgent/Systems/CXL-System/Memory/RCXL3/index.json create mode 100755 CXLAgent/Systems/CXL-System/Memory/index.json create mode 100755 CXLAgent/Systems/CXL-System/MemoryDomains/CXL/MemoryChunks/1/index.json create mode 100755 CXLAgent/Systems/CXL-System/MemoryDomains/CXL/MemoryChunks/index.json create mode 100755 CXLAgent/Systems/CXL-System/MemoryDomains/CXL/index.json create mode 100755 CXLAgent/Systems/CXL-System/MemoryDomains/index.json create mode 100755 CXLAgent/Systems/CXL-System/Processors/CPU/Ports/1/index.json create mode 100755 CXLAgent/Systems/CXL-System/Processors/CPU/Ports/index.json create mode 100755 CXLAgent/Systems/CXL-System/Processors/CPU/index.json create mode 100755 CXLAgent/Systems/CXL-System/Processors/index.json create mode 100755 CXLAgent/Systems/CXL-System/index.json create mode 100755 CXLAgent/Systems/index.json create mode 100644 CXLAgent/index.json delete mode 100644 Resources/Systems/1/index.json delete mode 100644 Resources/Systems/1234/index.json delete mode 100644 Resources/Systems/index.json delete mode 100644 Resources/index.json create mode 100644 Sunfish/$metadata/index.xml create mode 100644 Sunfish/AccountService/Accounts/index.json create mode 100644 Sunfish/AccountService/Roles/Administrator/index.json create mode 100644 Sunfish/AccountService/Roles/Operator/index.json create mode 100644 Sunfish/AccountService/Roles/ReadOnlyUser/index.json create mode 100644 Sunfish/AccountService/Roles/index.json create mode 100644 Sunfish/AccountService/index.json create mode 100644 Sunfish/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b/index.json create mode 100644 Sunfish/AggregationService/AggregationSources/index.json create mode 100644 Sunfish/AggregationService/ConnectionMethods/CXL/index.json create mode 100644 Sunfish/AggregationService/ConnectionMethods/index.json create mode 100644 Sunfish/AggregationService/index.json create mode 100644 Sunfish/Chassis/CXL-Chassis/index.json create mode 100644 Sunfish/Chassis/CXL1/PCIeDevices/1/CXLLogicalDevices/1/index.json create mode 100644 Sunfish/Chassis/CXL1/PCIeDevices/1/CXLLogicalDevices/index.json create mode 100644 Sunfish/Chassis/CXL1/PCIeDevices/1/PCIeFunctions/1/index.json create mode 100644 Sunfish/Chassis/CXL1/PCIeDevices/1/PCIeFunctions/index.json create mode 100644 Sunfish/Chassis/CXL1/PCIeDevices/1/index.json create mode 100644 Sunfish/Chassis/CXL1/PCIeDevices/index.json create mode 100644 Sunfish/Chassis/CXL1/Processors/FPGA/index.json create mode 100644 Sunfish/Chassis/CXL1/Processors/index.json create mode 100644 Sunfish/Chassis/CXL1/index.json create mode 100644 Sunfish/Chassis/CXL2/Memory/HBM/index.json create mode 100644 Sunfish/Chassis/CXL2/Memory/index.json create mode 100644 Sunfish/Chassis/CXL2/MemoryDomains/1/MemoryChunks/1/index.json create mode 100644 Sunfish/Chassis/CXL2/MemoryDomains/1/MemoryChunks/index.json create mode 100644 Sunfish/Chassis/CXL2/MemoryDomains/1/index.json create mode 100644 Sunfish/Chassis/CXL2/MemoryDomains/index.json create mode 100644 Sunfish/Chassis/CXL2/PCIeDevices/1/CXLLogicalDevices/1/index.json create mode 100644 Sunfish/Chassis/CXL2/PCIeDevices/1/CXLLogicalDevices/index.json create mode 100644 Sunfish/Chassis/CXL2/PCIeDevices/1/PCIeFunctions/1/index.json create mode 100644 Sunfish/Chassis/CXL2/PCIeDevices/1/PCIeFunctions/index.json create mode 100644 Sunfish/Chassis/CXL2/PCIeDevices/1/index.json create mode 100644 Sunfish/Chassis/CXL2/PCIeDevices/index.json create mode 100644 Sunfish/Chassis/CXL2/Processors/GPU/index.json create mode 100644 Sunfish/Chassis/CXL2/Processors/index.json create mode 100644 Sunfish/Chassis/CXL2/index.json create mode 100644 Sunfish/Chassis/CXL3/Memory/3DXP/index.json create mode 100644 Sunfish/Chassis/CXL3/Memory/index.json create mode 100644 Sunfish/Chassis/CXL3/MemoryDomains/1/MemoryChunks/1/index.json create mode 100644 Sunfish/Chassis/CXL3/MemoryDomains/1/MemoryChunks/index.json create mode 100644 Sunfish/Chassis/CXL3/MemoryDomains/1/index.json create mode 100644 Sunfish/Chassis/CXL3/MemoryDomains/index.json create mode 100644 Sunfish/Chassis/CXL3/PCIeDevices/1/CXLLogicalDevices/1/index.json create mode 100644 Sunfish/Chassis/CXL3/PCIeDevices/1/CXLLogicalDevices/index.json create mode 100644 Sunfish/Chassis/CXL3/PCIeDevices/1/PCIeFunctions/1/index.json create mode 100644 Sunfish/Chassis/CXL3/PCIeDevices/1/PCIeFunctions/index.json create mode 100644 Sunfish/Chassis/CXL3/PCIeDevices/1/index.json create mode 100644 Sunfish/Chassis/CXL3/PCIeDevices/index.json create mode 100644 Sunfish/Chassis/CXL3/index.json create mode 100644 Sunfish/Chassis/PCXL1/FabricAdapters/1/Ports/1/index.json create mode 100644 Sunfish/Chassis/PCXL1/FabricAdapters/1/Ports/index.json create mode 100644 Sunfish/Chassis/PCXL1/FabricAdapters/1/index.json create mode 100644 Sunfish/Chassis/PCXL1/FabricAdapters/index.json create mode 100644 Sunfish/Chassis/PCXL1/PCIeDevices/1/CXLLogicalDevices/1/index.json create mode 100644 Sunfish/Chassis/PCXL1/PCIeDevices/1/CXLLogicalDevices/index.json create mode 100644 Sunfish/Chassis/PCXL1/PCIeDevices/1/PCIeFunctions/1/index.json create mode 100644 Sunfish/Chassis/PCXL1/PCIeDevices/1/PCIeFunctions/index.json create mode 100644 Sunfish/Chassis/PCXL1/PCIeDevices/1/index.json create mode 100644 Sunfish/Chassis/PCXL1/PCIeDevices/index.json create mode 100644 Sunfish/Chassis/PCXL1/Processors/FPGA/index.json create mode 100644 Sunfish/Chassis/PCXL1/Processors/index.json create mode 100644 Sunfish/Chassis/PCXL1/index.json create mode 100644 Sunfish/Chassis/PCXL2/FabricAdapters/1/Ports/1/index.json create mode 100644 Sunfish/Chassis/PCXL2/FabricAdapters/1/Ports/index.json create mode 100644 Sunfish/Chassis/PCXL2/FabricAdapters/1/index.json create mode 100644 Sunfish/Chassis/PCXL2/FabricAdapters/index.json create mode 100644 Sunfish/Chassis/PCXL2/Memory/HBM/index.json create mode 100644 Sunfish/Chassis/PCXL2/Memory/index.json create mode 100644 Sunfish/Chassis/PCXL2/MemoryDomains/1/MemoryChunks/1/index.json create mode 100644 Sunfish/Chassis/PCXL2/MemoryDomains/1/MemoryChunks/index.json create mode 100644 Sunfish/Chassis/PCXL2/MemoryDomains/1/index.json create mode 100644 Sunfish/Chassis/PCXL2/MemoryDomains/index.json create mode 100644 Sunfish/Chassis/PCXL2/PCIeDevices/1/CXLLogicalDevices/1/index.json create mode 100644 Sunfish/Chassis/PCXL2/PCIeDevices/1/CXLLogicalDevices/index.json create mode 100644 Sunfish/Chassis/PCXL2/PCIeDevices/1/PCIeFunctions/1/index.json create mode 100644 Sunfish/Chassis/PCXL2/PCIeDevices/1/PCIeFunctions/index.json create mode 100644 Sunfish/Chassis/PCXL2/PCIeDevices/1/index.json create mode 100644 Sunfish/Chassis/PCXL2/PCIeDevices/index.json create mode 100644 Sunfish/Chassis/PCXL2/Processors/GPU/index.json create mode 100644 Sunfish/Chassis/PCXL2/Processors/index.json create mode 100644 Sunfish/Chassis/PCXL2/index.json create mode 100644 Sunfish/Chassis/PCXL3/FabricAdapters/1/Ports/1/index.json create mode 100644 Sunfish/Chassis/PCXL3/FabricAdapters/1/Ports/index.json create mode 100644 Sunfish/Chassis/PCXL3/FabricAdapters/1/index.json create mode 100644 Sunfish/Chassis/PCXL3/FabricAdapters/index.json create mode 100644 Sunfish/Chassis/PCXL3/Memory/3DXP/index.json create mode 100644 Sunfish/Chassis/PCXL3/Memory/index.json create mode 100644 Sunfish/Chassis/PCXL3/MemoryDomains/1/MemoryChunks/1/index.json create mode 100644 Sunfish/Chassis/PCXL3/MemoryDomains/1/MemoryChunks/index.json create mode 100644 Sunfish/Chassis/PCXL3/MemoryDomains/1/index.json create mode 100644 Sunfish/Chassis/PCXL3/MemoryDomains/index.json create mode 100644 Sunfish/Chassis/PCXL3/PCIeDevices/1/CXLLogicalDevices/1/index.json create mode 100644 Sunfish/Chassis/PCXL3/PCIeDevices/1/CXLLogicalDevices/index.json create mode 100644 Sunfish/Chassis/PCXL3/PCIeDevices/1/PCIeFunctions/1/index.json create mode 100644 Sunfish/Chassis/PCXL3/PCIeDevices/1/PCIeFunctions/index.json create mode 100644 Sunfish/Chassis/PCXL3/PCIeDevices/1/index.json create mode 100644 Sunfish/Chassis/PCXL3/PCIeDevices/index.json create mode 100644 Sunfish/Chassis/PCXL3/index.json create mode 100644 Sunfish/Chassis/index.json create mode 100644 Sunfish/Fabrics/CXL/Connections/12/index.json create mode 100644 Sunfish/Fabrics/CXL/Connections/13/index.json create mode 100644 Sunfish/Fabrics/CXL/Connections/index.json create mode 100644 Sunfish/Fabrics/CXL/Endpoints/1/index.json create mode 100644 Sunfish/Fabrics/CXL/Endpoints/I1/index.json create mode 100644 Sunfish/Fabrics/CXL/Endpoints/I2/index.json create mode 100644 Sunfish/Fabrics/CXL/Endpoints/I3/index.json create mode 100644 Sunfish/Fabrics/CXL/Endpoints/T1/index.json create mode 100644 Sunfish/Fabrics/CXL/Endpoints/T2/index.json create mode 100644 Sunfish/Fabrics/CXL/Endpoints/T3/index.json create mode 100644 Sunfish/Fabrics/CXL/Endpoints/index.json create mode 100644 Sunfish/Fabrics/CXL/Switches/CXL/Ports/D1/index.json create mode 100644 Sunfish/Fabrics/CXL/Switches/CXL/Ports/D2/index.json create mode 100644 Sunfish/Fabrics/CXL/Switches/CXL/Ports/D3/index.json create mode 100644 Sunfish/Fabrics/CXL/Switches/CXL/Ports/U1/index.json create mode 100644 Sunfish/Fabrics/CXL/Switches/CXL/Ports/index.json create mode 100644 Sunfish/Fabrics/CXL/Switches/CXL/index.json create mode 100644 Sunfish/Fabrics/CXL/Switches/index.json create mode 100644 Sunfish/Fabrics/CXL/Zones/1/index.json create mode 100644 Sunfish/Fabrics/CXL/Zones/2/index.json create mode 100644 Sunfish/Fabrics/CXL/Zones/3/index.json create mode 100644 Sunfish/Fabrics/CXL/Zones/index.json create mode 100644 Sunfish/Fabrics/CXL/index.json create mode 100644 Sunfish/Fabrics/index.json create mode 100644 Sunfish/Managers/NVMeoF/EthernetInterfaces/Dedicated/index.json create mode 100644 Sunfish/Managers/NVMeoF/EthernetInterfaces/index.json create mode 100644 Sunfish/Managers/NVMeoF/LogServices/Log/index.json create mode 100644 Sunfish/Managers/NVMeoF/LogServices/index.json create mode 100644 Sunfish/Managers/NVMeoF/NetworkProtocol/index.json create mode 100644 Sunfish/Managers/NVMeoF/index.json create mode 100644 Sunfish/Managers/Sunfish/EthernetInterfaces/Dedicated/index.json create mode 100644 Sunfish/Managers/Sunfish/EthernetInterfaces/index.json create mode 100644 Sunfish/Managers/Sunfish/LogServices/Log/Entries/1/index.json create mode 100644 Sunfish/Managers/Sunfish/LogServices/Log/Entries/index.json create mode 100644 Sunfish/Managers/Sunfish/LogServices/Log/index.json create mode 100644 Sunfish/Managers/Sunfish/LogServices/index.json create mode 100644 Sunfish/Managers/Sunfish/NetworkProtocol/index.json create mode 100644 Sunfish/Managers/Sunfish/index.json create mode 100644 Sunfish/Managers/index.json create mode 100644 Sunfish/Registries/AdvertisedFeatures.v1_0_0.json create mode 100644 Sunfish/Registries/AdvertisedFeatures.v1_0_0/index.json create mode 100644 Sunfish/Registries/index.json create mode 100644 Sunfish/SessionService/Sessions/1234567890ABCDEF/index.json create mode 100644 Sunfish/SessionService/Sessions/index.json create mode 100644 Sunfish/SessionService/index.json create mode 100644 Sunfish/Storage/index.json create mode 100644 Sunfish/Systems/CXL-System/Memory/CXL2/index.json create mode 100644 Sunfish/Systems/CXL-System/Memory/CXL3/index.json create mode 100644 Sunfish/Systems/CXL-System/Memory/RCXL2/index.json create mode 100644 Sunfish/Systems/CXL-System/Memory/RCXL3/index.json create mode 100644 Sunfish/Systems/CXL-System/Memory/index.json create mode 100644 Sunfish/Systems/CXL-System/MemoryDomains/CXL/MemoryChunks/1/index.json create mode 100644 Sunfish/Systems/CXL-System/MemoryDomains/CXL/MemoryChunks/index.json create mode 100644 Sunfish/Systems/CXL-System/MemoryDomains/CXL/index.json create mode 100644 Sunfish/Systems/CXL-System/MemoryDomains/index.json create mode 100644 Sunfish/Systems/CXL-System/Processors/CPU/Ports/1/index.json create mode 100644 Sunfish/Systems/CXL-System/Processors/CPU/Ports/index.json create mode 100644 Sunfish/Systems/CXL-System/Processors/CPU/index.json create mode 100644 Sunfish/Systems/CXL-System/Processors/index.json create mode 100644 Sunfish/Systems/CXL-System/index.json create mode 100644 Sunfish/Systems/index.json create mode 100644 Sunfish/index.json create mode 100644 conf.json create mode 100644 mock_agent.py create mode 100644 templates/EventAggregationSourceDiscovered.json create mode 100644 templates/EventSubscription.json create mode 100644 templates/ResourceCreated.json create mode 100644 templates/Sub_1.json create mode 100644 templates/Sub_2.json create mode 100644 templates/Task_event_cancelled.json create mode 100644 templates/patch_subscription.json create mode 100644 templates/post_aggregation_source.json create mode 100644 templates/put_subscription.json create mode 100644 tests/test_sunfishcore_library.py create mode 100644 tests/test_utils.py create mode 100644 tests/tests_template.py diff --git a/CXLAgent/AggregationService/ConnectionMethods/CXL/index.json b/CXLAgent/AggregationService/ConnectionMethods/CXL/index.json new file mode 100644 index 0000000..2e82ef4 --- /dev/null +++ b/CXLAgent/AggregationService/ConnectionMethods/CXL/index.json @@ -0,0 +1,11 @@ + { + "@odata.type": "#ConnectionMethod.v1_1_0.ConnectionMethod", + "Id": "NVMeoF", + "Name": "ConnectionMethod for Agent CXL", + "ConnectionMethodType": "Redfish", + "ConnectionMethodVariant": "Contoso", + "Links": { + "AggregationSources": [] + }, + "@odata.id": "/redfish/v1/AggregationService/ConnectionMethods/CXL" + } diff --git a/CXLAgent/AggregationService/ConnectionMethods/index.json b/CXLAgent/AggregationService/ConnectionMethods/index.json new file mode 100644 index 0000000..6cd0e74 --- /dev/null +++ b/CXLAgent/AggregationService/ConnectionMethods/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ConnectionMethodCollection.ConnectionMethodCollection", + "Name": "ConnectionMethod Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/AggregationService/ConnectionMethods/CXL" + } + ], + "@odata.id": "/redfish/v1/ConnectionMethods", + "@Redfish.Copyright": "Copyright 2015-2022 SNIA. All rights reserved." +} diff --git a/CXLAgent/AggregationService/index.json b/CXLAgent/AggregationService/index.json new file mode 100644 index 0000000..14f4caa --- /dev/null +++ b/CXLAgent/AggregationService/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#AggregationService.v1_0_1.AggregationService", + "Id": "AggregationService", + "Name": "Aggregation Service", + "Description": "Open Fabric Manager Aggregation Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + + "@odata.id": "/redfish/v1/AggregationService", + "@Redfish.Copyright": "Copyright 2023 OpenFabrics Alliance. All rights reserved." +} \ No newline at end of file diff --git a/CXLAgent/Chassis/CXL-Chassis/index.json b/CXLAgent/Chassis/CXL-Chassis/index.json new file mode 100755 index 0000000..53aae78 --- /dev/null +++ b/CXLAgent/Chassis/CXL-Chassis/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Chassis.v1_20_0.Chassis", + "Id": "CXL-Chassis", + "Name": "CXL System chassis containig CXL cards", + "PowerState": "On", + "ChassisType": "Blade", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "Links": { + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/CXL-System" + } + ], + "Contains": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL1" + }, + { + "@odata.id": "/redfish/v1/Chassis/CXL2" + }, + { + "@odata.id": "/redfish/v1/Chassis/CXL3" + } + ] + }, + "Oem": {}, + "@odata.id": "/redfish/v1/Chassis/CXL-Chassis", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/CXL1/PCIeDevices/1/CXLLogicalDevices/1/index.json b/CXLAgent/Chassis/CXL1/PCIeDevices/1/CXLLogicalDevices/1/index.json new file mode 100755 index 0000000..7b6836f --- /dev/null +++ b/CXLAgent/Chassis/CXL1/PCIeDevices/1/CXLLogicalDevices/1/index.json @@ -0,0 +1,35 @@ +{ + "@odata.type": "#CXLLogicalDevice.v1_0_0.CXLLogicalDevice", + "Id": "1", + "Name": "CXL Logical Device Type 1", + "Description": "Locally attached CXL Logical Device Type 1", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "Identifiers": [ + { + "DurableName": "4C-1D-96-FF-FE-DD-D8-35:1", + "DurableNameFormat": "GCXLID" + } + ], + "CXLSemanticsSupported": [ + "CXLio", + "CXLcache" + ], + "Links": { + "PCIeDevice": { + "@odata.id": "/redfish/v1/Chassis/CXL1/PCIeDevices/1" + }, + "PCIeFunctions": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL1/PCIeDevices/1/PCIeFunctions/1" + } + ], + "Oem": {} + }, + "Oem": {}, + "@odata.id": "/redfish/v1/Chassis/CXL1/PCIeDevices/1/CXLLogicalDevices/1", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/CXL1/PCIeDevices/1/CXLLogicalDevices/index.json b/CXLAgent/Chassis/CXL1/PCIeDevices/1/CXLLogicalDevices/index.json new file mode 100755 index 0000000..6c3c087 --- /dev/null +++ b/CXLAgent/Chassis/CXL1/PCIeDevices/1/CXLLogicalDevices/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#CXLLogicalDeviceCollection.CXLLogicalDeviceCollection", + "Name": "CXL Logical Device Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL1/PCIeDevices/1/CXLLogicalDevices/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/CXL1/PCIeDevices/1/CXLLogicalDevices", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/CXL1/PCIeDevices/1/PCIeFunctions/1/index.json b/CXLAgent/Chassis/CXL1/PCIeDevices/1/PCIeFunctions/1/index.json new file mode 100755 index 0000000..642811d --- /dev/null +++ b/CXLAgent/Chassis/CXL1/PCIeDevices/1/PCIeFunctions/1/index.json @@ -0,0 +1,37 @@ +{ + "@odata.type": "#PCIeFunction.v1_4_0.PCIeFunction", + "Id": "1", + "Name": "CXL Function", + "Description": "PCIe Function with CXL extensions representing FPGA", + "FunctionId": 1, + "FunctionType": "Physical", + "DeviceClass": "Processor", + "DeviceId": "0xABCD", + "VendorId": "0xABCD", + "ClassCode": "0x0B4000", + "RevisionId": "0x00", + "SubsystemId": "0xABCD", + "SubsystemVendorId": "0xABCD", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "FunctionProtocol": "CXL", + "Links": { + "Processors": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL1/Processors/FPGA" + } + ], + "CXLLogicalDevice": { + "@odata.id": "/redfish/v1/Chassis/CXL1/PCIeDevices/1/CXLLogicalDevices/1" + }, + "PCIeDevice": { + "@odata.id": "/redfish/v1/Chassis/CXL1/PCIeDevices/1" + } + }, + "Oem": {}, + "@odata.id": "/redfish/v1/Chassis/CXL1/PCIeDevices/1/PCIeFunctions/1", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/CXL1/PCIeDevices/1/PCIeFunctions/index.json b/CXLAgent/Chassis/CXL1/PCIeDevices/1/PCIeFunctions/index.json new file mode 100755 index 0000000..3ea9c02 --- /dev/null +++ b/CXLAgent/Chassis/CXL1/PCIeDevices/1/PCIeFunctions/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#PCIeFunctionCollection.PCIeFunctionCollection", + "Name": "PCIe Function Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL1/PCIeDevices/1/PCIeFunctions/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/CXL1/PCIeDevices/1/PCIeFunctions", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/CXL1/PCIeDevices/1/index.json b/CXLAgent/Chassis/CXL1/PCIeDevices/1/index.json new file mode 100755 index 0000000..a0c6a8b --- /dev/null +++ b/CXLAgent/Chassis/CXL1/PCIeDevices/1/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#PCIeDevice.v1_10_0.PCIeDevice", + "Id": "1", + "Name": "CXL Device", + "Description": "CXL Physcial Device Type 1", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "PCIeInterface": { + "PCIeType": "Gen5", + "MaxPCIeType": "Gen5", + "LanesInUse": 8, + "MaxLanes": 16 + }, + "PCIeFunctions": { + "@odata.id": "/redfish/v1/Chassis/CXL1/PCIeDevices/1/PCIeFunctions" + }, + "CXLDevice":{ + "CurrentProtocolVersion": "V2_0", + "CapableProtocolVersion": "V2_0", + "DeviceType": "Type1", + "MultiLogicalDevice": false + }, + "CXLLogicalDevices": { + "@odata.id": "/redfish/v1/Chassis/CXL1/PCIeDevices/1/CXLLogicalDevices" + }, + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL1" + } + ], + "Oem": {} + }, + "Oem": {}, + "@odata.id": "/redfish/v1/Chassis/CXL1/PCIeDevices/1", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/CXL1/PCIeDevices/index.json b/CXLAgent/Chassis/CXL1/PCIeDevices/index.json new file mode 100755 index 0000000..06154de --- /dev/null +++ b/CXLAgent/Chassis/CXL1/PCIeDevices/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#PCIeDeviceCollection.PCIeDeviceCollection", + "Name": "PCIe Device Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL1/PCIeDevices/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/CXL1/PCIeDevices", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/CXL1/Processors/FPGA/index.json b/CXLAgent/Chassis/CXL1/Processors/FPGA/index.json new file mode 100755 index 0000000..30ba417 --- /dev/null +++ b/CXLAgent/Chassis/CXL1/Processors/FPGA/index.json @@ -0,0 +1,37 @@ +{ + "@odata.type": "#Processor.v1_15_0.Processor", + "Id": "FPGA", + "Name": "FPGA with cache", + "Description": "FPGA with cache", + "ProcessorType": "FPGA", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "ProcessorMemory": [ + { + "IntegratedMemory": true, + "MemoryType": "Cache", + "CapacityMiB": 64 + } + ], + "MemorySummary": { + "TotalMemorySizeMiB": 0, + "TotalCacheSizeMiB": 64 + }, + "Links": { + "PCIeFunctions": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL1/PCIeDevices/1/PCIeFunctions/1" + } + ], + "ConnectedProcessors": [ + { + "@odata.id": "/redfish/v1/Systems/CXL-System/Processors/CPU" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/CXL1/Processors/FPGA", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/CXL1/Processors/index.json b/CXLAgent/Chassis/CXL1/Processors/index.json new file mode 100755 index 0000000..4361b24 --- /dev/null +++ b/CXLAgent/Chassis/CXL1/Processors/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ProcessorCollection.ProcessorCollection", + "Name": "Processor Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL1/Processors/FPGA" + } + ], + "@odata.id": "/redfish/v1/Chassis/CXL1/Processors", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/CXL1/index.json b/CXLAgent/Chassis/CXL1/index.json new file mode 100755 index 0000000..ceed109 --- /dev/null +++ b/CXLAgent/Chassis/CXL1/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#Chassis.v1_20_0.Chassis", + "Id": "CXL1", + "Name": "CXL Device Type 1 module", + "ChassisType": "Module", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "PCIeDevices": { + "@odata.id": "/redfish/v1/Chassis/CXL1/PCIeDevices" + }, + "Processors": { + "@odata.id": "/redfish/v1/Chassis/CXL1/Processors" + }, + "Links": { + "ContainedBy": { + "@odata.id": "/redfish/v1/Chassis/CXL-Chassis" + } + }, + "Oem": {}, + "@odata.id": "/redfish/v1/Chassis/CXL1", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/CXL2/Memory/HBM/index.json b/CXLAgent/Chassis/CXL2/Memory/HBM/index.json new file mode 100755 index 0000000..5a447d2 --- /dev/null +++ b/CXLAgent/Chassis/CXL2/Memory/HBM/index.json @@ -0,0 +1,27 @@ +{ + "@odata.type": "#Memory.v1_15_0.Memory", + "Id": "HBM", + "MemoryType": "DRAM", + "MemoryDeviceType": "HBM2", + "MemoryMedia": [ + "DRAM" + ], + "Name": "HBM memory", + "CapacityMiB": 16384, + "OperatingSpeedMhz": 1333, + "Status": { + "Health": "OK", + "State": "Enabled", + "HealthRollup": "OK" + }, + "Links": { + "Processors": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL2/Processors/GPU" + } + ] + }, + "Oem": {}, + "@odata.id": "/redfish/v1/Chassis/CXL2/Memory/HBM", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/CXL2/Memory/index.json b/CXLAgent/Chassis/CXL2/Memory/index.json new file mode 100755 index 0000000..572edd9 --- /dev/null +++ b/CXLAgent/Chassis/CXL2/Memory/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#MemoryCollection.MemoryCollection", + "Name": "Memory Collection", + "Description": "Memory Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL2/Memory/HBM" + } + ], + "@odata.id": "/redfish/v1/Chassis/CXL2/Memory", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/CXL2/MemoryDomains/1/MemoryChunks/1/index.json b/CXLAgent/Chassis/CXL2/MemoryDomains/1/MemoryChunks/1/index.json new file mode 100755 index 0000000..8337099 --- /dev/null +++ b/CXLAgent/Chassis/CXL2/MemoryDomains/1/MemoryChunks/1/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#MemoryChunks.v1_5_0.MemoryChunks", + "Id": "1", + "Name": "Memory Chunk 1", + "Description": "Memory chunk accessible through CXL", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "MemoryChunkSizeMiB": 4096, + "AddressRangeType": "Volatile", + "AddressRangeOffsetMiB": 1024, + "MediaLocation": "Local", + "OperationalState": "Online", + "Links": { + "CXLLogicalDevices": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL2/PCIeDevices/1/CXLLogicalDevices/1" + } + ] + }, + "Oem": {}, + "@odata.id": "/redfish/v1/Chassis/CXL2/MemoryDomains/1/MemoryChunks/1", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/CXL2/MemoryDomains/1/MemoryChunks/index.json b/CXLAgent/Chassis/CXL2/MemoryDomains/1/MemoryChunks/index.json new file mode 100755 index 0000000..ecb8f4b --- /dev/null +++ b/CXLAgent/Chassis/CXL2/MemoryDomains/1/MemoryChunks/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#MemoryChunksCollection.MemoryChunksCollection", + "Name": "Memory Chunks Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL2/MemoryDomains/1/MemoryChunks/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/CXL2/MemoryDomains/1/MemoryChunks", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/CXL2/MemoryDomains/1/index.json b/CXLAgent/Chassis/CXL2/MemoryDomains/1/index.json new file mode 100755 index 0000000..f6d2720 --- /dev/null +++ b/CXLAgent/Chassis/CXL2/MemoryDomains/1/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#MemoryDomain.v1_4_0.MemoryDomain", + "Id": "1", + "Name": "GPU HBM Memory Domain", + "Description": "GPU HBM Memory Domain accessible through CXL", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "MemoryChunks": { + "@odata.id": "/redfish/v1/Chassis/CXL2/MemoryDomains/1/MemoryChunks" + }, + "AllowsMemoryChunkCreation": true, + "MinMemoryChunkSizeMiB": 64, + "MemoryChunkIncrementMiB": 64, + "InterleavableMemorySets": [ + { + "MemorySet": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL2/Memory/HBM" + } + ] + } + ], + "Links":{ + "CXLLogicalDevices": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL2/PCIeDevices/1/CXLLogicalDevices/1" + } + ] + }, + "Oem": {}, + "@odata.id": "/redfish/v1/Chassis/CXL2/MemoryDomains/1", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/CXL2/MemoryDomains/index.json b/CXLAgent/Chassis/CXL2/MemoryDomains/index.json new file mode 100755 index 0000000..7cef19e --- /dev/null +++ b/CXLAgent/Chassis/CXL2/MemoryDomains/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#MemoryDomainCollection.MemoryDomainCollection", + "Name": "Memory Domain Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL2/MemoryDomains/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/CXL2/MemoryDomains", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/CXL2/PCIeDevices/1/CXLLogicalDevices/1/index.json b/CXLAgent/Chassis/CXL2/PCIeDevices/1/CXLLogicalDevices/1/index.json new file mode 100755 index 0000000..ebcc34e --- /dev/null +++ b/CXLAgent/Chassis/CXL2/PCIeDevices/1/CXLLogicalDevices/1/index.json @@ -0,0 +1,46 @@ +{ + "@odata.type": "#CXLLogicalDevice.v1_0_0.CXLLogicalDevice", + "Id": "1", + "Name": "CXL Logical Device Type 2", + "Description": "Locally attached CXL Logical Device Type 2", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "Identifiers": [ + { + "DurableName": "4C-1D-96-FF-FE-DD-D8-35:1", + "DurableNameFormat": "GCXLID" + } + ], + "CXLSemanticsSupported": [ + "CXLio", + "CXLcache", + "CXLmem" + ], + "Links": { + "PCIeDevice": { + "@odata.id": "/redfish/v1/Chassis/CXL2/PCIeDevices/1" + }, + "PCIeFunctions": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL2/PCIeDevices/1/PCIeFunctions/1" + } + ], + "MemoryDomains": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL2/MemoryDomains/1" + } + ], + "MemoryChunks": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL2/MemoryDomains/1/MemoryChunks/1" + } + ], + "Oem": {} + }, + "Oem": {}, + "@odata.id": "/redfish/v1/Chassis/CXL2/PCIeDevices/1/CXLLogicalDevices/1", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/CXL2/PCIeDevices/1/CXLLogicalDevices/index.json b/CXLAgent/Chassis/CXL2/PCIeDevices/1/CXLLogicalDevices/index.json new file mode 100755 index 0000000..4121430 --- /dev/null +++ b/CXLAgent/Chassis/CXL2/PCIeDevices/1/CXLLogicalDevices/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#CXLLogicalDeviceCollection.CXLLogicalDeviceCollection", + "Name": "CXL Logical Device Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL2/PCIeDevices/1/CXLLogicalDevices/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/CXL2/PCIeDevices/1/CXLLogicalDevices", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/CXL2/PCIeDevices/1/PCIeFunctions/1/index.json b/CXLAgent/Chassis/CXL2/PCIeDevices/1/PCIeFunctions/1/index.json new file mode 100755 index 0000000..48c5631 --- /dev/null +++ b/CXLAgent/Chassis/CXL2/PCIeDevices/1/PCIeFunctions/1/index.json @@ -0,0 +1,37 @@ +{ + "@odata.type": "#PCIeFunction.v1_4_0.PCIeFunction", + "Id": "1", + "Name": "CXL Function", + "Description": "PCIe Function with CXL extensions representing GPU", + "FunctionId": 1, + "FunctionType": "Physical", + "DeviceClass": "ProcessingAccelerators", + "DeviceId": "0xABCD", + "VendorId": "0xABCD", + "ClassCode": "0x120000", + "RevisionId": "0x00", + "SubsystemId": "0xABCD", + "SubsystemVendorId": "0xABCD", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "FunctionProtocol": "CXL", + "Links": { + "Processors": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL2/Processors/GPU" + } + ], + "CXLLogicalDevice": { + "@odata.id": "/redfish/v1/Chassis/CXL2/PCIeDevices/1/CXLLogicalDevices/1" + }, + "PCIeDevice": { + "@odata.id": "/redfish/v1/Chassis/CXL2/PCIeDevices/1" + } + }, + "Oem": {}, + "@odata.id": "/redfish/v1/Chassis/CXL2/PCIeDevices/1/PCIeFunctions/1", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/CXL2/PCIeDevices/1/PCIeFunctions/index.json b/CXLAgent/Chassis/CXL2/PCIeDevices/1/PCIeFunctions/index.json new file mode 100755 index 0000000..c0b3bff --- /dev/null +++ b/CXLAgent/Chassis/CXL2/PCIeDevices/1/PCIeFunctions/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#PCIeFunctionCollection.PCIeFunctionCollection", + "Name": "PCIe Function Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL2/PCIeDevices/1/PCIeFunctions/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/CXL2/PCIeDevices/1/PCIeFunctions", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/CXL2/PCIeDevices/1/index.json b/CXLAgent/Chassis/CXL2/PCIeDevices/1/index.json new file mode 100755 index 0000000..b4e4504 --- /dev/null +++ b/CXLAgent/Chassis/CXL2/PCIeDevices/1/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#PCIeDevice.v1_10_0.PCIeDevice", + "Id": "1", + "Name": "CXL Device", + "Description": "CXL Physcial Device Type 2", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "PCIeInterface": { + "PCIeType": "Gen5", + "MaxPCIeType": "Gen5", + "LanesInUse": 8, + "MaxLanes": 16 + }, + "PCIeFunctions": { + "@odata.id": "/redfish/v1/Chassis/CXL2/PCIeDevices/1/PCIeFunctions" + }, + "CXLDevice":{ + "CurrentProtocolVersion": "V2_0", + "CapableProtocolVersion": "V2_0", + "DeviceType": "Type2", + "MultiLogicalDevice": false + }, + "CXLLogicalDevices": { + "@odata.id": "/redfish/v1/Chassis/CXL2/PCIeDevices/1/CXLLogicalDevices" + }, + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL2" + } + ], + "Oem": {} + }, + "Oem": {}, + "@odata.id": "/redfish/v1/Chassis/CXL2/PCIeDevices/1", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/CXL2/PCIeDevices/index.json b/CXLAgent/Chassis/CXL2/PCIeDevices/index.json new file mode 100755 index 0000000..664feda --- /dev/null +++ b/CXLAgent/Chassis/CXL2/PCIeDevices/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#PCIeDeviceCollection.PCIeDeviceCollection", + "Name": "PCIe Device Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL2/PCIeDevices/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/CXL2/PCIeDevices", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/CXL2/Processors/GPU/index.json b/CXLAgent/Chassis/CXL2/Processors/GPU/index.json new file mode 100755 index 0000000..ba254da --- /dev/null +++ b/CXLAgent/Chassis/CXL2/Processors/GPU/index.json @@ -0,0 +1,48 @@ +{ + "@odata.type": "#Processor.v1_15_0.Processor", + "Id": "GPU", + "Name": "GPU with HBM memory", + "Description": "GPU with cache and HBM memory", + "ProcessorType": "GPU", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "ProcessorMemory": [ + { + "IntegratedMemory": false, + "MemoryType": "HBM2", + "CapacityMiB": 16384, + "SpeedMHz": 1033 + }, + { + "IntegratedMemory": true, + "MemoryType": "Cache", + "CapacityMiB": 64 + } + ], + "MemorySummary": { + "TotalMemorySizeMiB": 16384, + "TotalCacheSizeMiB": 64 + }, + "Links": { + "PCIeFunctions": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL2/PCIeDevices/1/PCIeFunctions/1" + } + ], + "Memory": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL2/Memory/HBM" + } + ], + "ConnectedProcessors": [ + { + "@odata.id": "/redfish/v1/Systems/CXL-System/Processors/CPU" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/CXL2/Processors/GPU", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/CXL2/Processors/index.json b/CXLAgent/Chassis/CXL2/Processors/index.json new file mode 100755 index 0000000..f30e1e1 --- /dev/null +++ b/CXLAgent/Chassis/CXL2/Processors/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ProcessorCollection.ProcessorCollection", + "Name": "Processor Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL2/Processors/GPU" + } + ], + "@odata.id": "/redfish/v1/Chassis/CXL2/Processors", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/CXL2/index.json b/CXLAgent/Chassis/CXL2/index.json new file mode 100755 index 0000000..14daac7 --- /dev/null +++ b/CXLAgent/Chassis/CXL2/index.json @@ -0,0 +1,32 @@ +{ + "@odata.type": "#Chassis.v1_20_0.Chassis", + "Id": "CXL2", + "Name": "CXL Device Type 2 module", + "PowerState": "On", + "ChassisType": "Module", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "PCIeDevices": { + "@odata.id": "/redfish/v1/Chassis/CXL2/PCIeDevices" + }, + "Processors": { + "@odata.id": "/redfish/v1/Chassis/CXL2/Processors" + }, + "Memory": { + "@odata.id": "/redfish/v1/Chassis/CXL2/Memory" + }, + "MemoryDomains": { + "@odata.id": "/redfish/v1/Chassis/CXL2/MemoryDomains" + }, + "Links": { + "ContainedBy": { + "@odata.id": "/redfish/v1/Chassis/CXL-Chassis" + } + }, + "Oem": {}, + "@odata.id": "/redfish/v1/Chassis/CXL2", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/CXL3/Memory/3DXP/index.json b/CXLAgent/Chassis/CXL3/Memory/3DXP/index.json new file mode 100755 index 0000000..83f7451 --- /dev/null +++ b/CXLAgent/Chassis/CXL3/Memory/3DXP/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#Memory.v1_15_0.Memory", + "Id": "3DXP", + "Name": "3DXP memory", + "MemoryType": "IntelOptane", + "MemoryMedia": [ + "Intel3DXPoint" + ], + "CapacityMiB": 16384, + "OperatingSpeedMhz": 1333, + "Status": { + "Health": "OK", + "State": "Enabled", + "HealthRollup": "OK" + }, + "Oem": {}, + "@odata.id": "/redfish/v1/Chassis/CXL3/Memory/3DXP", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/CXL3/Memory/index.json b/CXLAgent/Chassis/CXL3/Memory/index.json new file mode 100755 index 0000000..13493cc --- /dev/null +++ b/CXLAgent/Chassis/CXL3/Memory/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#MemoryCollection.MemoryCollection", + "Name": "Memory Collection", + "Description": "Memory Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL3/Memory/3DXP" + } + ], + "@odata.id": "/redfish/v1/Chassis/CXL3/Memory", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/CXL3/MemoryDomains/1/MemoryChunks/1/index.json b/CXLAgent/Chassis/CXL3/MemoryDomains/1/MemoryChunks/1/index.json new file mode 100755 index 0000000..decc8cc --- /dev/null +++ b/CXLAgent/Chassis/CXL3/MemoryDomains/1/MemoryChunks/1/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#MemoryChunks.v1_5_0.MemoryChunks", + "Id": "1", + "Name": "Memory Chunk 1", + "Description": "Memory chunk accessible through CXL", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "MemoryChunkSizeMiB": 4096, + "AddressRangeType": "PMEM", + "AddressRangeOffsetMiB": 1024, + "MediaLocation": "Local", + "OperationalState": "Online", + "Links": { + "CXLLogicalDevices": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL3/PCIeDevices/1/CXLLogicalDevices/1" + } + ] + }, + "Oem": {}, + "@odata.id": "/redfish/v1/Chassis/CXL3/MemoryDomains/1/MemoryChunks/1", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/CXL3/MemoryDomains/1/MemoryChunks/index.json b/CXLAgent/Chassis/CXL3/MemoryDomains/1/MemoryChunks/index.json new file mode 100755 index 0000000..f0b8dd7 --- /dev/null +++ b/CXLAgent/Chassis/CXL3/MemoryDomains/1/MemoryChunks/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#MemoryChunksCollection.MemoryChunksCollection", + "Name": "Memory Chunks Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL3/MemoryDomains/1/MemoryChunks/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/CXL3/MemoryDomains/1/MemoryChunks", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/CXL3/MemoryDomains/1/index.json b/CXLAgent/Chassis/CXL3/MemoryDomains/1/index.json new file mode 100755 index 0000000..db51ec7 --- /dev/null +++ b/CXLAgent/Chassis/CXL3/MemoryDomains/1/index.json @@ -0,0 +1,41 @@ +{ + "@odata.type": "#MemoryDomain.v1_4_0.MemoryDomain", + "Id": "1", + "Name": "CXL 3DXP Memory Domain", + "Description": "3DXP Memory Domain accessible through CXL", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "MemoryChunks": { + "@odata.id": "/redfish/v1/Chassis/CXL3/MemoryDomains/1/MemoryChunks" + }, + "AllowsMemoryChunkCreation": true, + "MinMemoryChunkSizeMiB": 64, + "MemoryChunkIncrementMiB": 64, + "InterleavableMemorySets": [ + { + "MemorySet": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL3/Memory/3DXP" + } + ] + } + ], + "Links": { + "CXLLogicalDevices": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL3/PCIeDevices/1/CXLLogicalDevices/1" + } + ], + "PCIeFunctions": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL3/PCIeDevices/1/PCIeFunctions/1" + } + ] + }, + "Oem": {}, + "@odata.id": "/redfish/v1/Chassis/CXL3/MemoryDomains/1", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/CXL3/MemoryDomains/index.json b/CXLAgent/Chassis/CXL3/MemoryDomains/index.json new file mode 100755 index 0000000..56998cc --- /dev/null +++ b/CXLAgent/Chassis/CXL3/MemoryDomains/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#MemoryDomainCollection.MemoryDomainCollection", + "Name": "Memory Domain Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL3/MemoryDomains/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/CXL3/MemoryDomains", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/CXL3/PCIeDevices/1/CXLLogicalDevices/1/index.json b/CXLAgent/Chassis/CXL3/PCIeDevices/1/CXLLogicalDevices/1/index.json new file mode 100755 index 0000000..5d9b700 --- /dev/null +++ b/CXLAgent/Chassis/CXL3/PCIeDevices/1/CXLLogicalDevices/1/index.json @@ -0,0 +1,45 @@ +{ + "@odata.type": "#CXLLogicalDevice.v1_0_0.CXLLogicalDevice", + "Id": "1", + "Name": "CXL Logical Device Type 3", + "Description": "Locally attached CXL Logical Device Type 3", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "Identifiers": [ + { + "DurableName": "4C-1D-96-FF-FE-DD-D8-35:1", + "DurableNameFormat": "GCXLID" + } + ], + "CXLSemanticsSupported": [ + "CXLio", + "CXLmem" + ], + "Links": { + "PCIeDevice": { + "@odata.id": "/redfish/v1/Chassis/CXL3/PCIeDevices/1" + }, + "PCIeFunctions": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL3/PCIeDevices/1/PCIeFunctions/1" + } + ], + "MemoryDomains": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL3/MemoryDomains/1" + } + ], + "MemoryChunks": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL3/MemoryDomains/1/MemoryChunks/1" + } + ], + "Oem": {} + }, + "Oem": {}, + "@odata.id": "/redfish/v1/Chassis/CXL3/PCIeDevices/1/CXLLogicalDevices/1", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/CXL3/PCIeDevices/1/CXLLogicalDevices/index.json b/CXLAgent/Chassis/CXL3/PCIeDevices/1/CXLLogicalDevices/index.json new file mode 100755 index 0000000..1599bd4 --- /dev/null +++ b/CXLAgent/Chassis/CXL3/PCIeDevices/1/CXLLogicalDevices/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#CXLLogicalDeviceCollection.CXLLogicalDeviceCollection", + "Name": "CXL Logical Device Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL3/PCIeDevices/1/CXLLogicalDevices/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/CXL3/PCIeDevices/1/CXLLogicalDevices", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/CXL3/PCIeDevices/1/PCIeFunctions/1/index.json b/CXLAgent/Chassis/CXL3/PCIeDevices/1/PCIeFunctions/1/index.json new file mode 100755 index 0000000..916207f --- /dev/null +++ b/CXLAgent/Chassis/CXL3/PCIeDevices/1/PCIeFunctions/1/index.json @@ -0,0 +1,37 @@ +{ + "@odata.type": "#PCIeFunction.v1_4_0.PCIeFunction", + "Id": "1", + "Name": "CXL Function", + "Description": "PCIe Function with CXL extensions representing Memory Controller", + "FunctionId": 1, + "FunctionType": "Physical", + "DeviceClass": "MemoryController", + "DeviceId": "0xABCD", + "VendorId": "0xABCD", + "ClassCode": "0x050210", + "RevisionId": "0x00", + "SubsystemId": "0xABCD", + "SubsystemVendorId": "0xABCD", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "FunctionProtocol": "CXL", + "Links": { + "MemoryControllers": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL3/MemoryDomains/1" + } + ], + "CXLLogicalDevice": { + "@odata.id": "/redfish/v1/Chassis/CXL3/PCIeDevices/1/CXLLogicalDevices/1" + }, + "PCIeDevice": { + "@odata.id": "/redfish/v1/Chassis/CXL3/PCIeDevices/1" + } + }, + "Oem": {}, + "@odata.id": "/redfish/v1/Chassis/CXL3/PCIeDevices/1/PCIeFunctions/1", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/CXL3/PCIeDevices/1/PCIeFunctions/index.json b/CXLAgent/Chassis/CXL3/PCIeDevices/1/PCIeFunctions/index.json new file mode 100755 index 0000000..1606814 --- /dev/null +++ b/CXLAgent/Chassis/CXL3/PCIeDevices/1/PCIeFunctions/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#PCIeFunctionCollection.PCIeFunctionCollection", + "Name": "PCIe Function Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL3/PCIeDevices/1/PCIeFunctions/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/CXL3/PCIeDevices/1/PCIeFunctions", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/CXL3/PCIeDevices/1/index.json b/CXLAgent/Chassis/CXL3/PCIeDevices/1/index.json new file mode 100755 index 0000000..9278fc8 --- /dev/null +++ b/CXLAgent/Chassis/CXL3/PCIeDevices/1/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#PCIeDevice.v1_10_0.PCIeDevice", + "Id": "1", + "Name": "CXL Device", + "Description": "CXL Physcial Device Type 3", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "PCIeInterface": { + "PCIeType": "Gen5", + "MaxPCIeType": "Gen5", + "LanesInUse": 8, + "MaxLanes": 16 + }, + "PCIeFunctions": { + "@odata.id": "/redfish/v1/Chassis/CXL3/PCIeDevices/1/PCIeFunctions" + }, + "CXLDevice":{ + "CurrentProtocolVersion": "V2_0", + "CapableProtocolVersion": "V2_0", + "DeviceType": "Type3", + "MultiLogicalDevice": false + }, + "CXLLogicalDevices": { + "@odata.id": "/redfish/v1/Chassis/CXL3/PCIeDevices/1/CXLLogicalDevices" + }, + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL3" + } + ], + "Oem": {} + }, + "Oem": {}, + "@odata.id": "/redfish/v1/Chassis/CXL3/PCIeDevices/1", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/CXL3/PCIeDevices/index.json b/CXLAgent/Chassis/CXL3/PCIeDevices/index.json new file mode 100755 index 0000000..959e2ba --- /dev/null +++ b/CXLAgent/Chassis/CXL3/PCIeDevices/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#PCIeDeviceCollection.PCIeDeviceCollection", + "Name": "PCIe Device Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL3/PCIeDevices/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/CXL3/PCIeDevices", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/CXL3/index.json b/CXLAgent/Chassis/CXL3/index.json new file mode 100755 index 0000000..bdaa94e --- /dev/null +++ b/CXLAgent/Chassis/CXL3/index.json @@ -0,0 +1,29 @@ +{ + "@odata.type": "#Chassis.v1_20_0.Chassis", + "Id": "CXL3", + "Name": "CXL Device Type 3 module", + "PowerState": "On", + "ChassisType": "Module", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "PCIeDevices": { + "@odata.id": "/redfish/v1/Chassis/CXL3/PCIeDevices" + }, + "Memory": { + "@odata.id": "/redfish/v1/Chassis/CXL3/Memory" + }, + "MemoryDomains": { + "@odata.id": "/redfish/v1/Chassis/CXL3/MemoryDomains" + }, + "Links": { + "ContainedBy": { + "@odata.id": "/redfish/v1/Chassis/CXL-Chassis" + } + }, + "Oem": {}, + "@odata.id": "/redfish/v1/Chassis/CXL3", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/PCXL1/FabricAdapters/1/Ports/1/index.json b/CXLAgent/Chassis/PCXL1/FabricAdapters/1/Ports/1/index.json new file mode 100755 index 0000000..50ef19c --- /dev/null +++ b/CXLAgent/Chassis/PCXL1/FabricAdapters/1/Ports/1/index.json @@ -0,0 +1,48 @@ +{ + "@odata.type": "#Port.v1_7_0.Port", + "Id": "1", + "Name": "CXL Port 1", + "Description": "CXL Port 1 in Fabric Adapter", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "PortId": "4C-1D-96-FF-FE-DD-D8-D1", + "RemotePortId": "D1", + "PortProtocol": "CXL", + "CurrentProtocolVersion": "2.0", + "CapableProtocolVersions": [ + "1.1", "2.0" + ], + "PortType": "UpstreamPort", + "PortMedium": "Optical", + "CurrentSpeedGbps": 256, + "Width": 8, + "MaxSpeedGbps": 128, + "ActiveWidth": 4, + "LinkState": "Enabled", + "LinkStatus": "LinkUp", + "InterfaceEnabled": true, + "LinkNetworkTechnology": "PCIe", + "Links": { + "AssociatedEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T1" + } + ], + "ConnectedSwitches": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL" + } + ], + "ConnectedSwitchPorts": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/D1" + } + ] + }, + "Oem": {}, + "@odata.id": "/redfish/v1/Chassis/PCXL1/FabricAdapters/1/Ports/1", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/PCXL1/FabricAdapters/1/Ports/index.json b/CXLAgent/Chassis/PCXL1/FabricAdapters/1/Ports/index.json new file mode 100755 index 0000000..9740a40 --- /dev/null +++ b/CXLAgent/Chassis/PCXL1/FabricAdapters/1/Ports/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#PortCollection.PortCollection", + "Name": "CXL Port Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL1/FabricAdapters/1/Ports/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/PCXL1/FabricAdapters/1/Ports", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/PCXL1/FabricAdapters/1/index.json b/CXLAgent/Chassis/PCXL1/FabricAdapters/1/index.json new file mode 100755 index 0000000..bb50b6e --- /dev/null +++ b/CXLAgent/Chassis/PCXL1/FabricAdapters/1/index.json @@ -0,0 +1,31 @@ +{ + "@odata.type": "#FabricAdapter.v1_3_0.FabricAdapter", + "Id": "1", + "Name": "CXL Fabric Adapter 1", + "Description": "CXL Fabric Adapter for FPGA system", + "Manufacturer": "Contoso", + "Model": "CXL Fabric Adapter Model X", + "PartNumber": "975999-001", + "SparePartNumber": "152111-A01", + "SKU": "Contoso 2-port CXL Adapter Bridge", + "SerialNumber": "2M220100SL", + "FirmwareVersion": "7.4.10", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "Ports": { + "@odata.id": "/redfish/v1/Chassis/PCXL1/FabricAdapters/1/Ports" + }, + "Links": { + "Processors": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL1/Processors/FPGA" + } + ] + }, + "Oem": {}, + "@odata.id": "/redfish/v1/Chassis/PCXL1/FabricAdapters/1", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/PCXL1/FabricAdapters/index.json b/CXLAgent/Chassis/PCXL1/FabricAdapters/index.json new file mode 100755 index 0000000..b45fd3e --- /dev/null +++ b/CXLAgent/Chassis/PCXL1/FabricAdapters/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#FabricAdapterCollection.FabricAdapterCollection", + "Name": "Fabric Adapter Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL1/FabricAdapters/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/PCXL1/FabricAdapters", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/PCXL1/PCIeDevices/1/CXLLogicalDevices/1/index.json b/CXLAgent/Chassis/PCXL1/PCIeDevices/1/CXLLogicalDevices/1/index.json new file mode 100755 index 0000000..e6832e2 --- /dev/null +++ b/CXLAgent/Chassis/PCXL1/PCIeDevices/1/CXLLogicalDevices/1/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#CXLLogicalDevice.v1_0_0.CXLLogicalDevice", + "Id": "1", + "Name": "CXL Logical Device Type 1", + "Description": "CXL Logical Device Type 1 attached through CXL fabric", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "Identifiers": [ + { + "DurableName": "4C-1D-96-FF-FE-DD-D8-35:1", + "DurableNameFormat": "GCXLID" + } + ], + "CXLSemanticsSupported": [ + "CXLio", + "CXLcache" + ], + "Links": { + "PCIeDevice": { + "@odata.id": "/redfish/v1/Chassis/PCXL1/PCIeDevices/1" + }, + "PCIeFunctions": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL1/PCIeDevices/1/PCIeFunctions/1" + } + ], + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T1" + } + ], + "Oem": {} + }, + "Oem": {}, + "@odata.id": "/redfish/v1/Chassis/PCXL1/PCIeDevices/1/CXLLogicalDevices/1", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/PCXL1/PCIeDevices/1/CXLLogicalDevices/index.json b/CXLAgent/Chassis/PCXL1/PCIeDevices/1/CXLLogicalDevices/index.json new file mode 100755 index 0000000..778be81 --- /dev/null +++ b/CXLAgent/Chassis/PCXL1/PCIeDevices/1/CXLLogicalDevices/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#CXLLogicalDeviceCollection.CXLLogicalDeviceCollection", + "Name": "CXL Logical Device Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL1/PCIeDevices/1/CXLLogicalDevices/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/PCXL1/PCIeDevices/1/CXLLogicalDevices", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/PCXL1/PCIeDevices/1/PCIeFunctions/1/index.json b/CXLAgent/Chassis/PCXL1/PCIeDevices/1/PCIeFunctions/1/index.json new file mode 100755 index 0000000..24b6a04 --- /dev/null +++ b/CXLAgent/Chassis/PCXL1/PCIeDevices/1/PCIeFunctions/1/index.json @@ -0,0 +1,37 @@ +{ + "@odata.type": "#PCIeFunction.v1_4_0.PCIeFunction", + "Id": "1", + "Name": "CXL Function", + "Description": "PCIe Function with CXL extensions representing FPGA", + "FunctionId": 1, + "FunctionType": "Physical", + "DeviceClass": "Processor", + "DeviceId": "0xABCD", + "VendorId": "0xABCD", + "ClassCode": "0x0B4000", + "RevisionId": "0x00", + "SubsystemId": "0xABCD", + "SubsystemVendorId": "0xABCD", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "FunctionProtocol": "CXL", + "Links": { + "Processors": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL1/Processors/FPGA" + } + ], + "CXLLogicalDevice": { + "@odata.id": "/redfish/v1/Chassis/PCXL1/PCIeDevices/1/CXLLogicalDevices/1" + }, + "PCIeDevice": { + "@odata.id": "/redfish/v1/Chassis/PCXL1/PCIeDevices/1" + } + }, + "Oem": {}, + "@odata.id": "/redfish/v1/Chassis/PCXL1/PCIeDevices/1/PCIeFunctions/1", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/PCXL1/PCIeDevices/1/PCIeFunctions/index.json b/CXLAgent/Chassis/PCXL1/PCIeDevices/1/PCIeFunctions/index.json new file mode 100755 index 0000000..4090e4d --- /dev/null +++ b/CXLAgent/Chassis/PCXL1/PCIeDevices/1/PCIeFunctions/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#PCIeFunctionCollection.PCIeFunctionCollection", + "Name": "PCIe Function Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL1/PCIeDevices/1/PCIeFunctions/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/PCXL1/PCIeDevices/1/PCIeFunctions", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/PCXL1/PCIeDevices/1/index.json b/CXLAgent/Chassis/PCXL1/PCIeDevices/1/index.json new file mode 100755 index 0000000..5c7a0f0 --- /dev/null +++ b/CXLAgent/Chassis/PCXL1/PCIeDevices/1/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#PCIeDevice.v1_10_0.PCIeDevice", + "Id": "1", + "Name": "CXL Device", + "Description": "CXL Physcial Device Type 1", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "PCIeInterface": { + "PCIeType": "Gen5", + "MaxPCIeType": "Gen5", + "LanesInUse": 4, + "MaxLanes": 8 + }, + "PCIeFunctions": { + "@odata.id": "/redfish/v1/Chassis/PCXL1/PCIeDevices/1/PCIeFunctions" + }, + "CXLDevice":{ + "CurrentProtocolVersion": "V2_0", + "CapableProtocolVersion": "V2_0", + "DeviceType": "Type1", + "MultiLogicalDevice": false + }, + "CXLLogicalDevices": { + "@odata.id": "/redfish/v1/Chassis/PCXL1/PCIeDevices/1/CXLLogicalDevices" + }, + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL1" + } + ], + "Oem": {} + }, + "Oem": {}, + "@odata.id": "/redfish/v1/Chassis/PCXL1/PCIeDevices/1", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/PCXL1/PCIeDevices/index.json b/CXLAgent/Chassis/PCXL1/PCIeDevices/index.json new file mode 100755 index 0000000..facefdf --- /dev/null +++ b/CXLAgent/Chassis/PCXL1/PCIeDevices/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#PCIeDeviceCollection.PCIeDeviceCollection", + "Name": "PCIe Device Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL1/PCIeDevices/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/PCXL1/PCIeDevices", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/PCXL1/Processors/FPGA/index.json b/CXLAgent/Chassis/PCXL1/Processors/FPGA/index.json new file mode 100755 index 0000000..a8ffd98 --- /dev/null +++ b/CXLAgent/Chassis/PCXL1/Processors/FPGA/index.json @@ -0,0 +1,42 @@ +{ + "@odata.type": "#Processor.v1_15_0.Processor", + "Id": "FPGA", + "Name": "FPGA with cache", + "Description": "FPGA with cache accessible through CXL fabric", + "ProcessorType": "FPGA", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "ProcessorMemory": [ + { + "IntegratedMemory": true, + "MemoryType": "Cache", + "CapacityMiB": 64 + } + ], + "MemorySummary": { + "TotalMemorySizeMiB": 0, + "TotalCacheSizeMiB": 64 + }, + "Links": { + "PCIeFunctions": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL1/PCIeDevices/1/PCIeFunctions/1" + } + ], + "FabricAdapters": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL1/FabricAdapters/1" + } + ], + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T1" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/PCXL1/Processors/FPGA", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/PCXL1/Processors/index.json b/CXLAgent/Chassis/PCXL1/Processors/index.json new file mode 100755 index 0000000..0fe0aac --- /dev/null +++ b/CXLAgent/Chassis/PCXL1/Processors/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ProcessorCollection.ProcessorCollection", + "Name": "Processor Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL1/Processors/FPGA" + } + ], + "@odata.id": "/redfish/v1/Chassis/PCXL1/Processors", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/PCXL1/index.json b/CXLAgent/Chassis/PCXL1/index.json new file mode 100755 index 0000000..11dcbd9 --- /dev/null +++ b/CXLAgent/Chassis/PCXL1/index.json @@ -0,0 +1,23 @@ +{ + "@odata.type": "#Chassis.v1_20_0.Chassis", + "Id": "PCXL1", + "Name": "Pooled CXL Device Type 1 chassis", + "ChassisType": "Blade", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "PCIeDevices": { + "@odata.id": "/redfish/v1/Chassis/PCXL1/PCIeDevices" + }, + "Processors": { + "@odata.id": "/redfish/v1/Chassis/PCXL1/Processors" + }, + "FabricAdapters": { + "@odata.id": "/redfish/v1/Chassis/PCXL1/FabricAdapters" + }, + "Oem": {}, + "@odata.id": "/redfish/v1/Chassis/PCXL1", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/PCXL2/FabricAdapters/1/Ports/1/index.json b/CXLAgent/Chassis/PCXL2/FabricAdapters/1/Ports/1/index.json new file mode 100755 index 0000000..952d4cd --- /dev/null +++ b/CXLAgent/Chassis/PCXL2/FabricAdapters/1/Ports/1/index.json @@ -0,0 +1,48 @@ +{ + "@odata.type": "#Port.v1_7_0.Port", + "Id": "1", + "Name": "CXL Port 1", + "Description": "CXL Port 1 in Fabric Adapter", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "PortId": "4C-1D-96-FF-FE-DD-D8-D2", + "RemotePortId": "D2", + "PortProtocol": "CXL", + "CurrentProtocolVersion": "2.0", + "CapableProtocolVersions": [ + "1.1", "2.0" + ], + "PortType": "UpstreamPort", + "PortMedium": "Optical", + "CurrentSpeedGbps": 256, + "Width": 8, + "MaxSpeedGbps": 128, + "ActiveWidth": 4, + "LinkState": "Enabled", + "LinkStatus": "LinkUp", + "InterfaceEnabled": true, + "LinkNetworkTechnology": "PCIe", + "Links": { + "AssociatedEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T2" + } + ], + "ConnectedSwitches": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL" + } + ], + "ConnectedSwitchPorts": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/D2" + } + ] + }, + "Oem": {}, + "@odata.id": "/redfish/v1/Chassis/PCXL2/FabricAdapters/1/Ports/1", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/PCXL2/FabricAdapters/1/Ports/index.json b/CXLAgent/Chassis/PCXL2/FabricAdapters/1/Ports/index.json new file mode 100755 index 0000000..927cad4 --- /dev/null +++ b/CXLAgent/Chassis/PCXL2/FabricAdapters/1/Ports/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#PortCollection.PortCollection", + "Name": "CXL Port Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL2/FabricAdapters/1/Ports/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/PCXL2/FabricAdapters/1/Ports", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/PCXL2/FabricAdapters/1/index.json b/CXLAgent/Chassis/PCXL2/FabricAdapters/1/index.json new file mode 100755 index 0000000..8e4d83c --- /dev/null +++ b/CXLAgent/Chassis/PCXL2/FabricAdapters/1/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#FabricAdapter.v1_3_0.FabricAdapter", + "Id": "1", + "Name": "CXL Fabric Adapter 1", + "Description": "CXL Fabric Adapter for memory system", + "Manufacturer": "Contoso", + "Model": "CXL Fabric Adapter Model X", + "PartNumber": "975999-001", + "SparePartNumber": "152111-A01", + "SKU": "Contoso 2-port CXL Adapter Bridge", + "SerialNumber": "2M220100SL", + "FirmwareVersion": "7.4.10", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "Ports": { + "@odata.id": "/redfish/v1/Chassis/PCXL2/FabricAdapters/1/Ports" + }, + "Links": { + "Processors": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL2/Processors/GPU" + } + ], + "MemoryDomains": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL2/MemoryDomains/1" + } + ] + }, + "Oem": {}, + "@odata.id": "/redfish/v1/Chassis/PCXL2/FabricAdapters/1", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/PCXL2/FabricAdapters/index.json b/CXLAgent/Chassis/PCXL2/FabricAdapters/index.json new file mode 100755 index 0000000..36bff06 --- /dev/null +++ b/CXLAgent/Chassis/PCXL2/FabricAdapters/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#FabricAdapterCollection.FabricAdapterCollection", + "Name": "Fabric Adapter Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL2/FabricAdapters/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/PCXL2/FabricAdapters", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/PCXL2/Memory/HBM/index.json b/CXLAgent/Chassis/PCXL2/Memory/HBM/index.json new file mode 100755 index 0000000..12642b1 --- /dev/null +++ b/CXLAgent/Chassis/PCXL2/Memory/HBM/index.json @@ -0,0 +1,27 @@ +{ + "@odata.type": "#Memory.v1_15_0.Memory", + "Id": "HBM", + "MemoryType": "DRAM", + "MemoryDeviceType": "HBM2", + "MemoryMedia": [ + "DRAM" + ], + "Name": "HBM memory", + "CapacityMiB": 16384, + "OperatingSpeedMhz": 1333, + "Status": { + "Health": "OK", + "State": "Enabled", + "HealthRollup": "OK" + }, + "Links": { + "Processors": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL2/Processors/GPU" + } + ] + }, + "Oem": {}, + "@odata.id": "/redfish/v1/Chassis/PCXL2/Memory/HBM", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/PCXL2/Memory/index.json b/CXLAgent/Chassis/PCXL2/Memory/index.json new file mode 100755 index 0000000..b04ee56 --- /dev/null +++ b/CXLAgent/Chassis/PCXL2/Memory/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#MemoryCollection.MemoryCollection", + "Name": "Memory Collection", + "Description": "Memory Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL2/Memory/HBM" + } + ], + "@odata.id": "/redfish/v1/Chassis/PCXL2/Memory", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/PCXL2/MemoryDomains/1/MemoryChunks/1/index.json b/CXLAgent/Chassis/PCXL2/MemoryDomains/1/MemoryChunks/1/index.json new file mode 100755 index 0000000..694f249 --- /dev/null +++ b/CXLAgent/Chassis/PCXL2/MemoryDomains/1/MemoryChunks/1/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#MemoryChunks.v1_5_0.MemoryChunks", + "Id": "1", + "Name": "Memory Chunk 1", + "Description": "Memory chunk accessible through CXL", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "MemoryChunkSizeMiB": 4096, + "AddressRangeType": "Volatile", + "AddressRangeOffsetMiB": 1024, + "MediaLocation": "Local", + "OperationalState": "Online", + "Links": { + "CXLLogicalDevices": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL2/PCIeDevices/1/CXLLogicalDevices/1" + } + ], + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T2" + } + ] + }, + "Oem": {}, + "@odata.id": "/redfish/v1/Chassis/PCXL2/MemoryDomains/1/MemoryChunks/1", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/PCXL2/MemoryDomains/1/MemoryChunks/index.json b/CXLAgent/Chassis/PCXL2/MemoryDomains/1/MemoryChunks/index.json new file mode 100755 index 0000000..f9a868e --- /dev/null +++ b/CXLAgent/Chassis/PCXL2/MemoryDomains/1/MemoryChunks/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#MemoryChunksCollection.MemoryChunksCollection", + "Name": "Memory Chunks Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL2/MemoryDomains/1/MemoryChunks/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/PCXL2/MemoryDomains/1/MemoryChunks", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/PCXL2/MemoryDomains/1/index.json b/CXLAgent/Chassis/PCXL2/MemoryDomains/1/index.json new file mode 100755 index 0000000..f72912b --- /dev/null +++ b/CXLAgent/Chassis/PCXL2/MemoryDomains/1/index.json @@ -0,0 +1,41 @@ +{ + "@odata.type": "#MemoryDomain.v1_4_0.MemoryDomain", + "Id": "1", + "Name": "GPU HBM Memory Domain", + "Description": "GPU HBM Memory Domain accessible through CXL fabric", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "MemoryChunks": { + "@odata.id": "/redfish/v1/Chassis/PCXL2/MemoryDomains/1/MemoryChunks" + }, + "AllowsMemoryChunkCreation": true, + "MinMemoryChunkSizeMiB": 64, + "MemoryChunkIncrementMiB": 64, + "InterleavableMemorySets": [ + { + "MemorySet": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL2/Memory/HBM" + } + ] + } + ], + "Links": { + "FabricAdapters": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL2/FabricAdapters/1" + } + ], + "CXLLogicalDevices": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL2/PCIeDevices/1/CXLLogicalDevices/1" + } + ] + }, + "Oem": {}, + "@odata.id": "/redfish/v1/Chassis/PCXL2/MemoryDomains/1", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/PCXL2/MemoryDomains/index.json b/CXLAgent/Chassis/PCXL2/MemoryDomains/index.json new file mode 100755 index 0000000..ad7307c --- /dev/null +++ b/CXLAgent/Chassis/PCXL2/MemoryDomains/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#MemoryDomainCollection.MemoryDomainCollection", + "Name": "Memory Domain Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL2/MemoryDomains/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/PCXL2/MemoryDomains", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/PCXL2/PCIeDevices/1/CXLLogicalDevices/1/index.json b/CXLAgent/Chassis/PCXL2/PCIeDevices/1/CXLLogicalDevices/1/index.json new file mode 100755 index 0000000..e9618e9 --- /dev/null +++ b/CXLAgent/Chassis/PCXL2/PCIeDevices/1/CXLLogicalDevices/1/index.json @@ -0,0 +1,51 @@ +{ + "@odata.type": "#CXLLogicalDevice.v1_0_0.CXLLogicalDevice", + "Id": "1", + "Name": "CXL Logical Device Type 2", + "Description": "CXL Logical Device Type 2 attached through CXL fabric", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "Identifiers": [ + { + "DurableName": "4C-1D-96-FF-FE-DD-D8-35:1", + "DurableNameFormat": "GCXLID" + } + ], + "CXLSemanticsSupported": [ + "CXLio", + "CXLcache", + "CXLmem" + ], + "Links": { + "PCIeDevice": { + "@odata.id": "/redfish/v1/Chassis/PCXL2/PCIeDevices/1" + }, + "PCIeFunctions": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL2/PCIeDevices/1/PCIeFunctions/1" + } + ], + "MemoryChunks": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL2/MemoryDomains/1/MemoryChunks/1" + } + ], + "MemoryDomains": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL2/MemoryDomains/1" + } + ], + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T2" + } + ], + "Oem": {} + }, + "Oem": {}, + "@odata.id": "/redfish/v1/Chassis/PCXL2/PCIeDevices/1/CXLLogicalDevices/1", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/PCXL2/PCIeDevices/1/CXLLogicalDevices/index.json b/CXLAgent/Chassis/PCXL2/PCIeDevices/1/CXLLogicalDevices/index.json new file mode 100755 index 0000000..bab8d20 --- /dev/null +++ b/CXLAgent/Chassis/PCXL2/PCIeDevices/1/CXLLogicalDevices/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#CXLLogicalDeviceCollection.CXLLogicalDeviceCollection", + "Name": "CXL Logical Device Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL2/PCIeDevices/1/CXLLogicalDevices/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/PCXL2/PCIeDevices/1/CXLLogicalDevices", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/PCXL2/PCIeDevices/1/PCIeFunctions/1/index.json b/CXLAgent/Chassis/PCXL2/PCIeDevices/1/PCIeFunctions/1/index.json new file mode 100755 index 0000000..c59bd29 --- /dev/null +++ b/CXLAgent/Chassis/PCXL2/PCIeDevices/1/PCIeFunctions/1/index.json @@ -0,0 +1,37 @@ +{ + "@odata.type": "#PCIeFunction.v1_4_0.PCIeFunction", + "Id": "1", + "Name": "CXL Function", + "Description": "PCIe Function with CXL extensions representing GPU", + "FunctionId": 1, + "FunctionType": "Physical", + "DeviceClass": "ProcessingAccelerators", + "DeviceId": "0xABCD", + "VendorId": "0xABCD", + "ClassCode": "0x120000", + "RevisionId": "0x00", + "SubsystemId": "0xABCD", + "SubsystemVendorId": "0xABCD", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "FunctionProtocol": "CXL", + "Links": { + "Processors": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL2/Processors/GPU" + } + ], + "CXLLogicalDevice": { + "@odata.id": "/redfish/v1/Chassis/PCXL2/PCIeDevices/1/CXLLogicalDevices/1" + }, + "PCIeDevice": { + "@odata.id": "/redfish/v1/Chassis/PCXL2/PCIeDevices/1" + } + }, + "Oem": {}, + "@odata.id": "/redfish/v1/Chassis/PCXL2/PCIeDevices/1/PCIeFunctions/1", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/PCXL2/PCIeDevices/1/PCIeFunctions/index.json b/CXLAgent/Chassis/PCXL2/PCIeDevices/1/PCIeFunctions/index.json new file mode 100755 index 0000000..c1dcb6d --- /dev/null +++ b/CXLAgent/Chassis/PCXL2/PCIeDevices/1/PCIeFunctions/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#PCIeFunctionCollection.PCIeFunctionCollection", + "Name": "PCIe Function Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL2/PCIeDevices/1/PCIeFunctions/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/PCXL2/PCIeDevices/1/PCIeFunctions", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/PCXL2/PCIeDevices/1/index.json b/CXLAgent/Chassis/PCXL2/PCIeDevices/1/index.json new file mode 100755 index 0000000..a3cd5a0 --- /dev/null +++ b/CXLAgent/Chassis/PCXL2/PCIeDevices/1/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#PCIeDevice.v1_10_0.PCIeDevice", + "Id": "1", + "Name": "CXL Device", + "Description": "CXL Physcial Device Type 2", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "PCIeInterface": { + "PCIeType": "Gen5", + "MaxPCIeType": "Gen5", + "LanesInUse": 4, + "MaxLanes": 8 + }, + "PCIeFunctions": { + "@odata.id": "/redfish/v1/Chassis/PCXL2/PCIeDevices/1/PCIeFunctions" + }, + "CXLDevice":{ + "CurrentProtocolVersion": "V2_0", + "CapableProtocolVersion": "V2_0", + "DeviceType": "Type2", + "MultiLogicalDevice": false + }, + "CXLLogicalDevices": { + "@odata.id": "/redfish/v1/Chassis/PCXL2/PCIeDevices/1/CXLLogicalDevices" + }, + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL2" + } + ], + "Oem": {} + }, + "Oem": {}, + "@odata.id": "/redfish/v1/Chassis/PCXL2/PCIeDevices/1", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/PCXL2/PCIeDevices/index.json b/CXLAgent/Chassis/PCXL2/PCIeDevices/index.json new file mode 100755 index 0000000..2c340e4 --- /dev/null +++ b/CXLAgent/Chassis/PCXL2/PCIeDevices/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#PCIeDeviceCollection.PCIeDeviceCollection", + "Name": "PCIe Device Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL2/PCIeDevices/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/PCXL2/PCIeDevices", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/PCXL2/Processors/GPU/index.json b/CXLAgent/Chassis/PCXL2/Processors/GPU/index.json new file mode 100755 index 0000000..8d5df5e --- /dev/null +++ b/CXLAgent/Chassis/PCXL2/Processors/GPU/index.json @@ -0,0 +1,53 @@ +{ + "@odata.type": "#Processor.v1_15_0.Processor", + "Id": "GPU", + "Name": "GPU with HBM memory", + "Description": "GPU with cache and HBM memory accessible through CXL fabric", + "ProcessorType": "GPU", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "ProcessorMemory": [ + { + "IntegratedMemory": false, + "MemoryType": "HBM2", + "CapacityMiB": 16384, + "SpeedMHz": 1033 + }, + { + "IntegratedMemory": true, + "MemoryType": "Cache", + "CapacityMiB": 64 + } + ], + "MemorySummary": { + "TotalMemorySizeMiB": 16384, + "TotalCacheSizeMiB": 64 + }, + "Links": { + "PCIeFunctions": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL2/PCIeDevices/1/PCIeFunctions/1" + } + ], + "FabricAdapters": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL2/FabricAdapters/1" + } + ], + "Memory": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL2/Memory/HBM" + } + ], + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T2" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/PCXL2/Processors/GPU", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/PCXL2/Processors/index.json b/CXLAgent/Chassis/PCXL2/Processors/index.json new file mode 100755 index 0000000..4bd8635 --- /dev/null +++ b/CXLAgent/Chassis/PCXL2/Processors/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ProcessorCollection.ProcessorCollection", + "Name": "Processor Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL2/Processors/GPU" + } + ], + "@odata.id": "/redfish/v1/Chassis/PCXL2/Processors", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/PCXL2/index.json b/CXLAgent/Chassis/PCXL2/index.json new file mode 100755 index 0000000..598d0df --- /dev/null +++ b/CXLAgent/Chassis/PCXL2/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#Chassis.v1_20_0.Chassis", + "Id": "PCXL2", + "Name": "Pooled CXL Device Type 2 chassis", + "PowerState": "On", + "ChassisType": "Blade", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "PCIeDevices": { + "@odata.id": "/redfish/v1/Chassis/PCXL2/PCIeDevices" + }, + "FabricAdapters": { + "@odata.id": "/redfish/v1/Chassis/PCXL2/FabricAdapters" + }, + "Processors": { + "@odata.id": "/redfish/v1/Chassis/PCXL2/Processors" + }, + "Memory": { + "@odata.id": "/redfish/v1/Chassis/PCXL2/Memory" + }, + "MemoryDomains": { + "@odata.id": "/redfish/v1/Chassis/PCXL2/MemoryDomains" + }, + "Oem": {}, + "@odata.id": "/redfish/v1/Chassis/PCXL2", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/PCXL3/FabricAdapters/1/Ports/1/index.json b/CXLAgent/Chassis/PCXL3/FabricAdapters/1/Ports/1/index.json new file mode 100755 index 0000000..14ebc60 --- /dev/null +++ b/CXLAgent/Chassis/PCXL3/FabricAdapters/1/Ports/1/index.json @@ -0,0 +1,48 @@ +{ + "@odata.type": "#Port.v1_7_0.Port", + "Id": "1", + "Name": "CXL Port 1", + "Description": "CXL Port 1 in Fabric Adapter", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "PortId": "4C-1D-96-FF-FE-DD-D8-D3", + "RemotePortId": "D3", + "PortProtocol": "CXL", + "CurrentProtocolVersion": "2.0", + "CapableProtocolVersions": [ + "1.1", "2.0" + ], + "PortType": "UpstreamPort", + "PortMedium": "Optical", + "CurrentSpeedGbps": 256, + "Width": 8, + "MaxSpeedGbps": 128, + "ActiveWidth": 4, + "LinkState": "Enabled", + "LinkStatus": "LinkUp", + "InterfaceEnabled": true, + "LinkNetworkTechnology": "PCIe", + "Links": { + "AssociatedEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T3" + } + ], + "ConnectedSwitches": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL" + } + ], + "ConnectedSwitchPorts": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/D3" + } + ] + }, + "Oem": {}, + "@odata.id": "/redfish/v1/Chassis/PCXL3/FabricAdapters/1/Ports/1", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/PCXL3/FabricAdapters/1/Ports/index.json b/CXLAgent/Chassis/PCXL3/FabricAdapters/1/Ports/index.json new file mode 100755 index 0000000..b84ea01 --- /dev/null +++ b/CXLAgent/Chassis/PCXL3/FabricAdapters/1/Ports/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#PortCollection.PortCollection", + "Name": "CXL Port Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL3/FabricAdapters/1/Ports/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/PCXL3/FabricAdapters/1/Ports", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/PCXL3/FabricAdapters/1/index.json b/CXLAgent/Chassis/PCXL3/FabricAdapters/1/index.json new file mode 100755 index 0000000..7be7dc4 --- /dev/null +++ b/CXLAgent/Chassis/PCXL3/FabricAdapters/1/index.json @@ -0,0 +1,31 @@ +{ + "@odata.type": "#FabricAdapter.v1_3_0.FabricAdapter", + "Id": "1", + "Name": "CXL Fabric Adapter 1", + "Description": "CXL Fabric Adapter for memory system", + "Manufacturer": "Contoso", + "Model": "CXL Fabric Adapter Model X", + "PartNumber": "975999-001", + "SparePartNumber": "152111-A01", + "SKU": "Contoso 2-port CXL Adapter Bridge", + "SerialNumber": "2M220100SL", + "FirmwareVersion": "7.4.10", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "Ports": { + "@odata.id": "/redfish/v1/Chassis/PCXL3/FabricAdapters/1/Ports" + }, + "Links": { + "MemoryDomains": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL3/MemoryDomains/1" + } + ] + }, + "Oem": {}, + "@odata.id": "/redfish/v1/Chassis/PCXL3/FabricAdapters/1", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/PCXL3/FabricAdapters/index.json b/CXLAgent/Chassis/PCXL3/FabricAdapters/index.json new file mode 100755 index 0000000..2498cee --- /dev/null +++ b/CXLAgent/Chassis/PCXL3/FabricAdapters/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#FabricAdapterCollection.FabricAdapterCollection", + "Name": "Fabric Adapter Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL3/FabricAdapters/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/PCXL3/FabricAdapters", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/PCXL3/Memory/3DXP/index.json b/CXLAgent/Chassis/PCXL3/Memory/3DXP/index.json new file mode 100755 index 0000000..676ee16 --- /dev/null +++ b/CXLAgent/Chassis/PCXL3/Memory/3DXP/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#Memory.v1_15_0.Memory", + "Id": "3DXP", + "Name": "3DXP memory", + "MemoryType": "IntelOptane", + "MemoryMedia": [ + "Intel3DXPoint" + ], + "CapacityMiB": 16384, + "OperatingSpeedMhz": 1333, + "Status": { + "Health": "OK", + "State": "Enabled", + "HealthRollup": "OK" + }, + "Oem": {}, + "@odata.id": "/redfish/v1/Chassis/PCXL3/Memory/3DXP", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/PCXL3/Memory/index.json b/CXLAgent/Chassis/PCXL3/Memory/index.json new file mode 100755 index 0000000..a996641 --- /dev/null +++ b/CXLAgent/Chassis/PCXL3/Memory/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#MemoryCollection.MemoryCollection", + "Name": "Memory Collection", + "Description": "Memory Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL3/Memory/3DXP" + } + ], + "@odata.id": "/redfish/v1/Chassis/PCXL3/Memory", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/PCXL3/MemoryDomains/1/MemoryChunks/1/index.json b/CXLAgent/Chassis/PCXL3/MemoryDomains/1/MemoryChunks/1/index.json new file mode 100755 index 0000000..54f71a8 --- /dev/null +++ b/CXLAgent/Chassis/PCXL3/MemoryDomains/1/MemoryChunks/1/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#MemoryChunks.v1_5_0.MemoryChunks", + "Id": "1", + "Name": "Memory Chunk 1", + "Description": "Memory chunk accessible through CXL fabric", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "MemoryChunkSizeMiB": 4096, + "AddressRangeType": "PMEM", + "AddressRangeOffsetMiB": 1024, + "MediaLocation": "Local", + "OperationalState": "Online", + "Links": { + "CXLLogicalDevices": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL3/PCIeDevices/1/CXLLogicalDevices/1" + } + ], + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T3" + } + ] + }, + "Oem": {}, + "@odata.id": "/redfish/v1/Chassis/PCXL3/MemoryDomains/1/MemoryChunks/1", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/PCXL3/MemoryDomains/1/MemoryChunks/index.json b/CXLAgent/Chassis/PCXL3/MemoryDomains/1/MemoryChunks/index.json new file mode 100755 index 0000000..f5f9ea6 --- /dev/null +++ b/CXLAgent/Chassis/PCXL3/MemoryDomains/1/MemoryChunks/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#MemoryChunksCollection.MemoryChunksCollection", + "Name": "Memory Chunks Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL3/MemoryDomains/1/MemoryChunks/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/PCXL3/MemoryDomains/1/MemoryChunks", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/PCXL3/MemoryDomains/1/index.json b/CXLAgent/Chassis/PCXL3/MemoryDomains/1/index.json new file mode 100755 index 0000000..61e0a2f --- /dev/null +++ b/CXLAgent/Chassis/PCXL3/MemoryDomains/1/index.json @@ -0,0 +1,46 @@ +{ + "@odata.type": "#MemoryDomain.v1_4_0.MemoryDomain", + "Id": "1", + "Name": "CXL 3DXP Memory Domain", + "Description": "3DXP Memory Domain accessible through CXL fabric", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "MemoryChunks": { + "@odata.id": "/redfish/v1/Chassis/PCXL3/MemoryDomains/1/MemoryChunks" + }, + "AllowsMemoryChunkCreation": true, + "MinMemoryChunkSizeMiB": 64, + "MemoryChunkIncrementMiB": 64, + "InterleavableMemorySets": [ + { + "MemorySet": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL3/Memory/3DXP" + } + ] + } + ], + "Links": { + "FabricAdapters": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL3/FabricAdapters/1" + } + ], + "CXLLogicalDevices": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL3/PCIeDevices/1/CXLLogicalDevices/1" + } + ], + "PCIeFunctions": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL3/PCIeDevices/1/PCIeFunctions/1" + } + ] + }, + "Oem": {}, + "@odata.id": "/redfish/v1/Chassis/PCXL3/MemoryDomains/1", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/PCXL3/MemoryDomains/index.json b/CXLAgent/Chassis/PCXL3/MemoryDomains/index.json new file mode 100755 index 0000000..c4b81a5 --- /dev/null +++ b/CXLAgent/Chassis/PCXL3/MemoryDomains/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#MemoryDomainCollection.MemoryDomainCollection", + "Name": "Memory Domain Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL3/MemoryDomains/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/PCXL3/MemoryDomains", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/PCXL3/PCIeDevices/1/CXLLogicalDevices/1/index.json b/CXLAgent/Chassis/PCXL3/PCIeDevices/1/CXLLogicalDevices/1/index.json new file mode 100755 index 0000000..12482c4 --- /dev/null +++ b/CXLAgent/Chassis/PCXL3/PCIeDevices/1/CXLLogicalDevices/1/index.json @@ -0,0 +1,50 @@ +{ + "@odata.type": "#CXLLogicalDevice.v1_0_0.CXLLogicalDevice", + "Id": "1", + "Name": "CXL Logical Device Type 3", + "Description": "CXL Logical Device Type 3 accessible through CXL fabric", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "Identifiers": [ + { + "DurableName": "4C-1D-96-FF-FE-DD-D8-35:1", + "DurableNameFormat": "GCXLID" + } + ], + "CXLSemanticsSupported": [ + "CXLio", + "CXLmem" + ], + "Links": { + "PCIeDevice": { + "@odata.id": "/redfish/v1/Chassis/PCXL3/PCIeDevices/1" + }, + "PCIeFunctions": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL3/PCIeDevices/1/PCIeFunctions/1" + } + ], + "MemoryChunks": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL3/MemoryDomains/1/MemoryChunks/1" + } + ], + "MemoryDomains": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL3/MemoryDomains/1" + } + ], + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T3" + } + ], + "Oem": {} + }, + "Oem": {}, + "@odata.id": "/redfish/v1/Chassis/PCXL3/PCIeDevices/1/CXLLogicalDevices/1", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/PCXL3/PCIeDevices/1/CXLLogicalDevices/index.json b/CXLAgent/Chassis/PCXL3/PCIeDevices/1/CXLLogicalDevices/index.json new file mode 100755 index 0000000..9c290e1 --- /dev/null +++ b/CXLAgent/Chassis/PCXL3/PCIeDevices/1/CXLLogicalDevices/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#CXLLogicalDeviceCollection.CXLLogicalDeviceCollection", + "Name": "CXL Logical Device Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL3/PCIeDevices/1/CXLLogicalDevices/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/PCXL3/PCIeDevices/1/CXLLogicalDevices", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/PCXL3/PCIeDevices/1/PCIeFunctions/1/index.json b/CXLAgent/Chassis/PCXL3/PCIeDevices/1/PCIeFunctions/1/index.json new file mode 100755 index 0000000..54f857c --- /dev/null +++ b/CXLAgent/Chassis/PCXL3/PCIeDevices/1/PCIeFunctions/1/index.json @@ -0,0 +1,37 @@ +{ + "@odata.type": "#PCIeFunction.v1_4_0.PCIeFunction", + "Id": "1", + "Name": "CXL Function", + "Description": "PCIe Function with CXL extensions representing Memory Controller", + "FunctionId": 1, + "FunctionType": "Physical", + "DeviceClass": "MemoryController", + "DeviceId": "0xABCD", + "VendorId": "0xABCD", + "ClassCode": "0x050210", + "RevisionId": "0x00", + "SubsystemId": "0xABCD", + "SubsystemVendorId": "0xABCD", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "FunctionProtocol": "CXL", + "Links": { + "MemoryControllers": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL3/MemoryDomains/1" + } + ], + "CXLLogicalDevice": { + "@odata.id": "/redfish/v1/Chassis/PCXL3/PCIeDevices/1/CXLLogicalDevices/1" + }, + "PCIeDevice": { + "@odata.id": "/redfish/v1/Chassis/PCXL3/PCIeDevices/1" + } + }, + "Oem": {}, + "@odata.id": "/redfish/v1/Chassis/PCXL3/PCIeDevices/1/PCIeFunctions/1", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/PCXL3/PCIeDevices/1/PCIeFunctions/index.json b/CXLAgent/Chassis/PCXL3/PCIeDevices/1/PCIeFunctions/index.json new file mode 100755 index 0000000..6a9cbef --- /dev/null +++ b/CXLAgent/Chassis/PCXL3/PCIeDevices/1/PCIeFunctions/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#PCIeFunctionCollection.PCIeFunctionCollection", + "Name": "PCIe Function Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL3/PCIeDevices/1/PCIeFunctions/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/PCXL3/PCIeDevices/1/PCIeFunctions", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/PCXL3/PCIeDevices/1/index.json b/CXLAgent/Chassis/PCXL3/PCIeDevices/1/index.json new file mode 100755 index 0000000..a50b8b2 --- /dev/null +++ b/CXLAgent/Chassis/PCXL3/PCIeDevices/1/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#PCIeDevice.v1_10_0.PCIeDevice", + "Id": "1", + "Name": "CXL Device", + "Description": "CXL Physcial Device Type 3", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "PCIeInterface": { + "PCIeType": "Gen5", + "MaxPCIeType": "Gen5", + "LanesInUse": 8, + "MaxLanes": 16 + }, + "PCIeFunctions": { + "@odata.id": "/redfish/v1/Chassis/PCXL3/PCIeDevices/1/PCIeFunctions" + }, + "CXLDevice":{ + "CurrentProtocolVersion": "V2_0", + "CapableProtocolVersion": "V2_0", + "DeviceType": "Type3", + "MultiLogicalDevice": true + }, + "CXLLogicalDevices": { + "@odata.id": "/redfish/v1/Chassis/PCXL3/PCIeDevices/1/CXLLogicalDevices" + }, + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL3" + } + ], + "Oem": {} + }, + "Oem": {}, + "@odata.id": "/redfish/v1/Chassis/PCXL3/PCIeDevices/1", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/PCXL3/PCIeDevices/index.json b/CXLAgent/Chassis/PCXL3/PCIeDevices/index.json new file mode 100755 index 0000000..99f0010 --- /dev/null +++ b/CXLAgent/Chassis/PCXL3/PCIeDevices/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#PCIeDeviceCollection.PCIeDeviceCollection", + "Name": "PCIe Device Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL3/PCIeDevices/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/PCXL3/PCIeDevices", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/PCXL3/index.json b/CXLAgent/Chassis/PCXL3/index.json new file mode 100755 index 0000000..168c15e --- /dev/null +++ b/CXLAgent/Chassis/PCXL3/index.json @@ -0,0 +1,27 @@ +{ + "@odata.type": "#Chassis.v1_20_0.Chassis", + "Id": "PCXL3", + "Name": "Pooled CXL Device Type 3 chassis", + "PowerState": "On", + "ChassisType": "Module", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "PCIeDevices": { + "@odata.id": "/redfish/v1/Chassis/PCXL3/PCIeDevices" + }, + "FabricAdapters": { + "@odata.id": "/redfish/v1/Chassis/PCXL3/FabricAdapters" + }, + "Memory": { + "@odata.id": "/redfish/v1/Chassis/PCXL3/Memory" + }, + "MemoryDomains": { + "@odata.id": "/redfish/v1/Chassis/PCXL3/MemoryDomains" + }, + "Oem": {}, + "@odata.id": "/redfish/v1/Chassis/PCXL3", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Chassis/index.json b/CXLAgent/Chassis/index.json new file mode 100755 index 0000000..c7f0cee --- /dev/null +++ b/CXLAgent/Chassis/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#ChassisCollection.ChassisCollection", + "Name": "Chassis Collection", + "Members@odata.count": 7, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL-Chassis" + }, + { + "@odata.id": "/redfish/v1/Chassis/CXL1" + }, + { + "@odata.id": "/redfish/v1/Chassis/CXL2" + }, + { + "@odata.id": "/redfish/v1/Chassis/CXL3" + }, + { + "@odata.id": "/redfish/v1/Chassis/PCXL1" + }, + { + "@odata.id": "/redfish/v1/Chassis/PCXL2" + }, + { + "@odata.id": "/redfish/v1/Chassis/PCXL3" + } + ], + "@odata.id": "/redfish/v1/Chassis", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/CXLAgent/Fabrics/CXL/Connections/12/index.json b/CXLAgent/Fabrics/CXL/Connections/12/index.json new file mode 100755 index 0000000..cf7ff7e --- /dev/null +++ b/CXLAgent/Fabrics/CXL/Connections/12/index.json @@ -0,0 +1,37 @@ +{ + "@odata.type": "#Connection.v1_1_0.Connection", + "Id": "12", + "Name": "Connection 12", + "Description": "CXL Connection 12 Information", + "ConnectionType": "Memory", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "MemoryChunkInfo": [ + { + "AccessCapabilities": [ + "Read", + "Write" + ], + "MemoryChunk": { + "@odata.id": "/redfish/v1/Chassis/PCXL2/MemoryDomains/1/MemoryChunks/1" + } + } + ], + "Links": { + "InitiatorEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I2" + } + ], + "TargetEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T2" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Connections/12", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Fabrics/CXL/Connections/13/index.json b/CXLAgent/Fabrics/CXL/Connections/13/index.json new file mode 100755 index 0000000..2c8b30c --- /dev/null +++ b/CXLAgent/Fabrics/CXL/Connections/13/index.json @@ -0,0 +1,37 @@ +{ + "@odata.type": "#Connection.v1_1_0.Connection", + "Id": "13", + "Name": "Connection 13", + "Description": "CXL Connection 13 Information", + "ConnectionType": "Memory", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "MemoryChunkInfo": [ + { + "AccessCapabilities": [ + "Read", + "Write" + ], + "MemoryChunk": { + "@odata.id": "/redfish/v1/Chassis/PCXL3/MemoryDomains/1/MemoryChunks/1" + } + } + ], + "Links": { + "InitiatorEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I3" + } + ], + "TargetEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T3" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Connections/13", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Fabrics/CXL/Connections/index.json b/CXLAgent/Fabrics/CXL/Connections/index.json new file mode 100755 index 0000000..13df61c --- /dev/null +++ b/CXLAgent/Fabrics/CXL/Connections/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#ConnectionCollection.ConnectionCollection", + "Name": "CXL Connection Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Connections/12" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Connections/13" + } + ], + "@odata.id": "/redfish/v1/Fabrics/CXL/Connections", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Fabrics/CXL/Endpoints/1/index.json b/CXLAgent/Fabrics/CXL/Endpoints/1/index.json new file mode 100755 index 0000000..ed5f381 --- /dev/null +++ b/CXLAgent/Fabrics/CXL/Endpoints/1/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#Endpoint.v1_7_0.Endpoint", + "Id": "1", + "Name": "CXL Switch", + "Description": "CXL Switch endpoint", + "EndpointProtocol": "CXL", + "ConnectedEntities": [ + { + "EntityType": "Switch", + "EntityRole": "Target", + "EntityLink": { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL" + } + } + ], + "Oem": { }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/1", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Fabrics/CXL/Endpoints/I1/index.json b/CXLAgent/Fabrics/CXL/Endpoints/I1/index.json new file mode 100755 index 0000000..19d11a1 --- /dev/null +++ b/CXLAgent/Fabrics/CXL/Endpoints/I1/index.json @@ -0,0 +1,37 @@ +{ + "@odata.type": "#Endpoint.v1_7_0.Endpoint", + "Id": "I1", + "Name": "CXL-System Initiator", + "Description": "CXL-System Initiator Endpoint for remote Type 1 CXL device ", + "EndpointProtocol": "CXL", + "ConnectedEntities": [ + { + "EntityType": "Processor", + "EntityRole": "Initiator", + "Identifiers": [ + { + "DurableName": "86D53A7B-D29A-3287-BA23-EF43A27BC6B9", + "DurableNameFormat": "UUID" + } + ], + "EntityLink": { + "@odata.id": "/redfish/v1/Systems/CXL-System/Processors/CPU" + } + } + ], + "Links": { + "Ports": [ + { + "@odata.id": "/redfish/v1/Systems/CXL-System/Processors/CPU/Ports/1" + } + ], + "Zones": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Zones/1" + } + ] + }, + "Oem": {}, + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I1", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Fabrics/CXL/Endpoints/I2/index.json b/CXLAgent/Fabrics/CXL/Endpoints/I2/index.json new file mode 100755 index 0000000..ed28214 --- /dev/null +++ b/CXLAgent/Fabrics/CXL/Endpoints/I2/index.json @@ -0,0 +1,49 @@ +{ + "@odata.type": "#Endpoint.v1_7_0.Endpoint", + "Id": "I2", + "Name": "CXL-System Initiator", + "Description": "CXL-System Initiator Endpoint for remote Type 2 CXL device ", + "EndpointProtocol": "CXL", + "ConnectedEntities": [ + { + "EntityType": "Processor", + "EntityRole": "Initiator", + "Identifiers": [ + { + "DurableName": "86D53A7B-D29A-3287-BA23-EF43A27BC6B9", + "DurableNameFormat": "UUID" + } + ], + "EntityLink": { + "@odata.id": "/redfish/v1/Systems/CXL-System/Processors/CPU" + } + }, + { + "EntityType": "Memory", + "EntityRole": "Initiator", + "EntityLink": { + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory/RCXL2" + } + } + ], + "Links": { + "Ports": [ + { + "@odata.id": "/redfish/v1/Systems/CXL-System/Processors/CPU/Ports/1" + } + ], + "Zones": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Zones/2" + } + ], + "Connections": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Connections/12" + } + ] + }, + "Oem": {}, + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I2", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Fabrics/CXL/Endpoints/I3/index.json b/CXLAgent/Fabrics/CXL/Endpoints/I3/index.json new file mode 100755 index 0000000..1e664e6 --- /dev/null +++ b/CXLAgent/Fabrics/CXL/Endpoints/I3/index.json @@ -0,0 +1,49 @@ +{ + "@odata.type": "#Endpoint.v1_7_0.Endpoint", + "Id": "I3", + "Name": "CXL-System Initiator", + "Description": "CXL-System Initiator Endpoint for remote Type 3 CXL device ", + "EndpointProtocol": "CXL", + "ConnectedEntities": [ + { + "EntityType": "Processor", + "EntityRole": "Initiator", + "Identifiers": [ + { + "DurableName": "86D53A7B-D29A-3287-BA23-EF43A27BC6B9", + "DurableNameFormat": "UUID" + } + ], + "EntityLink": { + "@odata.id": "/redfish/v1/Systems/CXL-System/Processors/CPU" + } + }, + { + "EntityType": "Memory", + "EntityRole": "Initiator", + "EntityLink": { + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory/RCXL3" + } + } + ], + "Links": { + "Ports": [ + { + "@odata.id": "/redfish/v1/Systems/CXL-System/Processors/CPU/Ports/1" + } + ], + "Zones": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Zones/3" + } + ], + "Connections": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Connections/13" + } + ] + }, + "Oem": {}, + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I3", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Fabrics/CXL/Endpoints/T1/index.json b/CXLAgent/Fabrics/CXL/Endpoints/T1/index.json new file mode 100755 index 0000000..c34d374 --- /dev/null +++ b/CXLAgent/Fabrics/CXL/Endpoints/T1/index.json @@ -0,0 +1,44 @@ +{ + "@odata.type": "#Endpoint.v1_7_0.Endpoint", + "Id": "T1", + "Name": "CXL Device Type 1 endpoint", + "Description": "CXL Device Type 1 target endpoint", + "EndpointProtocol": "CXL", + "ConnectedEntities": [ + { + "EntityType": "CXLDevice", + "EntityRole": "Target", + "Identifiers": [ + { + "DurableName": "4C-1D-96-FF-FE-DD-D8-35:1", + "DurableNameFormat": "GCXLID" + } + ], + "EntityLink": { + "@odata.id": "/redfish/v1/Chassis/PCXL1/PCIeDevices/1/CXLLogicalDevices/1" + } + }, + { + "EntityType": "Processor", + "EntityRole": "Target", + "EntityLink": { + "@odata.id": "/redfish/v1/Chassis/PCXL1/Processors/FPGA" + } + } + ], + "Links": { + "Ports": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL1/FabricAdapters/1/Ports/1" + } + ], + "Zones": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Zones/1" + } + ] + }, + "Oem": {}, + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T1", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Fabrics/CXL/Endpoints/T2/index.json b/CXLAgent/Fabrics/CXL/Endpoints/T2/index.json new file mode 100755 index 0000000..0e96bc7 --- /dev/null +++ b/CXLAgent/Fabrics/CXL/Endpoints/T2/index.json @@ -0,0 +1,56 @@ +{ + "@odata.type": "#Endpoint.v1_7_0.Endpoint", + "Id": "T2", + "Name": "CXL Device Type 2 endpoint", + "Description": "CXL Device Type 2 target endpoint", + "EndpointProtocol": "CXL", + "ConnectedEntities": [ + { + "EntityType": "CXLDevice", + "EntityRole": "Target", + "Identifiers": [ + { + "DurableName": "4C-1D-96-FF-FE-DD-D8-35:1", + "DurableNameFormat": "GCXLID" + } + ], + "EntityLink": { + "@odata.id": "/redfish/v1/Chassis/PCXL2/PCIeDevices/1/CXLLogicalDevices/1" + } + }, + { + "EntityType": "Processor", + "EntityRole": "Target", + "EntityLink": { + "@odata.id": "/redfish/v1/Chassis/PCXL2/Processors/GPU" + } + }, + { + "EntityType": "MemoryChunk", + "EntityRole": "Target", + "EntityLink": { + "@odata.id": "/redfish/v1/Chassis/PCXL2/MemoryDomains/1/MemoryChunks/1" + } + } + ], + "Links": { + "Ports": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL2/FabricAdapters/1/Ports/1" + } + ], + "Zones": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Zones/2" + } + ], + "Connections": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Connections/12" + } + ] + }, + "Oem": {}, + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T2", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Fabrics/CXL/Endpoints/T3/index.json b/CXLAgent/Fabrics/CXL/Endpoints/T3/index.json new file mode 100755 index 0000000..e122bb0 --- /dev/null +++ b/CXLAgent/Fabrics/CXL/Endpoints/T3/index.json @@ -0,0 +1,49 @@ +{ + "@odata.type": "#Endpoint.v1_7_0.Endpoint", + "Id": "T3", + "Name": "CXL Device Type 3 endpoint", + "Description": "CXL Device Type 3 target endpoint", + "EndpointProtocol": "CXL", + "ConnectedEntities": [ + { + "EntityType": "CXLDevice", + "EntityRole": "Target", + "Identifiers": [ + { + "DurableName": "4C-1D-96-FF-FE-DD-D8-35:1", + "DurableNameFormat": "GCXLID" + } + ], + "EntityLink": { + "@odata.id": "/redfish/v1/Chassis/PCXL3/PCIeDevices/1/CXLLogicalDevices/1" + } + }, + { + "EntityType": "MemoryChunk", + "EntityRole": "Target", + "EntityLink": { + "@odata.id": "/redfish/v1/Chassis/PCXL3/MemoryDomains/1/MemoryChunks/1" + } + } + ], + "Links": { + "Ports": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL3/FabricAdapters/1/Ports/1" + } + ], + "Zones": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Zones/3" + } + ], + "Connections": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Connections/13" + } + ] + }, + "Oem": {}, + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T3", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Fabrics/CXL/Endpoints/index.json b/CXLAgent/Fabrics/CXL/Endpoints/index.json new file mode 100755 index 0000000..8bdae0f --- /dev/null +++ b/CXLAgent/Fabrics/CXL/Endpoints/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#EndpointCollection.EndpointCollection", + "Name": "CXL Endpoint Collection", + "Members@odata.count": 7, + "Members": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I2" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T2" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I3" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T3" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/1" + } + ], + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Fabrics/CXL/Switches/CXL/Ports/D1/index.json b/CXLAgent/Fabrics/CXL/Switches/CXL/Ports/D1/index.json new file mode 100755 index 0000000..8f9f430 --- /dev/null +++ b/CXLAgent/Fabrics/CXL/Switches/CXL/Ports/D1/index.json @@ -0,0 +1,43 @@ +{ + "@odata.type": "#Port.v1_7_0.Port", + "Id": "D1", + "Name": "CXL Port 1", + "Description": "CXL Downstream Port 1 in switch", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "PortId": "D1", + "RemotePortId": "4C-1D-96-FF-FE-DD-D8-D1", + "PortProtocol": "CXL", + "CurrentProtocolVersion": "2.0", + "CapableProtocolVersions": [ + "1.1", "2.0" + ], + "PortType": "DownstreamPort", + "PortMedium": "Optical", + "CurrentSpeedGbps": 256, + "Width": 8, + "MaxSpeedGbps": 512, + "ActiveWidth": 16, + "LinkState": "Enabled", + "LinkStatus": "LinkUp", + "InterfaceEnabled": true, + "LinkNetworkTechnology": "PCIe", + "Links": { + "AssociatedEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T1" + } + ], + "ConnectedPorts": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL1/FabricAdapters/1/Ports/1" + } + ] + }, + "Oem": {}, + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/D1", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Fabrics/CXL/Switches/CXL/Ports/D2/index.json b/CXLAgent/Fabrics/CXL/Switches/CXL/Ports/D2/index.json new file mode 100755 index 0000000..43857c1 --- /dev/null +++ b/CXLAgent/Fabrics/CXL/Switches/CXL/Ports/D2/index.json @@ -0,0 +1,43 @@ +{ + "@odata.type": "#Port.v1_7_0.Port", + "Id": "D2", + "Name": "CXL Port 2", + "Description": "CXL Downstream Port 2 in switch", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "PortId": "D2", + "RemotePortId": "4C-1D-96-FF-FE-DD-D8-D2", + "PortProtocol": "CXL", + "CurrentProtocolVersion": "2.0", + "CapableProtocolVersions": [ + "1.1", "2.0" + ], + "PortType": "DownstreamPort", + "PortMedium": "Optical", + "CurrentSpeedGbps": 256, + "Width": 8, + "MaxSpeedGbps": 512, + "ActiveWidth": 16, + "LinkState": "Enabled", + "LinkStatus": "LinkUp", + "InterfaceEnabled": true, + "LinkNetworkTechnology": "PCIe", + "Links": { + "AssociatedEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T2" + } + ], + "ConnectedPorts": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL2/FabricAdapters/1/Ports/1" + } + ] + }, + "Oem": {}, + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/D2", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Fabrics/CXL/Switches/CXL/Ports/D3/index.json b/CXLAgent/Fabrics/CXL/Switches/CXL/Ports/D3/index.json new file mode 100755 index 0000000..34f309a --- /dev/null +++ b/CXLAgent/Fabrics/CXL/Switches/CXL/Ports/D3/index.json @@ -0,0 +1,43 @@ +{ + "@odata.type": "#Port.v1_7_0.Port", + "Id": "D3", + "Name": "CXL Port 3", + "Description": "CXL Downstream Port 3 in switch", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "PortId": "D3", + "RemotePortId": "4C-1D-96-FF-FE-DD-D8-D3", + "PortProtocol": "CXL", + "CurrentProtocolVersion": "2.0", + "CapableProtocolVersions": [ + "1.1", "2.0" + ], + "PortType": "DownstreamPort", + "PortMedium": "Optical", + "CurrentSpeedGbps": 256, + "Width": 8, + "MaxSpeedGbps": 512, + "ActiveWidth": 16, + "LinkState": "Enabled", + "LinkStatus": "LinkUp", + "InterfaceEnabled": true, + "LinkNetworkTechnology": "PCIe", + "Links": { + "AssociatedEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T3" + } + ], + "ConnectedPorts": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL3/FabricAdapters/1/Ports/1" + } + ] + }, + "Oem": {}, + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/D3", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Fabrics/CXL/Switches/CXL/Ports/U1/index.json b/CXLAgent/Fabrics/CXL/Switches/CXL/Ports/U1/index.json new file mode 100755 index 0000000..b3ada9f --- /dev/null +++ b/CXLAgent/Fabrics/CXL/Switches/CXL/Ports/U1/index.json @@ -0,0 +1,49 @@ +{ + "@odata.type": "#Port.v1_7_0.Port", + "Id": "U1", + "Name": "CXL Port 1", + "Description": "CXL Upstream Port 1 in switch", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "PortId": "4C-1D-96-FF-FE-DD-D8-D0", + "RemotePortId": "1", + "PortProtocol": "CXL", + "CurrentProtocolVersion": "2.0", + "CapableProtocolVersions": [ + "1.1", "2.0" + ], + "PortType": "UpstreamPort", + "PortMedium": "Optical", + "CurrentSpeedGbps": 512, + "Width": 16, + "MaxSpeedGbps": 512, + "ActiveWidth": 16, + "LinkState": "Enabled", + "LinkStatus": "LinkUp", + "InterfaceEnabled": true, + "LinkNetworkTechnology": "PCIe", + "Links": { + "AssociatedEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I2" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I3" + } + ], + "ConnectedPorts": [ + { + "@odata.id": "/redfish/v1/Systems/CXL-System/Processors/CPU/Ports/1" + } + ] + }, + "Oem": {}, + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/U1", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Fabrics/CXL/Switches/CXL/Ports/index.json b/CXLAgent/Fabrics/CXL/Switches/CXL/Ports/index.json new file mode 100755 index 0000000..ab40ea6 --- /dev/null +++ b/CXLAgent/Fabrics/CXL/Switches/CXL/Ports/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#PortCollection.PortCollection", + "Name": "CXL Port Collection", + "Members@odata.count": 4, + "Members": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/U1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/D1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/D2" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/D3" + } + ], + "Oem": {}, + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Fabrics/CXL/Switches/CXL/index.json b/CXLAgent/Fabrics/CXL/Switches/CXL/index.json new file mode 100755 index 0000000..67a3d70 --- /dev/null +++ b/CXLAgent/Fabrics/CXL/Switches/CXL/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#Switch.v1_7_0.Switch", + "Id": "CXL", + "Name": "CXL Switch", + "SwitchType": "CXL", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "UUID": "1ad59fe9-49f9-52fa-9a93-e349f9477fe0", + "Ports": { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports" + } , + "Links": { + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/1" + } + ] + }, + "Oem": { }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Fabrics/CXL/Switches/index.json b/CXLAgent/Fabrics/CXL/Switches/index.json new file mode 100755 index 0000000..19d2555 --- /dev/null +++ b/CXLAgent/Fabrics/CXL/Switches/index.json @@ -0,0 +1,10 @@ +{ + "@odata.type": "#SwitchCollection.SwitchCollection", + "Name": "Switch Collection", + "Members@odata.count": 1, + "Members": [ + { "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL" } + ], + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Fabrics/CXL/Zones/1/index.json b/CXLAgent/Fabrics/CXL/Zones/1/index.json new file mode 100755 index 0000000..d6ace80 --- /dev/null +++ b/CXLAgent/Fabrics/CXL/Zones/1/index.json @@ -0,0 +1,27 @@ +{ + "@odata.type": "#Zone.v1_6_1.Zone", + "Id": "1", + "Name": "CXL Zone 1", + "Description": "CXL Zone 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ZoneType": "ZoneOfEndpoints", + "Links": { + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/1" + } + ] + }, + "Oem": {}, + "@odata.id": "/redfish/v1/Fabrics/CXL/Zones/1", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Fabrics/CXL/Zones/2/index.json b/CXLAgent/Fabrics/CXL/Zones/2/index.json new file mode 100755 index 0000000..a9ff68b --- /dev/null +++ b/CXLAgent/Fabrics/CXL/Zones/2/index.json @@ -0,0 +1,27 @@ +{ + "@odata.type": "#Zone.v1_6_1.Zone", + "Id": "2", + "Name": "CXL Zone 2", + "Description": "CXL Zone 2", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ZoneType": "ZoneOfEndpoints", + "Links": { + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I2" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T2" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/1" + } + ] + }, + "Oem": {}, + "@odata.id": "/redfish/v1/Fabrics/CXL/Zones/2", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Fabrics/CXL/Zones/3/index.json b/CXLAgent/Fabrics/CXL/Zones/3/index.json new file mode 100755 index 0000000..8cbe3d1 --- /dev/null +++ b/CXLAgent/Fabrics/CXL/Zones/3/index.json @@ -0,0 +1,27 @@ +{ + "@odata.type": "#Zone.v1_6_1.Zone", + "Id": "3", + "Name": "CXL Zone 3", + "Description": "CXL Zone 3", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ZoneType": "ZoneOfEndpoints", + "Links": { + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I3" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T3" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/1" + } + ] + }, + "Oem": {}, + "@odata.id": "/redfish/v1/Fabrics/CXL/Zones/3", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Fabrics/CXL/Zones/index.json b/CXLAgent/Fabrics/CXL/Zones/index.json new file mode 100755 index 0000000..702d8e9 --- /dev/null +++ b/CXLAgent/Fabrics/CXL/Zones/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#ZoneCollection.ZoneCollection", + "Name": "CXL Fabric Zone Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Zones/1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Zones/2" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Zones/3" + } + ], + "@odata.id": "/redfish/v1/Fabrics/CXL/Zones", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Fabrics/CXL/index.json b/CXLAgent/Fabrics/CXL/index.json new file mode 100755 index 0000000..44b2bae --- /dev/null +++ b/CXLAgent/Fabrics/CXL/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Fabric.v1_2_2.Fabric", + "Id": "CXL", + "Name": "CXL Fabric", + "Description": "CXL Fabric", + "FabricType": "CXL", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Switches": { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches" + }, + "Connections": { + "@odata.id": "/redfish/v1/Fabrics/CXL/Connections" + }, + "Endpoints": { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints" + }, + "Zones": { + "@odata.id": "/redfish/v1/Fabrics/CXL/Zones" + }, + "Oem": {}, + "@odata.id": "/redfish/v1/Fabrics/CXL", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Fabrics/index.json b/CXLAgent/Fabrics/index.json new file mode 100755 index 0000000..4b5022f --- /dev/null +++ b/CXLAgent/Fabrics/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#FabricCollection.FabricCollection", + "Name": "Fabric Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL" + } + ], + "@odata.id": "/redfish/v1/Fabrics", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/CXLAgent/Storage/index.json b/CXLAgent/Storage/index.json new file mode 100644 index 0000000..197bbb6 --- /dev/null +++ b/CXLAgent/Storage/index.json @@ -0,0 +1,8 @@ +{ + "@odata.type": "#StorageCollection.StorageCollection", + "Name": "Storage Collection", + "Members@odata.count": 0, + "Members": [], + "@odata.id": "/redfish/v1/Storage", + "@Redfish.Copyright": "Copyright 2015-2022 SNIA. All rights reserved." +} diff --git a/CXLAgent/Systems/CXL-System/Memory/CXL2/index.json b/CXLAgent/Systems/CXL-System/Memory/CXL2/index.json new file mode 100755 index 0000000..fd9f099 --- /dev/null +++ b/CXLAgent/Systems/CXL-System/Memory/CXL2/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#Memory.v1_15_0.Memory", + "Id": "CXL2", + "Name": "CXL Device memory", + "Description": "Local CXL device memory", + "Status": { + "Health": "OK", + "State": "Enabled", + "HealthRollup": "OK" + }, + "CapacityMiB": 4096, + "MemoryMedia": [ + "CXL" + ], + "MemoryMediaSources": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL2/MemoryDomains/1/MemoryChunks/1" + } + ], + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory/CXL2", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Systems/CXL-System/Memory/CXL3/index.json b/CXLAgent/Systems/CXL-System/Memory/CXL3/index.json new file mode 100755 index 0000000..7afad8b --- /dev/null +++ b/CXLAgent/Systems/CXL-System/Memory/CXL3/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#Memory.v1_15_0.Memory", + "Id": "CXL3", + "Name": "CXL Device memory", + "Description": "Local CXL device memory", + "Status": { + "Health": "OK", + "State": "Enabled", + "HealthRollup": "OK" + }, + "CapacityMiB": 4096, + "MemoryMedia": [ + "CXL" + ], + "MemoryMediaSources": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL3/MemoryDomains/1/MemoryChunks/1" + } + ], + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory/CXL3", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Systems/CXL-System/Memory/RCXL2/index.json b/CXLAgent/Systems/CXL-System/Memory/RCXL2/index.json new file mode 100755 index 0000000..e58585a --- /dev/null +++ b/CXLAgent/Systems/CXL-System/Memory/RCXL2/index.json @@ -0,0 +1,29 @@ +{ + "@odata.type": "#Memory.v1_15_0.Memory", + "Id": "RCXL2", + "Name": "CXL Device memory", + "Description": "Remote CXL device memory", + "Status": { + "Health": "OK", + "State": "Enabled", + "HealthRollup": "OK" + }, + "CapacityMiB": 4096, + "MemoryMedia": [ + "Fabric" + ], + "MemoryMediaSources": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL2/MemoryDomains/1/MemoryChunks/1" + } + ], + "Links": { + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I2" + } + ] + }, + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory/RCXL2", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Systems/CXL-System/Memory/RCXL3/index.json b/CXLAgent/Systems/CXL-System/Memory/RCXL3/index.json new file mode 100755 index 0000000..695b5e2 --- /dev/null +++ b/CXLAgent/Systems/CXL-System/Memory/RCXL3/index.json @@ -0,0 +1,29 @@ +{ + "@odata.type": "#Memory.v1_15_0.Memory", + "Id": "RCXL3", + "Name": "CXL Device memory", + "Description": "Remote CXL device memory", + "Status": { + "Health": "OK", + "State": "Enabled", + "HealthRollup": "OK" + }, + "CapacityMiB": 4096, + "MemoryMedia": [ + "Fabric" + ], + "MemoryMediaSources": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL3/MemoryDomains/1/MemoryChunks/1" + } + ], + "Links": { + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I3" + } + ] + }, + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory/RCXL3", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Systems/CXL-System/Memory/index.json b/CXLAgent/Systems/CXL-System/Memory/index.json new file mode 100755 index 0000000..5c145c6 --- /dev/null +++ b/CXLAgent/Systems/CXL-System/Memory/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#MemoryCollection.MemoryCollection", + "Name": "Memory Collection", + "Description": "Memory Collection", + "Members@odata.count": 4, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory/CXL2" + }, + { + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory/CXL3" + }, + { + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory/RCXL2" + }, + { + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory/RCXL3" + } + ], + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Systems/CXL-System/MemoryDomains/CXL/MemoryChunks/1/index.json b/CXLAgent/Systems/CXL-System/MemoryDomains/CXL/MemoryChunks/1/index.json new file mode 100755 index 0000000..c70d799 --- /dev/null +++ b/CXLAgent/Systems/CXL-System/MemoryDomains/CXL/MemoryChunks/1/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#MemoryChunks.v1_5_0.MemoryChunks", + "Id": "1", + "Name": "Memory Chunk 1", + "Description": "All CXL Memory chunk", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "MemoryChunkSizeMiB": 16384, + "AddressRangeType": "Volatile", + "AddressRangeOffsetMiB": 65536, + "MediaLocation": "Mixed", + "OperationalState": "Online", + "InterleaveSets": [ + { + "Memory": { + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory/CXL2" + } + }, + { + "Memory": { + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory/CXL3" + } + }, + { + "Memory": { + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory/RCXL2" + } + }, + { + "Memory": { + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory/RCXL3" + } + } + ], + "Oem": {}, + "@odata.id": "/redfish/v1/Systems/CXL-System/MemoryDomains/CXL/MemoryChunks/1", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Systems/CXL-System/MemoryDomains/CXL/MemoryChunks/index.json b/CXLAgent/Systems/CXL-System/MemoryDomains/CXL/MemoryChunks/index.json new file mode 100755 index 0000000..bc88543 --- /dev/null +++ b/CXLAgent/Systems/CXL-System/MemoryDomains/CXL/MemoryChunks/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#MemoryChunksCollection.MemoryChunksCollection", + "Name": "Memory Chunks Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/CXL-System/MemoryDomains/CXL/MemoryChunks/1" + } + ], + "Oem": {}, + "@odata.id": "/redfish/v1/Systems/CXL-System/MemoryDomains/CXL/MemoryChunks", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Systems/CXL-System/MemoryDomains/CXL/index.json b/CXLAgent/Systems/CXL-System/MemoryDomains/CXL/index.json new file mode 100755 index 0000000..868dfe2 --- /dev/null +++ b/CXLAgent/Systems/CXL-System/MemoryDomains/CXL/index.json @@ -0,0 +1,38 @@ +{ + "@odata.type": "#MemoryDomain.v1_4_0.MemoryDomain", + "Id": "CXL", + "Name": "CXL Memory Domain", + "Description": "Local and Remote CXL Memory Domain", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "MemoryChunks": { + "@odata.id": "/redfish/v1/Systems/CXL-System/MemoryDomains/CXL/MemoryChunks" + }, + "AllowsMemoryChunkCreation": true, + "MinMemoryChunkSizeMiB": 64, + "MemoryChunkIncrementMiB": 64, + "InterleavableMemorySets": [ + { + "MemorySet": [ + { + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory/CXL2" + }, + { + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory/CXL3" + }, + { + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory/RCXL2" + }, + { + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory/RCXL3" + } + ] + } + ], + "Oem": {}, + "@odata.id": "/redfish/v1/Systems/CXL-System/MemoryDomains/CXL", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Systems/CXL-System/MemoryDomains/index.json b/CXLAgent/Systems/CXL-System/MemoryDomains/index.json new file mode 100755 index 0000000..5c7c12f --- /dev/null +++ b/CXLAgent/Systems/CXL-System/MemoryDomains/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#MemoryDomainCollection.MemoryDomainCollection", + "Name": "Memory Domain Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/CXL-System/MemoryDomains/CXL" + } + ], + "Oem": {}, + "@odata.id": "/redfish/v1/Systems/CXL-System/MemoryDomains", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Systems/CXL-System/Processors/CPU/Ports/1/index.json b/CXLAgent/Systems/CXL-System/Processors/CPU/Ports/1/index.json new file mode 100755 index 0000000..a9e0d7f --- /dev/null +++ b/CXLAgent/Systems/CXL-System/Processors/CPU/Ports/1/index.json @@ -0,0 +1,54 @@ +{ + "@odata.type": "#Port.v1_7_0.Port", + "Id": "1", + "Name": "CXL Port 1", + "Description": "CXL Port in CPU connected to CXL switch", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "PortId": "1", + "RemotePortId": "4C-1D-96-FF-FE-DD-D8-D0", + "PortProtocol": "CXL", + "CurrentProtocolVersion": "2.0", + "CapableProtocolVersions": [ + "1.1", "2.0" + ], + "PortType": "DownstreamPort", + "PortMedium": "Optical", + "CurrentSpeedGbps": 512, + "Width": 16, + "MaxSpeedGbps": 512, + "ActiveWidth": 16, + "LinkState": "Enabled", + "LinkStatus": "LinkUp", + "InterfaceEnabled": true, + "LinkNetworkTechnology": "PCIe", + "Links": { + "AssociatedEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I2" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I3" + } + ], + "ConnectedSwitches": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL" + } + ], + "ConnectedSwitchPorts": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/U1" + } + ] + }, + "Oem": {}, + "@odata.id": "/redfish/v1/Systems/CXL-System/Processors/CPU/Ports/1", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Systems/CXL-System/Processors/CPU/Ports/index.json b/CXLAgent/Systems/CXL-System/Processors/CPU/Ports/index.json new file mode 100755 index 0000000..96e9fd1 --- /dev/null +++ b/CXLAgent/Systems/CXL-System/Processors/CPU/Ports/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#PortCollection.PortCollection", + "@odata.id": "/redfish/v1/Systems/CXL-System/Processors/CPU/Ports", + "Name": "CXL Port Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/CXL-System/Processors/CPU/Ports/1" + } + ], + "Oem": {}, + "@odata.id": "/redfish/v1/Systems/CXL-System/Processors/CPU/Ports", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Systems/CXL-System/Processors/CPU/index.json b/CXLAgent/Systems/CXL-System/Processors/CPU/index.json new file mode 100755 index 0000000..b3372e4 --- /dev/null +++ b/CXLAgent/Systems/CXL-System/Processors/CPU/index.json @@ -0,0 +1,56 @@ +{ + "@odata.type": "#Processor.v1_15_0.Processor", + "Id": "CPU", + "Name": "CPU with CXL ports", + "Description": "CPU with CXL ports", + "ProcessorType": "CPU", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "UUID": "86D53A7B-D29A-3287-BA23-EF43A27BC6B9", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "Ports": { + "@odata.id": "/redfish/v1/Systems/CXL-System/Processors/CPU/Ports" + }, + "Links": { + "ConnectedProcessors": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL1/Processors/FPGA" + }, + { + "@odata.id": "/redfish/v1/Chassis/CXL2/Processors/GPU" + } + ], + "Memory": [ + { + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory/CXL2" + }, + { + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory/CXL3" + }, + { + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory/RCXL2" + }, + { + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory/RCXL3" + } + ], + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I2" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I3" + } + ] + }, + "@odata.id": "/redfish/v1/Systems/CXL-System/Processors/CPU", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Systems/CXL-System/Processors/index.json b/CXLAgent/Systems/CXL-System/Processors/index.json new file mode 100755 index 0000000..673d61e --- /dev/null +++ b/CXLAgent/Systems/CXL-System/Processors/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#ProcessorCollection.ProcessorCollection", + "Name": "Processors Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/CXL-System/Processors/CPU" + }, + { + "@odata.id": "/redfish/v1/Chassis/CXL1/Processors/FPGA" + }, + { + "@odata.id": "/redfish/v1/Chassis/CXL2/Processors/GPU" + } + ], + "@odata.id": "/redfish/v1/Systems/CXL-System/Processors", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Systems/CXL-System/index.json b/CXLAgent/Systems/CXL-System/index.json new file mode 100755 index 0000000..e535de0 --- /dev/null +++ b/CXLAgent/Systems/CXL-System/index.json @@ -0,0 +1,61 @@ +{ + "@odata.type": "#ComputerSystem.v1_16_0.ComputerSystem", + "Id": "CXL-System", + "Name": "CXL System", + "Description": "CXL System supporting local and remote CXL devices", + "SystemType": "Physical", + "UUID": "68D5E212-165B-4CA0-909B-C86B9CEE0112", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "PowerState": "On", + "ProcessorSummary": { + "Count": 3 + }, + "MemorySummary": { + "TotalSystemMemoryGiB": 36 + }, + "Processors": { + "@odata.id": "/redfish/v1/Systems/CXL-System/Processors" + }, + "Memory": { + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory" + }, + "MemoryDomains": { + "@odata.id": "/redfish/v1/Systems/CXL-System/MemoryDomains" + }, + "PCIeDevices": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL1/PCIeDevices/1" + }, + { + "@odata.id": "/redfish/v1/Chassis/CXL2/PCIeDevices/1" + }, + { + "@odata.id": "/redfish/v1/Chassis/CXL3/PCIeDevices/1" + } + ], + "PCIeFunctions": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL1/PCIeDevices/1/PCIeFunctions/1" + }, + { + "@odata.id": "/redfish/v1/Chassis/CXL2/PCIeDevices/1/PCIeFunctions/1" + }, + { + "@odata.id": "/redfish/v1/Chassis/CXL3/PCIeDevices/1/PCIeFunctions/1" + } + ], + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL-Chassis" + } + ] + }, + "Oem": {}, + "@odata.id": "/redfish/v1/Systems/CXL-System", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/CXLAgent/Systems/index.json b/CXLAgent/Systems/index.json new file mode 100755 index 0000000..a6aac9a --- /dev/null +++ b/CXLAgent/Systems/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ComputerSystemCollection.ComputerSystemCollection", + "Name": "Computer System Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/CXL-System" + } + ], + "@odata.id": "/redfish/v1/Systems", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/CXLAgent/index.json b/CXLAgent/index.json new file mode 100644 index 0000000..c611416 --- /dev/null +++ b/CXLAgent/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#ServiceRoot.v1_14_0.ServiceRoot", + "Id": "RootService", + "Name": "Root Service", + "RedfishVersion": "1.14.0", + "UUID": "92384634-2938-2342-8820-489239905423", + "AggregationService": { + "@odata.id": "/redfish/v1/AggregationService" + }, + "Chassis": { + "@odata.id": "/redfish/v1/Chassis" + }, + "Fabrics": { + "@odata.id": "/redfish/v1/Fabrics" + }, + "Systems": { + "@odata.id": "/redfish/v1/Systems" + }, + "@odata.id": "/redfish/v1", + "@Redfish.Copyright": "Copyright 2015-2022 SNIA. All rights reserved." +} diff --git a/Resources/Systems/1/index.json b/Resources/Systems/1/index.json deleted file mode 100644 index 6de836b..0000000 --- a/Resources/Systems/1/index.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "@odata.id": "/redfish/v1/Systems/1", - "@odata.type": "#ComputerSystem.1.00.0.ComputerSystem", - "Boot": { - "BootSourceOverrideEnabled": "Once", - "BootSourceOverrideSupported": [ - "None", - "Pxe", - "Floppy", - "Cd", - "Usb" - ], - "BootSourceOverrideTarget": "Pxe", - "UefiTargetBootSourceOverride": "uefi device path" - }, - "FabricAdapters": [ - { - "@odata.id": "/redfish/1/Systems/1/FabricAdapters" - } - ], - "Id": "1", - "IndicatorLED": "On", - "Manufacturer": "Manufacturer Name", - "Memory": { - "Status": { - "Health": "OK", - "HealthRollUp": "OK", - "State": "Enabled" - }, - "TotalSystemMemoryGB": 8 - }, - "Model": "Model Name", - "Name": "Computer Node 1", - "Power": "Off", - "Processors": { - "Count": 4, - "Model": "Multi-Core Intel(R) Xeon(R) processor 7xxx Series", - "Status": { - "Health": "OK", - "HealthRollUp": "OK", - "State": "Enabled" - } - }, - "SKU": "", - "Status": { - "Health": "OK", - "HealthRollUp": "OK", - "State": "Enabled" - }, - "SystemType": "Physical" -} \ No newline at end of file diff --git a/Resources/Systems/1234/index.json b/Resources/Systems/1234/index.json deleted file mode 100644 index 9462219..0000000 --- a/Resources/Systems/1234/index.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "@odata.id": "/redfish/v1/Systems/1234", - "@odata.type": "#ComputerSystem.1.00.0.ComputerSystem", - "Boot": { - "BootSourceOverrideEnabled": "Once", - "BootSourceOverrideSupported": [ - "None", - "Pxe", - "Floppy", - "Cd", - "Usb" - ], - "BootSourceOverrideTarget": "Pxe", - "UefiTargetBootSourceOverride": "uefi device path" - }, - "FabricAdapters": [ - { - "@odata.id": "/redfish/1/Systems/1234/FabricAdapters" - } - ], - "Id": "1234", - "IndicatorLED": "Off", - "Links": { - "Chassis": [ - { - "@odata.id": "/redfish/v1/Chassis/1" - } - ] - }, - "Manufacturer": "Manufacturer Name", - "Memory": { - "Status": { - "Health": "OK", - "HealthRollUp": "OK", - "State": "Disabled" - }, - "TotalSystemMemoryGB": 12 - }, - "Model": "Model Name", - "Name": "Compute Node 1234", - "Power": "On", - "Processors": { - "Count": 4, - "Model": "Multi-Core Intel(R) Xeon(R) processor 7xxx Series", - "Status": { - "Health": "OK", - "HealthRollUp": "OK", - "State": "Enabled" - } - }, - "SKU": "sku", - "Status": { - "Health": "OK", - "HealthRollUp": "OK", - "State": "Enabled" - }, - "SystemType": "Physical" -} \ No newline at end of file diff --git a/Resources/Systems/index.json b/Resources/Systems/index.json deleted file mode 100644 index 546f00b..0000000 --- a/Resources/Systems/index.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "@odata.id": "/redfish/v1/Systems", - "@odata.type": "#SystemsCollection.SystemsCollection", - "Members": [ - { - "@odata.id": "/redfish/v1/Systems/1" - }, - { - "@odata.id": "/redfish/v1/Systems/1234" - } - ], - "Members@odata.count": 2, - "Name": "Systems Collection" -} \ No newline at end of file diff --git a/Resources/index.json b/Resources/index.json deleted file mode 100644 index 00423f6..0000000 --- a/Resources/index.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "@odata.id": "/redfish/v1", - "@odata.type": "#ServiceRoot.v1_14_0.ServiceRoot", - "Id": "RootService", - "Name": "Root Service", - "RedfishVersion": "1.14.0", - "Systems": { - "@odata.id": "/redfish/v1/Systems" - } -} \ No newline at end of file diff --git a/Sunfish/$metadata/index.xml b/Sunfish/$metadata/index.xml new file mode 100644 index 0000000..7929951 --- /dev/null +++ b/Sunfish/$metadata/index.xml @@ -0,0 +1,217 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Sunfish/AccountService/Accounts/index.json b/Sunfish/AccountService/Accounts/index.json new file mode 100644 index 0000000..859bf56 --- /dev/null +++ b/Sunfish/AccountService/Accounts/index.json @@ -0,0 +1,9 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 SNIA. All rights reserved.", + "@odata.id": "/redfish/v1/AccountService/Accounts", + "@odata.type": "#ManagerAccountCollection.ManagerAccountCollection", + "Members": [ + ], + "Members@odata.count": 0, + "Name": "ManagerAccount Collection" +} \ No newline at end of file diff --git a/Sunfish/AccountService/Roles/Administrator/index.json b/Sunfish/AccountService/Roles/Administrator/index.json new file mode 100644 index 0000000..b1d0855 --- /dev/null +++ b/Sunfish/AccountService/Roles/Administrator/index.json @@ -0,0 +1,20 @@ +{ + "@odata.type": "#Role.v1_3_1.Role", + "Id": "Administrator", + "Name": "User Role", + "Description": "Admin User Role", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureManager", + "ConfigureUsers", + "ConfigureComponents", + "ConfigureSelf" + ], + "OemPrivileges": [ + "OemClearLog", + "OemPowerControl" + ], + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator", + "@Redfish.Copyright": "Copyright 2015-2022 SNIA. All rights reserved." +} \ No newline at end of file diff --git a/Sunfish/AccountService/Roles/Operator/index.json b/Sunfish/AccountService/Roles/Operator/index.json new file mode 100644 index 0000000..2d3fbc6 --- /dev/null +++ b/Sunfish/AccountService/Roles/Operator/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#Role.v1_3_1.Role", + "Id": "Operator", + "Name": "User Role", + "Description": "Operator User Role", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureSelf", + "ConfigureComponents" + ], + "OemPrivileges": [], + "@odata.id": "/redfish/v1/AccountService/Roles/Operator", + "@Redfish.Copyright": "Copyright 2015-2022 SNIA. All rights reserved." +} \ No newline at end of file diff --git a/Sunfish/AccountService/Roles/ReadOnlyUser/index.json b/Sunfish/AccountService/Roles/ReadOnlyUser/index.json new file mode 100644 index 0000000..e500194 --- /dev/null +++ b/Sunfish/AccountService/Roles/ReadOnlyUser/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#Role.v1_1_0.Role", + "Id": "ReadOnly", + "Name": "User Role", + "Description": "ReadOnlyUser User Role", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureSelf" + ], + "OemPrivileges": [], + "@odata.id": "/redfish/v1/AccountService/Roles/ReadOnlyUser", + "@Redfish.Copyright": "Copyright 2015-2022 SNIA. All rights reserved." +} \ No newline at end of file diff --git a/Sunfish/AccountService/Roles/index.json b/Sunfish/AccountService/Roles/index.json new file mode 100644 index 0000000..5083b16 --- /dev/null +++ b/Sunfish/AccountService/Roles/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#RoleCollection.RoleCollection", + "Name": "Roles Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator" + }, + { + "@odata.id": "/redfish/v1/AccountService/Roles/Operator" + }, + { + "@odata.id": "/redfish/v1/AccountService/Roles/ReadOnlyUser" + } + ], + "@odata.id": "/redfish/v1/AccountService/Roles", + "@Redfish.Copyright": "Copyright 2015-2022 SNIA. All rights reserved." +} \ No newline at end of file diff --git a/Sunfish/AccountService/index.json b/Sunfish/AccountService/index.json new file mode 100644 index 0000000..4ab60c6 --- /dev/null +++ b/Sunfish/AccountService/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#AccountService.v1_2_0.AccountService", + "Id": "AccountService", + "Name": "Account Service", + "Description": "Account Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "AuthFailureLoggingThreshold": 3, + "MinPasswordLength": 8, + "AccountLockoutThreshold": 5, + "AccountLockoutDuration": 30, + "AccountLockoutCounterResetAfter": 30, + "Accounts": { + "@odata.id": "/redfish/v1/AccountService/Accounts" + }, + "Roles": { + "@odata.id": "/redfish/v1/AccountService/Roles" + }, + "@odata.id": "/redfish/v1/AccountService", + "@Redfish.Copyright": "Copyright 2015-2022 SNIA. All rights reserved." +} \ No newline at end of file diff --git a/Sunfish/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b/index.json b/Sunfish/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b/index.json new file mode 100644 index 0000000..0fd216c --- /dev/null +++ b/Sunfish/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b/index.json @@ -0,0 +1,139 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 SNIA. All rights reserved.", + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b", + "@odata.type": "#AggregationSource.v1_2_9ebb7904-5639-478e-9160-5ef0ec49720b.AggregationSource", + "HostName": "http://localhost:5001", + "Id": "9ebb7904-5639-478e-9160-5ef0ec49720b", + "Links": { + "ConnectionMethod": { + "@odata.id": "/redfish/v1/AggregationService/ConnectionMethods/CXL" + }, + "ResourcesAccessed": [ + "/redfish/v1/Fabrics/CXL", + "/redfish/v1/Fabrics/CXL/Connections", + "/redfish/v1/Fabrics/CXL/Connections/12", + "/redfish/v1/Chassis/PCXL2", + "/redfish/v1/Chassis/PCXL2/FabricAdapters", + "/redfish/v1/Chassis/PCXL2/FabricAdapters/1", + "/redfish/v1/Chassis/PCXL2/FabricAdapters/1/Ports", + "/redfish/v1/Chassis/PCXL2/FabricAdapters/1/Ports/1", + "/redfish/v1/Chassis/PCXL2/Memory", + "/redfish/v1/Chassis/PCXL2/Memory/HBM", + "/redfish/v1/Chassis/PCXL2/MemoryDomains", + "/redfish/v1/Chassis/PCXL2/MemoryDomains/1", + "/redfish/v1/Chassis/PCXL2/MemoryDomains/1/MemoryChunks", + "/redfish/v1/Chassis/PCXL2/MemoryDomains/1/MemoryChunks/1", + "/redfish/v1/Chassis/PCXL2/PCIeDevices", + "/redfish/v1/Chassis/PCXL2/PCIeDevices/1", + "/redfish/v1/Chassis/PCXL2/PCIeDevices/1/CXLLogicalDevices", + "/redfish/v1/Chassis/PCXL2/PCIeDevices/1/CXLLogicalDevices/1", + "/redfish/v1/Chassis/PCXL2/PCIeDevices/1/PCIeFunctions", + "/redfish/v1/Chassis/PCXL2/PCIeDevices/1/PCIeFunctions/1", + "/redfish/v1/Chassis/PCXL2/Processors", + "/redfish/v1/Chassis/PCXL2/Processors/GPU", + "/redfish/v1/Fabrics/CXL/Connections/13", + "/redfish/v1/Chassis/PCXL3", + "/redfish/v1/Chassis/PCXL3/FabricAdapters", + "/redfish/v1/Chassis/PCXL3/FabricAdapters/1", + "/redfish/v1/Chassis/PCXL3/FabricAdapters/1/Ports", + "/redfish/v1/Chassis/PCXL3/FabricAdapters/1/Ports/1", + "/redfish/v1/Chassis/PCXL3/Memory", + "/redfish/v1/Chassis/PCXL3/Memory/3DXP", + "/redfish/v1/Chassis/PCXL3/MemoryDomains", + "/redfish/v1/Chassis/PCXL3/MemoryDomains/1", + "/redfish/v1/Chassis/PCXL3/MemoryDomains/1/MemoryChunks", + "/redfish/v1/Chassis/PCXL3/MemoryDomains/1/MemoryChunks/1", + "/redfish/v1/Chassis/PCXL3/PCIeDevices", + "/redfish/v1/Chassis/PCXL3/PCIeDevices/1", + "/redfish/v1/Chassis/PCXL3/PCIeDevices/1/CXLLogicalDevices", + "/redfish/v1/Chassis/PCXL3/PCIeDevices/1/CXLLogicalDevices/1", + "/redfish/v1/Chassis/PCXL3/PCIeDevices/1/PCIeFunctions", + "/redfish/v1/Chassis/PCXL3/PCIeDevices/1/PCIeFunctions/1", + "/redfish/v1/Fabrics/CXL/Endpoints", + "/redfish/v1/Fabrics/CXL/Endpoints/1", + "/redfish/v1/Fabrics/CXL/Endpoints/I1", + "/redfish/v1/Fabrics/CXL/Endpoints/I2", + "/redfish/v1/Fabrics/CXL/Endpoints/I3", + "/redfish/v1/Fabrics/CXL/Endpoints/T1", + "/redfish/v1/Chassis/PCXL1", + "/redfish/v1/Chassis/PCXL1/FabricAdapters", + "/redfish/v1/Chassis/PCXL1/FabricAdapters/1", + "/redfish/v1/Chassis/PCXL1/FabricAdapters/1/Ports", + "/redfish/v1/Chassis/PCXL1/FabricAdapters/1/Ports/1", + "/redfish/v1/Chassis/PCXL1/PCIeDevices", + "/redfish/v1/Chassis/PCXL1/PCIeDevices/1", + "/redfish/v1/Chassis/PCXL1/PCIeDevices/1/CXLLogicalDevices", + "/redfish/v1/Chassis/PCXL1/PCIeDevices/1/CXLLogicalDevices/1", + "/redfish/v1/Chassis/PCXL1/PCIeDevices/1/PCIeFunctions", + "/redfish/v1/Chassis/PCXL1/PCIeDevices/1/PCIeFunctions/1", + "/redfish/v1/Chassis/PCXL1/Processors", + "/redfish/v1/Chassis/PCXL1/Processors/FPGA", + "/redfish/v1/Fabrics/CXL/Endpoints/T2", + "/redfish/v1/Fabrics/CXL/Endpoints/T3", + "/redfish/v1/Fabrics/CXL/Switches", + "/redfish/v1/Fabrics/CXL/Switches/CXL", + "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports", + "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/D1", + "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/D2", + "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/D3", + "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/U1", + "/redfish/v1/Fabrics/CXL/Zones", + "/redfish/v1/Fabrics/CXL/Zones/1", + "/redfish/v1/Fabrics/CXL/Zones/2", + "/redfish/v1/Fabrics/CXL/Zones/3", + "/redfish/v1/Systems/CXL-System", + "/redfish/v1/Chassis/CXL-Chassis", + "/redfish/v1/Chassis/CXL1", + "/redfish/v1/Chassis/CXL1/PCIeDevices", + "/redfish/v1/Chassis/CXL1/PCIeDevices/1", + "/redfish/v1/Chassis/CXL1/PCIeDevices/1/CXLLogicalDevices", + "/redfish/v1/Chassis/CXL1/PCIeDevices/1/CXLLogicalDevices/1", + "/redfish/v1/Chassis/CXL1/PCIeDevices/1/PCIeFunctions", + "/redfish/v1/Chassis/CXL1/PCIeDevices/1/PCIeFunctions/1", + "/redfish/v1/Chassis/CXL1/Processors", + "/redfish/v1/Chassis/CXL1/Processors/FPGA", + "/redfish/v1/Chassis/CXL2", + "/redfish/v1/Chassis/CXL2/Memory", + "/redfish/v1/Chassis/CXL2/Memory/HBM", + "/redfish/v1/Chassis/CXL2/MemoryDomains", + "/redfish/v1/Chassis/CXL2/MemoryDomains/1", + "/redfish/v1/Chassis/CXL2/MemoryDomains/1/MemoryChunks", + "/redfish/v1/Chassis/CXL2/MemoryDomains/1/MemoryChunks/1", + "/redfish/v1/Chassis/CXL2/PCIeDevices", + "/redfish/v1/Chassis/CXL2/PCIeDevices/1", + "/redfish/v1/Chassis/CXL2/PCIeDevices/1/CXLLogicalDevices", + "/redfish/v1/Chassis/CXL2/PCIeDevices/1/CXLLogicalDevices/1", + "/redfish/v1/Chassis/CXL2/PCIeDevices/1/PCIeFunctions", + "/redfish/v1/Chassis/CXL2/PCIeDevices/1/PCIeFunctions/1", + "/redfish/v1/Chassis/CXL2/Processors", + "/redfish/v1/Chassis/CXL2/Processors/GPU", + "/redfish/v1/Chassis/CXL3", + "/redfish/v1/Chassis/CXL3/Memory", + "/redfish/v1/Chassis/CXL3/Memory/3DXP", + "/redfish/v1/Chassis/CXL3/MemoryDomains", + "/redfish/v1/Chassis/CXL3/MemoryDomains/1", + "/redfish/v1/Chassis/CXL3/MemoryDomains/1/MemoryChunks", + "/redfish/v1/Chassis/CXL3/MemoryDomains/1/MemoryChunks/1", + "/redfish/v1/Chassis/CXL3/PCIeDevices", + "/redfish/v1/Chassis/CXL3/PCIeDevices/1", + "/redfish/v1/Chassis/CXL3/PCIeDevices/1/CXLLogicalDevices", + "/redfish/v1/Chassis/CXL3/PCIeDevices/1/CXLLogicalDevices/1", + "/redfish/v1/Chassis/CXL3/PCIeDevices/1/PCIeFunctions", + "/redfish/v1/Chassis/CXL3/PCIeDevices/1/PCIeFunctions/1", + "/redfish/v1/Systems/CXL-System/Memory", + "/redfish/v1/Systems/CXL-System/Memory/CXL2", + "/redfish/v1/Systems/CXL-System/Memory/CXL3", + "/redfish/v1/Systems/CXL-System/Memory/RCXL2", + "/redfish/v1/Systems/CXL-System/Memory/RCXL3", + "/redfish/v1/Systems/CXL-System/MemoryDomains", + "/redfish/v1/Systems/CXL-System/MemoryDomains/CXL", + "/redfish/v1/Systems/CXL-System/MemoryDomains/CXL/MemoryChunks", + "/redfish/v1/Systems/CXL-System/MemoryDomains/CXL/MemoryChunks/1", + "/redfish/v1/Systems/CXL-System/Processors", + "/redfish/v1/Systems/CXL-System/Processors/CPU", + "/redfish/v1/Systems/CXL-System/Processors/CPU/Ports", + "/redfish/v1/Systems/CXL-System/Processors/CPU/Ports/1" + ] + }, + "Name": "Agent 9ebb7904-5639-478e-9160-5ef0ec49720b" +} \ No newline at end of file diff --git a/Sunfish/AggregationService/AggregationSources/index.json b/Sunfish/AggregationService/AggregationSources/index.json new file mode 100644 index 0000000..572c192 --- /dev/null +++ b/Sunfish/AggregationService/AggregationSources/index.json @@ -0,0 +1,12 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 SNIA. All rights reserved.", + "@odata.id": "/redfish/v1/AggregationService/AggregationSources", + "@odata.type": "#AggregationSourceCollection.AggregationSourceCollection", + "Members": [ + { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + ], + "Members@odata.count": 1, + "Name": "AggregationSource Collection" +} \ No newline at end of file diff --git a/Sunfish/AggregationService/ConnectionMethods/CXL/index.json b/Sunfish/AggregationService/ConnectionMethods/CXL/index.json new file mode 100644 index 0000000..6ab5932 --- /dev/null +++ b/Sunfish/AggregationService/ConnectionMethods/CXL/index.json @@ -0,0 +1,11 @@ +{ + "@odata.id": "/redfish/v1/AggregationService/ConnectionMethods/CXL", + "@odata.type": "#ConnectionMethod.v1_1_0.ConnectionMethod", + "ConnectionMethodType": "Redfish", + "ConnectionMethodVariant": "Contoso", + "Id": "NVMeoF", + "Links": { + "AggregationSources": [] + }, + "Name": "ConnectionMethod for Agent CXL" +} \ No newline at end of file diff --git a/Sunfish/AggregationService/ConnectionMethods/index.json b/Sunfish/AggregationService/ConnectionMethods/index.json new file mode 100644 index 0000000..4f94a26 --- /dev/null +++ b/Sunfish/AggregationService/ConnectionMethods/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ConnectionMethodCollection.ConnectionMethodCollection", + "Name": "ConnectionMethod Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/AggregationService/ConnectionMethods/CXL" + } + ], + "@odata.id": "/redfish/v1/ConnectionMethods", + "@Redfish.Copyright": "Copyright 2015-2022 SNIA. All rights reserved." +} \ No newline at end of file diff --git a/Sunfish/AggregationService/index.json b/Sunfish/AggregationService/index.json new file mode 100644 index 0000000..7cb8dc5 --- /dev/null +++ b/Sunfish/AggregationService/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#AggregationService.v1_0_1.AggregationService", + "Id": "AggregationService", + "Name": "Aggregation Service", + "Description": "Open Fabric Manager Aggregation Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "@odata.id": "/redfish/v1/AggregationService", + "@Redfish.Copyright": "Copyright 2023 OpenFabrics Alliance. All rights reserved.", + "AggregationSource": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources" + } +} diff --git a/Sunfish/Chassis/CXL-Chassis/index.json b/Sunfish/Chassis/CXL-Chassis/index.json new file mode 100644 index 0000000..2027b76 --- /dev/null +++ b/Sunfish/Chassis/CXL-Chassis/index.json @@ -0,0 +1,40 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Chassis/CXL-Chassis", + "@odata.type": "#Chassis.v1_20_0.Chassis", + "ChassisType": "Blade", + "Id": "CXL-Chassis", + "Links": { + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/CXL-System" + } + ], + "Contains": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL1" + }, + { + "@odata.id": "/redfish/v1/Chassis/CXL2" + }, + { + "@odata.id": "/redfish/v1/Chassis/CXL3" + } + ] + }, + "Name": "CXL System chassis containig CXL cards", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + }, + "PowerState": "On", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + } +} \ No newline at end of file diff --git a/Sunfish/Chassis/CXL1/PCIeDevices/1/CXLLogicalDevices/1/index.json b/Sunfish/Chassis/CXL1/PCIeDevices/1/CXLLogicalDevices/1/index.json new file mode 100644 index 0000000..ae0affc --- /dev/null +++ b/Sunfish/Chassis/CXL1/PCIeDevices/1/CXLLogicalDevices/1/index.json @@ -0,0 +1,42 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Chassis/CXL1/PCIeDevices/1/CXLLogicalDevices/1", + "@odata.type": "#CXLLogicalDevice.v1_0_0.CXLLogicalDevice", + "CXLSemanticsSupported": [ + "CXLio", + "CXLcache" + ], + "Description": "Locally attached CXL Logical Device Type 1", + "Id": "1", + "Identifiers": [ + { + "DurableName": "4C-1D-96-FF-FE-DD-D8-35:1", + "DurableNameFormat": "GCXLID" + } + ], + "Links": { + "Oem": {}, + "PCIeDevice": { + "@odata.id": "/redfish/v1/Chassis/CXL1/PCIeDevices/1" + }, + "PCIeFunctions": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL1/PCIeDevices/1/PCIeFunctions/1" + } + ] + }, + "Name": "CXL Logical Device Type 1", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + }, + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + } +} \ No newline at end of file diff --git a/Sunfish/Chassis/CXL1/PCIeDevices/1/CXLLogicalDevices/index.json b/Sunfish/Chassis/CXL1/PCIeDevices/1/CXLLogicalDevices/index.json new file mode 100644 index 0000000..5817d72 --- /dev/null +++ b/Sunfish/Chassis/CXL1/PCIeDevices/1/CXLLogicalDevices/index.json @@ -0,0 +1,11 @@ +{ + "@odata.id": "/redfish/v1/Chassis/CXL1/PCIeDevices/1/CXLLogicalDevices", + "@odata.type": "#Chassis/CXL1/PCIeDevices/1/CXLLogicalDevicesCollection.Chassis/CXL1/PCIeDevices/1/CXLLogicalDevicesCollection", + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL1/PCIeDevices/1/CXLLogicalDevices/1" + } + ], + "Members@odata.count": 1, + "Name": "Chassis/CXL1/PCIeDevices/1/CXLLogicalDevices Collection" +} \ No newline at end of file diff --git a/Sunfish/Chassis/CXL1/PCIeDevices/1/PCIeFunctions/1/index.json b/Sunfish/Chassis/CXL1/PCIeDevices/1/PCIeFunctions/1/index.json new file mode 100644 index 0000000..4c4c667 --- /dev/null +++ b/Sunfish/Chassis/CXL1/PCIeDevices/1/PCIeFunctions/1/index.json @@ -0,0 +1,44 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Chassis/CXL1/PCIeDevices/1/PCIeFunctions/1", + "@odata.type": "#PCIeFunction.v1_4_0.PCIeFunction", + "ClassCode": "0x0B4000", + "Description": "PCIe Function with CXL extensions representing FPGA", + "DeviceClass": "Processor", + "DeviceId": "0xABCD", + "FunctionId": 1, + "FunctionProtocol": "CXL", + "FunctionType": "Physical", + "Id": "1", + "Links": { + "CXLLogicalDevice": { + "@odata.id": "/redfish/v1/Chassis/CXL1/PCIeDevices/1/CXLLogicalDevices/1" + }, + "PCIeDevice": { + "@odata.id": "/redfish/v1/Chassis/CXL1/PCIeDevices/1" + }, + "Processors": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL1/Processors/FPGA" + } + ] + }, + "Name": "CXL Function", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + }, + "RevisionId": "0x00", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "SubsystemId": "0xABCD", + "SubsystemVendorId": "0xABCD", + "VendorId": "0xABCD" +} \ No newline at end of file diff --git a/Sunfish/Chassis/CXL1/PCIeDevices/1/PCIeFunctions/index.json b/Sunfish/Chassis/CXL1/PCIeDevices/1/PCIeFunctions/index.json new file mode 100644 index 0000000..6326091 --- /dev/null +++ b/Sunfish/Chassis/CXL1/PCIeDevices/1/PCIeFunctions/index.json @@ -0,0 +1,11 @@ +{ + "@odata.id": "/redfish/v1/Chassis/CXL1/PCIeDevices/1/PCIeFunctions", + "@odata.type": "#Chassis/CXL1/PCIeDevices/1/PCIeFunctionsCollection.Chassis/CXL1/PCIeDevices/1/PCIeFunctionsCollection", + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL1/PCIeDevices/1/PCIeFunctions/1" + } + ], + "Members@odata.count": 1, + "Name": "Chassis/CXL1/PCIeDevices/1/PCIeFunctions Collection" +} \ No newline at end of file diff --git a/Sunfish/Chassis/CXL1/PCIeDevices/1/index.json b/Sunfish/Chassis/CXL1/PCIeDevices/1/index.json new file mode 100644 index 0000000..b9c2c54 --- /dev/null +++ b/Sunfish/Chassis/CXL1/PCIeDevices/1/index.json @@ -0,0 +1,47 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Chassis/CXL1/PCIeDevices/1", + "@odata.type": "#PCIeDevice.v1_10_0.PCIeDevice", + "CXLDevice": { + "CapableProtocolVersion": "V2_0", + "CurrentProtocolVersion": "V2_0", + "DeviceType": "Type1", + "MultiLogicalDevice": false + }, + "CXLLogicalDevices": { + "@odata.id": "/redfish/v1/Chassis/CXL1/PCIeDevices/1/CXLLogicalDevices" + }, + "Description": "CXL Physcial Device Type 1", + "Id": "1", + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL1" + } + ], + "Oem": {} + }, + "Name": "CXL Device", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + }, + "PCIeFunctions": { + "@odata.id": "/redfish/v1/Chassis/CXL1/PCIeDevices/1/PCIeFunctions" + }, + "PCIeInterface": { + "LanesInUse": 8, + "MaxLanes": 16, + "MaxPCIeType": "Gen5", + "PCIeType": "Gen5" + }, + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + } +} \ No newline at end of file diff --git a/Sunfish/Chassis/CXL1/PCIeDevices/index.json b/Sunfish/Chassis/CXL1/PCIeDevices/index.json new file mode 100644 index 0000000..84ee96c --- /dev/null +++ b/Sunfish/Chassis/CXL1/PCIeDevices/index.json @@ -0,0 +1,11 @@ +{ + "@odata.id": "/redfish/v1/Chassis/CXL1/PCIeDevices", + "@odata.type": "#Chassis/CXL1/PCIeDevicesCollection.Chassis/CXL1/PCIeDevicesCollection", + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL1/PCIeDevices/1" + } + ], + "Members@odata.count": 1, + "Name": "Chassis/CXL1/PCIeDevices Collection" +} \ No newline at end of file diff --git a/Sunfish/Chassis/CXL1/Processors/FPGA/index.json b/Sunfish/Chassis/CXL1/Processors/FPGA/index.json new file mode 100644 index 0000000..5f1c084 --- /dev/null +++ b/Sunfish/Chassis/CXL1/Processors/FPGA/index.json @@ -0,0 +1,45 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Chassis/CXL1/Processors/FPGA", + "@odata.type": "#Processor.v1_15_0.Processor", + "Description": "FPGA with cache", + "Id": "FPGA", + "Links": { + "ConnectedProcessors": [ + { + "@odata.id": "/redfish/v1/Systems/CXL-System/Processors/CPU" + } + ], + "PCIeFunctions": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL1/PCIeDevices/1/PCIeFunctions/1" + } + ] + }, + "MemorySummary": { + "TotalCacheSizeMiB": 64, + "TotalMemorySizeMiB": 0 + }, + "Name": "FPGA with cache", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + }, + "ProcessorMemory": [ + { + "CapacityMiB": 64, + "IntegratedMemory": true, + "MemoryType": "Cache" + } + ], + "ProcessorType": "FPGA", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + } +} \ No newline at end of file diff --git a/Sunfish/Chassis/CXL1/Processors/index.json b/Sunfish/Chassis/CXL1/Processors/index.json new file mode 100644 index 0000000..2308b04 --- /dev/null +++ b/Sunfish/Chassis/CXL1/Processors/index.json @@ -0,0 +1,11 @@ +{ + "@odata.id": "/redfish/v1/Chassis/CXL1/Processors", + "@odata.type": "#Chassis/CXL1/ProcessorsCollection.Chassis/CXL1/ProcessorsCollection", + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL1/Processors/FPGA" + } + ], + "Members@odata.count": 1, + "Name": "Chassis/CXL1/Processors Collection" +} \ No newline at end of file diff --git a/Sunfish/Chassis/CXL1/index.json b/Sunfish/Chassis/CXL1/index.json new file mode 100644 index 0000000..c8ab5e6 --- /dev/null +++ b/Sunfish/Chassis/CXL1/index.json @@ -0,0 +1,32 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Chassis/CXL1", + "@odata.type": "#Chassis.v1_20_0.Chassis", + "ChassisType": "Module", + "Id": "CXL1", + "Links": { + "ContainedBy": { + "@odata.id": "/redfish/v1/Chassis/CXL-Chassis" + } + }, + "Name": "CXL Device Type 1 module", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + }, + "PCIeDevices": { + "@odata.id": "/redfish/v1/Chassis/CXL1/PCIeDevices" + }, + "Processors": { + "@odata.id": "/redfish/v1/Chassis/CXL1/Processors" + }, + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + } +} \ No newline at end of file diff --git a/Sunfish/Chassis/CXL2/Memory/HBM/index.json b/Sunfish/Chassis/CXL2/Memory/HBM/index.json new file mode 100644 index 0000000..56aba22 --- /dev/null +++ b/Sunfish/Chassis/CXL2/Memory/HBM/index.json @@ -0,0 +1,34 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Chassis/CXL2/Memory/HBM", + "@odata.type": "#Memory.v1_15_0.Memory", + "CapacityMiB": 16384, + "Id": "HBM", + "Links": { + "Processors": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL2/Processors/GPU" + } + ] + }, + "MemoryDeviceType": "HBM2", + "MemoryMedia": [ + "DRAM" + ], + "MemoryType": "DRAM", + "Name": "HBM memory", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + }, + "OperatingSpeedMhz": 1333, + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + } +} \ No newline at end of file diff --git a/Sunfish/Chassis/CXL2/Memory/index.json b/Sunfish/Chassis/CXL2/Memory/index.json new file mode 100644 index 0000000..f648f85 --- /dev/null +++ b/Sunfish/Chassis/CXL2/Memory/index.json @@ -0,0 +1,11 @@ +{ + "@odata.id": "/redfish/v1/Chassis/CXL2/Memory", + "@odata.type": "#Chassis/CXL2/MemoryCollection.Chassis/CXL2/MemoryCollection", + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL2/Memory/HBM" + } + ], + "Members@odata.count": 1, + "Name": "Chassis/CXL2/Memory Collection" +} \ No newline at end of file diff --git a/Sunfish/Chassis/CXL2/MemoryDomains/1/MemoryChunks/1/index.json b/Sunfish/Chassis/CXL2/MemoryDomains/1/MemoryChunks/1/index.json new file mode 100644 index 0000000..1d71c86 --- /dev/null +++ b/Sunfish/Chassis/CXL2/MemoryDomains/1/MemoryChunks/1/index.json @@ -0,0 +1,32 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Chassis/CXL2/MemoryDomains/1/MemoryChunks/1", + "@odata.type": "#MemoryChunks.v1_5_0.MemoryChunks", + "AddressRangeOffsetMiB": 1024, + "AddressRangeType": "Volatile", + "Description": "Memory chunk accessible through CXL", + "Id": "1", + "Links": { + "CXLLogicalDevices": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL2/PCIeDevices/1/CXLLogicalDevices/1" + } + ] + }, + "MediaLocation": "Local", + "MemoryChunkSizeMiB": 4096, + "Name": "Memory Chunk 1", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + }, + "OperationalState": "Online", + "Status": { + "Health": "OK", + "State": "Enabled" + } +} \ No newline at end of file diff --git a/Sunfish/Chassis/CXL2/MemoryDomains/1/MemoryChunks/index.json b/Sunfish/Chassis/CXL2/MemoryDomains/1/MemoryChunks/index.json new file mode 100644 index 0000000..a5e8be5 --- /dev/null +++ b/Sunfish/Chassis/CXL2/MemoryDomains/1/MemoryChunks/index.json @@ -0,0 +1,11 @@ +{ + "@odata.id": "/redfish/v1/Chassis/CXL2/MemoryDomains/1/MemoryChunks", + "@odata.type": "#Chassis/CXL2/MemoryDomains/1/MemoryChunksCollection.Chassis/CXL2/MemoryDomains/1/MemoryChunksCollection", + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL2/MemoryDomains/1/MemoryChunks/1" + } + ], + "Members@odata.count": 1, + "Name": "Chassis/CXL2/MemoryDomains/1/MemoryChunks Collection" +} \ No newline at end of file diff --git a/Sunfish/Chassis/CXL2/MemoryDomains/1/index.json b/Sunfish/Chassis/CXL2/MemoryDomains/1/index.json new file mode 100644 index 0000000..b8de9c4 --- /dev/null +++ b/Sunfish/Chassis/CXL2/MemoryDomains/1/index.json @@ -0,0 +1,43 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Chassis/CXL2/MemoryDomains/1", + "@odata.type": "#MemoryDomain.v1_4_0.MemoryDomain", + "AllowsMemoryChunkCreation": true, + "Description": "GPU HBM Memory Domain accessible through CXL", + "Id": "1", + "InterleavableMemorySets": [ + { + "MemorySet": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL2/Memory/HBM" + } + ] + } + ], + "Links": { + "CXLLogicalDevices": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL2/PCIeDevices/1/CXLLogicalDevices/1" + } + ] + }, + "MemoryChunkIncrementMiB": 64, + "MemoryChunks": { + "@odata.id": "/redfish/v1/Chassis/CXL2/MemoryDomains/1/MemoryChunks" + }, + "MinMemoryChunkSizeMiB": 64, + "Name": "GPU HBM Memory Domain", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + }, + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + } +} \ No newline at end of file diff --git a/Sunfish/Chassis/CXL2/MemoryDomains/index.json b/Sunfish/Chassis/CXL2/MemoryDomains/index.json new file mode 100644 index 0000000..60142f4 --- /dev/null +++ b/Sunfish/Chassis/CXL2/MemoryDomains/index.json @@ -0,0 +1,11 @@ +{ + "@odata.id": "/redfish/v1/Chassis/CXL2/MemoryDomains", + "@odata.type": "#Chassis/CXL2/MemoryDomainsCollection.Chassis/CXL2/MemoryDomainsCollection", + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL2/MemoryDomains/1" + } + ], + "Members@odata.count": 1, + "Name": "Chassis/CXL2/MemoryDomains Collection" +} \ No newline at end of file diff --git a/Sunfish/Chassis/CXL2/PCIeDevices/1/CXLLogicalDevices/1/index.json b/Sunfish/Chassis/CXL2/PCIeDevices/1/CXLLogicalDevices/1/index.json new file mode 100644 index 0000000..4f744ae --- /dev/null +++ b/Sunfish/Chassis/CXL2/PCIeDevices/1/CXLLogicalDevices/1/index.json @@ -0,0 +1,53 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Chassis/CXL2/PCIeDevices/1/CXLLogicalDevices/1", + "@odata.type": "#CXLLogicalDevice.v1_0_0.CXLLogicalDevice", + "CXLSemanticsSupported": [ + "CXLio", + "CXLcache", + "CXLmem" + ], + "Description": "Locally attached CXL Logical Device Type 2", + "Id": "1", + "Identifiers": [ + { + "DurableName": "4C-1D-96-FF-FE-DD-D8-35:1", + "DurableNameFormat": "GCXLID" + } + ], + "Links": { + "MemoryChunks": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL2/MemoryDomains/1/MemoryChunks/1" + } + ], + "MemoryDomains": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL2/MemoryDomains/1" + } + ], + "Oem": {}, + "PCIeDevice": { + "@odata.id": "/redfish/v1/Chassis/CXL2/PCIeDevices/1" + }, + "PCIeFunctions": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL2/PCIeDevices/1/PCIeFunctions/1" + } + ] + }, + "Name": "CXL Logical Device Type 2", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + }, + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + } +} \ No newline at end of file diff --git a/Sunfish/Chassis/CXL2/PCIeDevices/1/CXLLogicalDevices/index.json b/Sunfish/Chassis/CXL2/PCIeDevices/1/CXLLogicalDevices/index.json new file mode 100644 index 0000000..799751f --- /dev/null +++ b/Sunfish/Chassis/CXL2/PCIeDevices/1/CXLLogicalDevices/index.json @@ -0,0 +1,11 @@ +{ + "@odata.id": "/redfish/v1/Chassis/CXL2/PCIeDevices/1/CXLLogicalDevices", + "@odata.type": "#Chassis/CXL2/PCIeDevices/1/CXLLogicalDevicesCollection.Chassis/CXL2/PCIeDevices/1/CXLLogicalDevicesCollection", + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL2/PCIeDevices/1/CXLLogicalDevices/1" + } + ], + "Members@odata.count": 1, + "Name": "Chassis/CXL2/PCIeDevices/1/CXLLogicalDevices Collection" +} \ No newline at end of file diff --git a/Sunfish/Chassis/CXL2/PCIeDevices/1/PCIeFunctions/1/index.json b/Sunfish/Chassis/CXL2/PCIeDevices/1/PCIeFunctions/1/index.json new file mode 100644 index 0000000..548e153 --- /dev/null +++ b/Sunfish/Chassis/CXL2/PCIeDevices/1/PCIeFunctions/1/index.json @@ -0,0 +1,44 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Chassis/CXL2/PCIeDevices/1/PCIeFunctions/1", + "@odata.type": "#PCIeFunction.v1_4_0.PCIeFunction", + "ClassCode": "0x120000", + "Description": "PCIe Function with CXL extensions representing GPU", + "DeviceClass": "ProcessingAccelerators", + "DeviceId": "0xABCD", + "FunctionId": 1, + "FunctionProtocol": "CXL", + "FunctionType": "Physical", + "Id": "1", + "Links": { + "CXLLogicalDevice": { + "@odata.id": "/redfish/v1/Chassis/CXL2/PCIeDevices/1/CXLLogicalDevices/1" + }, + "PCIeDevice": { + "@odata.id": "/redfish/v1/Chassis/CXL2/PCIeDevices/1" + }, + "Processors": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL2/Processors/GPU" + } + ] + }, + "Name": "CXL Function", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + }, + "RevisionId": "0x00", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "SubsystemId": "0xABCD", + "SubsystemVendorId": "0xABCD", + "VendorId": "0xABCD" +} \ No newline at end of file diff --git a/Sunfish/Chassis/CXL2/PCIeDevices/1/PCIeFunctions/index.json b/Sunfish/Chassis/CXL2/PCIeDevices/1/PCIeFunctions/index.json new file mode 100644 index 0000000..18c8f9b --- /dev/null +++ b/Sunfish/Chassis/CXL2/PCIeDevices/1/PCIeFunctions/index.json @@ -0,0 +1,11 @@ +{ + "@odata.id": "/redfish/v1/Chassis/CXL2/PCIeDevices/1/PCIeFunctions", + "@odata.type": "#Chassis/CXL2/PCIeDevices/1/PCIeFunctionsCollection.Chassis/CXL2/PCIeDevices/1/PCIeFunctionsCollection", + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL2/PCIeDevices/1/PCIeFunctions/1" + } + ], + "Members@odata.count": 1, + "Name": "Chassis/CXL2/PCIeDevices/1/PCIeFunctions Collection" +} \ No newline at end of file diff --git a/Sunfish/Chassis/CXL2/PCIeDevices/1/index.json b/Sunfish/Chassis/CXL2/PCIeDevices/1/index.json new file mode 100644 index 0000000..3ee9bb9 --- /dev/null +++ b/Sunfish/Chassis/CXL2/PCIeDevices/1/index.json @@ -0,0 +1,47 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Chassis/CXL2/PCIeDevices/1", + "@odata.type": "#PCIeDevice.v1_10_0.PCIeDevice", + "CXLDevice": { + "CapableProtocolVersion": "V2_0", + "CurrentProtocolVersion": "V2_0", + "DeviceType": "Type2", + "MultiLogicalDevice": false + }, + "CXLLogicalDevices": { + "@odata.id": "/redfish/v1/Chassis/CXL2/PCIeDevices/1/CXLLogicalDevices" + }, + "Description": "CXL Physcial Device Type 2", + "Id": "1", + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL2" + } + ], + "Oem": {} + }, + "Name": "CXL Device", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + }, + "PCIeFunctions": { + "@odata.id": "/redfish/v1/Chassis/CXL2/PCIeDevices/1/PCIeFunctions" + }, + "PCIeInterface": { + "LanesInUse": 8, + "MaxLanes": 16, + "MaxPCIeType": "Gen5", + "PCIeType": "Gen5" + }, + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + } +} \ No newline at end of file diff --git a/Sunfish/Chassis/CXL2/PCIeDevices/index.json b/Sunfish/Chassis/CXL2/PCIeDevices/index.json new file mode 100644 index 0000000..384ae0c --- /dev/null +++ b/Sunfish/Chassis/CXL2/PCIeDevices/index.json @@ -0,0 +1,11 @@ +{ + "@odata.id": "/redfish/v1/Chassis/CXL2/PCIeDevices", + "@odata.type": "#Chassis/CXL2/PCIeDevicesCollection.Chassis/CXL2/PCIeDevicesCollection", + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL2/PCIeDevices/1" + } + ], + "Members@odata.count": 1, + "Name": "Chassis/CXL2/PCIeDevices Collection" +} \ No newline at end of file diff --git a/Sunfish/Chassis/CXL2/Processors/GPU/index.json b/Sunfish/Chassis/CXL2/Processors/GPU/index.json new file mode 100644 index 0000000..386b4b7 --- /dev/null +++ b/Sunfish/Chassis/CXL2/Processors/GPU/index.json @@ -0,0 +1,56 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Chassis/CXL2/Processors/GPU", + "@odata.type": "#Processor.v1_15_0.Processor", + "Description": "GPU with cache and HBM memory", + "Id": "GPU", + "Links": { + "ConnectedProcessors": [ + { + "@odata.id": "/redfish/v1/Systems/CXL-System/Processors/CPU" + } + ], + "Memory": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL2/Memory/HBM" + } + ], + "PCIeFunctions": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL2/PCIeDevices/1/PCIeFunctions/1" + } + ] + }, + "MemorySummary": { + "TotalCacheSizeMiB": 64, + "TotalMemorySizeMiB": 16384 + }, + "Name": "GPU with HBM memory", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + }, + "ProcessorMemory": [ + { + "CapacityMiB": 16384, + "IntegratedMemory": false, + "MemoryType": "HBM2", + "SpeedMHz": 1033 + }, + { + "CapacityMiB": 64, + "IntegratedMemory": true, + "MemoryType": "Cache" + } + ], + "ProcessorType": "GPU", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + } +} \ No newline at end of file diff --git a/Sunfish/Chassis/CXL2/Processors/index.json b/Sunfish/Chassis/CXL2/Processors/index.json new file mode 100644 index 0000000..206ab1f --- /dev/null +++ b/Sunfish/Chassis/CXL2/Processors/index.json @@ -0,0 +1,11 @@ +{ + "@odata.id": "/redfish/v1/Chassis/CXL2/Processors", + "@odata.type": "#Chassis/CXL2/ProcessorsCollection.Chassis/CXL2/ProcessorsCollection", + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL2/Processors/GPU" + } + ], + "Members@odata.count": 1, + "Name": "Chassis/CXL2/Processors Collection" +} \ No newline at end of file diff --git a/Sunfish/Chassis/CXL2/index.json b/Sunfish/Chassis/CXL2/index.json new file mode 100644 index 0000000..5d9bc94 --- /dev/null +++ b/Sunfish/Chassis/CXL2/index.json @@ -0,0 +1,39 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Chassis/CXL2", + "@odata.type": "#Chassis.v1_20_0.Chassis", + "ChassisType": "Module", + "Id": "CXL2", + "Links": { + "ContainedBy": { + "@odata.id": "/redfish/v1/Chassis/CXL-Chassis" + } + }, + "Memory": { + "@odata.id": "/redfish/v1/Chassis/CXL2/Memory" + }, + "MemoryDomains": { + "@odata.id": "/redfish/v1/Chassis/CXL2/MemoryDomains" + }, + "Name": "CXL Device Type 2 module", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + }, + "PCIeDevices": { + "@odata.id": "/redfish/v1/Chassis/CXL2/PCIeDevices" + }, + "PowerState": "On", + "Processors": { + "@odata.id": "/redfish/v1/Chassis/CXL2/Processors" + }, + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + } +} \ No newline at end of file diff --git a/Sunfish/Chassis/CXL3/Memory/3DXP/index.json b/Sunfish/Chassis/CXL3/Memory/3DXP/index.json new file mode 100644 index 0000000..bb1ec58 --- /dev/null +++ b/Sunfish/Chassis/CXL3/Memory/3DXP/index.json @@ -0,0 +1,26 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Chassis/CXL3/Memory/3DXP", + "@odata.type": "#Memory.v1_15_0.Memory", + "CapacityMiB": 16384, + "Id": "3DXP", + "MemoryMedia": [ + "Intel3DXPoint" + ], + "MemoryType": "IntelOptane", + "Name": "3DXP memory", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + }, + "OperatingSpeedMhz": 1333, + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + } +} \ No newline at end of file diff --git a/Sunfish/Chassis/CXL3/Memory/index.json b/Sunfish/Chassis/CXL3/Memory/index.json new file mode 100644 index 0000000..ca00f72 --- /dev/null +++ b/Sunfish/Chassis/CXL3/Memory/index.json @@ -0,0 +1,11 @@ +{ + "@odata.id": "/redfish/v1/Chassis/CXL3/Memory", + "@odata.type": "#Chassis/CXL3/MemoryCollection.Chassis/CXL3/MemoryCollection", + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL3/Memory/3DXP" + } + ], + "Members@odata.count": 1, + "Name": "Chassis/CXL3/Memory Collection" +} \ No newline at end of file diff --git a/Sunfish/Chassis/CXL3/MemoryDomains/1/MemoryChunks/1/index.json b/Sunfish/Chassis/CXL3/MemoryDomains/1/MemoryChunks/1/index.json new file mode 100644 index 0000000..a9db623 --- /dev/null +++ b/Sunfish/Chassis/CXL3/MemoryDomains/1/MemoryChunks/1/index.json @@ -0,0 +1,32 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Chassis/CXL3/MemoryDomains/1/MemoryChunks/1", + "@odata.type": "#MemoryChunks.v1_5_0.MemoryChunks", + "AddressRangeOffsetMiB": 1024, + "AddressRangeType": "PMEM", + "Description": "Memory chunk accessible through CXL", + "Id": "1", + "Links": { + "CXLLogicalDevices": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL3/PCIeDevices/1/CXLLogicalDevices/1" + } + ] + }, + "MediaLocation": "Local", + "MemoryChunkSizeMiB": 4096, + "Name": "Memory Chunk 1", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + }, + "OperationalState": "Online", + "Status": { + "Health": "OK", + "State": "Enabled" + } +} \ No newline at end of file diff --git a/Sunfish/Chassis/CXL3/MemoryDomains/1/MemoryChunks/index.json b/Sunfish/Chassis/CXL3/MemoryDomains/1/MemoryChunks/index.json new file mode 100644 index 0000000..8011c2e --- /dev/null +++ b/Sunfish/Chassis/CXL3/MemoryDomains/1/MemoryChunks/index.json @@ -0,0 +1,11 @@ +{ + "@odata.id": "/redfish/v1/Chassis/CXL3/MemoryDomains/1/MemoryChunks", + "@odata.type": "#Chassis/CXL3/MemoryDomains/1/MemoryChunksCollection.Chassis/CXL3/MemoryDomains/1/MemoryChunksCollection", + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL3/MemoryDomains/1/MemoryChunks/1" + } + ], + "Members@odata.count": 1, + "Name": "Chassis/CXL3/MemoryDomains/1/MemoryChunks Collection" +} \ No newline at end of file diff --git a/Sunfish/Chassis/CXL3/MemoryDomains/1/index.json b/Sunfish/Chassis/CXL3/MemoryDomains/1/index.json new file mode 100644 index 0000000..71ecfa8 --- /dev/null +++ b/Sunfish/Chassis/CXL3/MemoryDomains/1/index.json @@ -0,0 +1,48 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Chassis/CXL3/MemoryDomains/1", + "@odata.type": "#MemoryDomain.v1_4_0.MemoryDomain", + "AllowsMemoryChunkCreation": true, + "Description": "3DXP Memory Domain accessible through CXL", + "Id": "1", + "InterleavableMemorySets": [ + { + "MemorySet": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL3/Memory/3DXP" + } + ] + } + ], + "Links": { + "CXLLogicalDevices": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL3/PCIeDevices/1/CXLLogicalDevices/1" + } + ], + "PCIeFunctions": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL3/PCIeDevices/1/PCIeFunctions/1" + } + ] + }, + "MemoryChunkIncrementMiB": 64, + "MemoryChunks": { + "@odata.id": "/redfish/v1/Chassis/CXL3/MemoryDomains/1/MemoryChunks" + }, + "MinMemoryChunkSizeMiB": 64, + "Name": "CXL 3DXP Memory Domain", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + }, + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + } +} \ No newline at end of file diff --git a/Sunfish/Chassis/CXL3/MemoryDomains/index.json b/Sunfish/Chassis/CXL3/MemoryDomains/index.json new file mode 100644 index 0000000..be475b4 --- /dev/null +++ b/Sunfish/Chassis/CXL3/MemoryDomains/index.json @@ -0,0 +1,11 @@ +{ + "@odata.id": "/redfish/v1/Chassis/CXL3/MemoryDomains", + "@odata.type": "#Chassis/CXL3/MemoryDomainsCollection.Chassis/CXL3/MemoryDomainsCollection", + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL3/MemoryDomains/1" + } + ], + "Members@odata.count": 1, + "Name": "Chassis/CXL3/MemoryDomains Collection" +} \ No newline at end of file diff --git a/Sunfish/Chassis/CXL3/PCIeDevices/1/CXLLogicalDevices/1/index.json b/Sunfish/Chassis/CXL3/PCIeDevices/1/CXLLogicalDevices/1/index.json new file mode 100644 index 0000000..62fbf13 --- /dev/null +++ b/Sunfish/Chassis/CXL3/PCIeDevices/1/CXLLogicalDevices/1/index.json @@ -0,0 +1,52 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Chassis/CXL3/PCIeDevices/1/CXLLogicalDevices/1", + "@odata.type": "#CXLLogicalDevice.v1_0_0.CXLLogicalDevice", + "CXLSemanticsSupported": [ + "CXLio", + "CXLmem" + ], + "Description": "Locally attached CXL Logical Device Type 3", + "Id": "1", + "Identifiers": [ + { + "DurableName": "4C-1D-96-FF-FE-DD-D8-35:1", + "DurableNameFormat": "GCXLID" + } + ], + "Links": { + "MemoryChunks": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL3/MemoryDomains/1/MemoryChunks/1" + } + ], + "MemoryDomains": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL3/MemoryDomains/1" + } + ], + "Oem": {}, + "PCIeDevice": { + "@odata.id": "/redfish/v1/Chassis/CXL3/PCIeDevices/1" + }, + "PCIeFunctions": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL3/PCIeDevices/1/PCIeFunctions/1" + } + ] + }, + "Name": "CXL Logical Device Type 3", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + }, + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + } +} \ No newline at end of file diff --git a/Sunfish/Chassis/CXL3/PCIeDevices/1/CXLLogicalDevices/index.json b/Sunfish/Chassis/CXL3/PCIeDevices/1/CXLLogicalDevices/index.json new file mode 100644 index 0000000..be0e8f0 --- /dev/null +++ b/Sunfish/Chassis/CXL3/PCIeDevices/1/CXLLogicalDevices/index.json @@ -0,0 +1,11 @@ +{ + "@odata.id": "/redfish/v1/Chassis/CXL3/PCIeDevices/1/CXLLogicalDevices", + "@odata.type": "#Chassis/CXL3/PCIeDevices/1/CXLLogicalDevicesCollection.Chassis/CXL3/PCIeDevices/1/CXLLogicalDevicesCollection", + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL3/PCIeDevices/1/CXLLogicalDevices/1" + } + ], + "Members@odata.count": 1, + "Name": "Chassis/CXL3/PCIeDevices/1/CXLLogicalDevices Collection" +} \ No newline at end of file diff --git a/Sunfish/Chassis/CXL3/PCIeDevices/1/PCIeFunctions/1/index.json b/Sunfish/Chassis/CXL3/PCIeDevices/1/PCIeFunctions/1/index.json new file mode 100644 index 0000000..b0f0b5b --- /dev/null +++ b/Sunfish/Chassis/CXL3/PCIeDevices/1/PCIeFunctions/1/index.json @@ -0,0 +1,44 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Chassis/CXL3/PCIeDevices/1/PCIeFunctions/1", + "@odata.type": "#PCIeFunction.v1_4_0.PCIeFunction", + "ClassCode": "0x050210", + "Description": "PCIe Function with CXL extensions representing Memory Controller", + "DeviceClass": "MemoryController", + "DeviceId": "0xABCD", + "FunctionId": 1, + "FunctionProtocol": "CXL", + "FunctionType": "Physical", + "Id": "1", + "Links": { + "CXLLogicalDevice": { + "@odata.id": "/redfish/v1/Chassis/CXL3/PCIeDevices/1/CXLLogicalDevices/1" + }, + "MemoryControllers": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL3/MemoryDomains/1" + } + ], + "PCIeDevice": { + "@odata.id": "/redfish/v1/Chassis/CXL3/PCIeDevices/1" + } + }, + "Name": "CXL Function", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + }, + "RevisionId": "0x00", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "SubsystemId": "0xABCD", + "SubsystemVendorId": "0xABCD", + "VendorId": "0xABCD" +} \ No newline at end of file diff --git a/Sunfish/Chassis/CXL3/PCIeDevices/1/PCIeFunctions/index.json b/Sunfish/Chassis/CXL3/PCIeDevices/1/PCIeFunctions/index.json new file mode 100644 index 0000000..f4a2ce5 --- /dev/null +++ b/Sunfish/Chassis/CXL3/PCIeDevices/1/PCIeFunctions/index.json @@ -0,0 +1,11 @@ +{ + "@odata.id": "/redfish/v1/Chassis/CXL3/PCIeDevices/1/PCIeFunctions", + "@odata.type": "#Chassis/CXL3/PCIeDevices/1/PCIeFunctionsCollection.Chassis/CXL3/PCIeDevices/1/PCIeFunctionsCollection", + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL3/PCIeDevices/1/PCIeFunctions/1" + } + ], + "Members@odata.count": 1, + "Name": "Chassis/CXL3/PCIeDevices/1/PCIeFunctions Collection" +} \ No newline at end of file diff --git a/Sunfish/Chassis/CXL3/PCIeDevices/1/index.json b/Sunfish/Chassis/CXL3/PCIeDevices/1/index.json new file mode 100644 index 0000000..29d82fb --- /dev/null +++ b/Sunfish/Chassis/CXL3/PCIeDevices/1/index.json @@ -0,0 +1,47 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Chassis/CXL3/PCIeDevices/1", + "@odata.type": "#PCIeDevice.v1_10_0.PCIeDevice", + "CXLDevice": { + "CapableProtocolVersion": "V2_0", + "CurrentProtocolVersion": "V2_0", + "DeviceType": "Type3", + "MultiLogicalDevice": false + }, + "CXLLogicalDevices": { + "@odata.id": "/redfish/v1/Chassis/CXL3/PCIeDevices/1/CXLLogicalDevices" + }, + "Description": "CXL Physcial Device Type 3", + "Id": "1", + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL3" + } + ], + "Oem": {} + }, + "Name": "CXL Device", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + }, + "PCIeFunctions": { + "@odata.id": "/redfish/v1/Chassis/CXL3/PCIeDevices/1/PCIeFunctions" + }, + "PCIeInterface": { + "LanesInUse": 8, + "MaxLanes": 16, + "MaxPCIeType": "Gen5", + "PCIeType": "Gen5" + }, + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + } +} \ No newline at end of file diff --git a/Sunfish/Chassis/CXL3/PCIeDevices/index.json b/Sunfish/Chassis/CXL3/PCIeDevices/index.json new file mode 100644 index 0000000..12f02ef --- /dev/null +++ b/Sunfish/Chassis/CXL3/PCIeDevices/index.json @@ -0,0 +1,11 @@ +{ + "@odata.id": "/redfish/v1/Chassis/CXL3/PCIeDevices", + "@odata.type": "#Chassis/CXL3/PCIeDevicesCollection.Chassis/CXL3/PCIeDevicesCollection", + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL3/PCIeDevices/1" + } + ], + "Members@odata.count": 1, + "Name": "Chassis/CXL3/PCIeDevices Collection" +} \ No newline at end of file diff --git a/Sunfish/Chassis/CXL3/index.json b/Sunfish/Chassis/CXL3/index.json new file mode 100644 index 0000000..c3e9185 --- /dev/null +++ b/Sunfish/Chassis/CXL3/index.json @@ -0,0 +1,36 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Chassis/CXL3", + "@odata.type": "#Chassis.v1_20_0.Chassis", + "ChassisType": "Module", + "Id": "CXL3", + "Links": { + "ContainedBy": { + "@odata.id": "/redfish/v1/Chassis/CXL-Chassis" + } + }, + "Memory": { + "@odata.id": "/redfish/v1/Chassis/CXL3/Memory" + }, + "MemoryDomains": { + "@odata.id": "/redfish/v1/Chassis/CXL3/MemoryDomains" + }, + "Name": "CXL Device Type 3 module", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + }, + "PCIeDevices": { + "@odata.id": "/redfish/v1/Chassis/CXL3/PCIeDevices" + }, + "PowerState": "On", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + } +} \ No newline at end of file diff --git a/Sunfish/Chassis/PCXL1/FabricAdapters/1/Ports/1/index.json b/Sunfish/Chassis/PCXL1/FabricAdapters/1/Ports/1/index.json new file mode 100644 index 0000000..249f873 --- /dev/null +++ b/Sunfish/Chassis/PCXL1/FabricAdapters/1/Ports/1/index.json @@ -0,0 +1,56 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Chassis/PCXL1/FabricAdapters/1/Ports/1", + "@odata.type": "#Port.v1_7_0.Port", + "ActiveWidth": 4, + "CapableProtocolVersions": [ + "1.1", + "2.0" + ], + "CurrentProtocolVersion": "2.0", + "CurrentSpeedGbps": 256, + "Description": "CXL Port 1 in Fabric Adapter", + "Id": "1", + "InterfaceEnabled": true, + "LinkNetworkTechnology": "PCIe", + "LinkState": "Enabled", + "LinkStatus": "LinkUp", + "Links": { + "AssociatedEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T1" + } + ], + "ConnectedSwitchPorts": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/D1" + } + ], + "ConnectedSwitches": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL" + } + ] + }, + "MaxSpeedGbps": 128, + "Name": "CXL Port 1", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + }, + "PortId": "4C-1D-96-FF-FE-DD-D8-D1", + "PortMedium": "Optical", + "PortProtocol": "CXL", + "PortType": "UpstreamPort", + "RemotePortId": "D1", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "Width": 8 +} \ No newline at end of file diff --git a/Sunfish/Chassis/PCXL1/FabricAdapters/1/Ports/index.json b/Sunfish/Chassis/PCXL1/FabricAdapters/1/Ports/index.json new file mode 100644 index 0000000..87b6bd9 --- /dev/null +++ b/Sunfish/Chassis/PCXL1/FabricAdapters/1/Ports/index.json @@ -0,0 +1,11 @@ +{ + "@odata.id": "/redfish/v1/Chassis/PCXL1/FabricAdapters/1/Ports", + "@odata.type": "#Chassis/PCXL1/FabricAdapters/1/PortsCollection.Chassis/PCXL1/FabricAdapters/1/PortsCollection", + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL1/FabricAdapters/1/Ports/1" + } + ], + "Members@odata.count": 1, + "Name": "Chassis/PCXL1/FabricAdapters/1/Ports Collection" +} \ No newline at end of file diff --git a/Sunfish/Chassis/PCXL1/FabricAdapters/1/index.json b/Sunfish/Chassis/PCXL1/FabricAdapters/1/index.json new file mode 100644 index 0000000..fa3fd09 --- /dev/null +++ b/Sunfish/Chassis/PCXL1/FabricAdapters/1/index.json @@ -0,0 +1,38 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Chassis/PCXL1/FabricAdapters/1", + "@odata.type": "#FabricAdapter.v1_3_0.FabricAdapter", + "Description": "CXL Fabric Adapter for FPGA system", + "FirmwareVersion": "7.4.10", + "Id": "1", + "Links": { + "Processors": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL1/Processors/FPGA" + } + ] + }, + "Manufacturer": "Contoso", + "Model": "CXL Fabric Adapter Model X", + "Name": "CXL Fabric Adapter 1", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + }, + "PartNumber": "975999-001", + "Ports": { + "@odata.id": "/redfish/v1/Chassis/PCXL1/FabricAdapters/1/Ports" + }, + "SKU": "Contoso 2-port CXL Adapter Bridge", + "SerialNumber": "2M220100SL", + "SparePartNumber": "152111-A01", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + } +} \ No newline at end of file diff --git a/Sunfish/Chassis/PCXL1/FabricAdapters/index.json b/Sunfish/Chassis/PCXL1/FabricAdapters/index.json new file mode 100644 index 0000000..8730ed6 --- /dev/null +++ b/Sunfish/Chassis/PCXL1/FabricAdapters/index.json @@ -0,0 +1,11 @@ +{ + "@odata.id": "/redfish/v1/Chassis/PCXL1/FabricAdapters", + "@odata.type": "#Chassis/PCXL1/FabricAdaptersCollection.Chassis/PCXL1/FabricAdaptersCollection", + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL1/FabricAdapters/1" + } + ], + "Members@odata.count": 1, + "Name": "Chassis/PCXL1/FabricAdapters Collection" +} \ No newline at end of file diff --git a/Sunfish/Chassis/PCXL1/PCIeDevices/1/CXLLogicalDevices/1/index.json b/Sunfish/Chassis/PCXL1/PCIeDevices/1/CXLLogicalDevices/1/index.json new file mode 100644 index 0000000..834c584 --- /dev/null +++ b/Sunfish/Chassis/PCXL1/PCIeDevices/1/CXLLogicalDevices/1/index.json @@ -0,0 +1,47 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Chassis/PCXL1/PCIeDevices/1/CXLLogicalDevices/1", + "@odata.type": "#CXLLogicalDevice.v1_0_0.CXLLogicalDevice", + "CXLSemanticsSupported": [ + "CXLio", + "CXLcache" + ], + "Description": "CXL Logical Device Type 1 attached through CXL fabric", + "Id": "1", + "Identifiers": [ + { + "DurableName": "4C-1D-96-FF-FE-DD-D8-35:1", + "DurableNameFormat": "GCXLID" + } + ], + "Links": { + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T1" + } + ], + "Oem": {}, + "PCIeDevice": { + "@odata.id": "/redfish/v1/Chassis/PCXL1/PCIeDevices/1" + }, + "PCIeFunctions": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL1/PCIeDevices/1/PCIeFunctions/1" + } + ] + }, + "Name": "CXL Logical Device Type 1", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + }, + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + } +} \ No newline at end of file diff --git a/Sunfish/Chassis/PCXL1/PCIeDevices/1/CXLLogicalDevices/index.json b/Sunfish/Chassis/PCXL1/PCIeDevices/1/CXLLogicalDevices/index.json new file mode 100644 index 0000000..df17674 --- /dev/null +++ b/Sunfish/Chassis/PCXL1/PCIeDevices/1/CXLLogicalDevices/index.json @@ -0,0 +1,11 @@ +{ + "@odata.id": "/redfish/v1/Chassis/PCXL1/PCIeDevices/1/CXLLogicalDevices", + "@odata.type": "#Chassis/PCXL1/PCIeDevices/1/CXLLogicalDevicesCollection.Chassis/PCXL1/PCIeDevices/1/CXLLogicalDevicesCollection", + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL1/PCIeDevices/1/CXLLogicalDevices/1" + } + ], + "Members@odata.count": 1, + "Name": "Chassis/PCXL1/PCIeDevices/1/CXLLogicalDevices Collection" +} \ No newline at end of file diff --git a/Sunfish/Chassis/PCXL1/PCIeDevices/1/PCIeFunctions/1/index.json b/Sunfish/Chassis/PCXL1/PCIeDevices/1/PCIeFunctions/1/index.json new file mode 100644 index 0000000..23d4718 --- /dev/null +++ b/Sunfish/Chassis/PCXL1/PCIeDevices/1/PCIeFunctions/1/index.json @@ -0,0 +1,44 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Chassis/PCXL1/PCIeDevices/1/PCIeFunctions/1", + "@odata.type": "#PCIeFunction.v1_4_0.PCIeFunction", + "ClassCode": "0x0B4000", + "Description": "PCIe Function with CXL extensions representing FPGA", + "DeviceClass": "Processor", + "DeviceId": "0xABCD", + "FunctionId": 1, + "FunctionProtocol": "CXL", + "FunctionType": "Physical", + "Id": "1", + "Links": { + "CXLLogicalDevice": { + "@odata.id": "/redfish/v1/Chassis/PCXL1/PCIeDevices/1/CXLLogicalDevices/1" + }, + "PCIeDevice": { + "@odata.id": "/redfish/v1/Chassis/PCXL1/PCIeDevices/1" + }, + "Processors": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL1/Processors/FPGA" + } + ] + }, + "Name": "CXL Function", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + }, + "RevisionId": "0x00", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "SubsystemId": "0xABCD", + "SubsystemVendorId": "0xABCD", + "VendorId": "0xABCD" +} \ No newline at end of file diff --git a/Sunfish/Chassis/PCXL1/PCIeDevices/1/PCIeFunctions/index.json b/Sunfish/Chassis/PCXL1/PCIeDevices/1/PCIeFunctions/index.json new file mode 100644 index 0000000..dc5ebff --- /dev/null +++ b/Sunfish/Chassis/PCXL1/PCIeDevices/1/PCIeFunctions/index.json @@ -0,0 +1,11 @@ +{ + "@odata.id": "/redfish/v1/Chassis/PCXL1/PCIeDevices/1/PCIeFunctions", + "@odata.type": "#Chassis/PCXL1/PCIeDevices/1/PCIeFunctionsCollection.Chassis/PCXL1/PCIeDevices/1/PCIeFunctionsCollection", + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL1/PCIeDevices/1/PCIeFunctions/1" + } + ], + "Members@odata.count": 1, + "Name": "Chassis/PCXL1/PCIeDevices/1/PCIeFunctions Collection" +} \ No newline at end of file diff --git a/Sunfish/Chassis/PCXL1/PCIeDevices/1/index.json b/Sunfish/Chassis/PCXL1/PCIeDevices/1/index.json new file mode 100644 index 0000000..a442c31 --- /dev/null +++ b/Sunfish/Chassis/PCXL1/PCIeDevices/1/index.json @@ -0,0 +1,47 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Chassis/PCXL1/PCIeDevices/1", + "@odata.type": "#PCIeDevice.v1_10_0.PCIeDevice", + "CXLDevice": { + "CapableProtocolVersion": "V2_0", + "CurrentProtocolVersion": "V2_0", + "DeviceType": "Type1", + "MultiLogicalDevice": false + }, + "CXLLogicalDevices": { + "@odata.id": "/redfish/v1/Chassis/PCXL1/PCIeDevices/1/CXLLogicalDevices" + }, + "Description": "CXL Physcial Device Type 1", + "Id": "1", + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL1" + } + ], + "Oem": {} + }, + "Name": "CXL Device", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + }, + "PCIeFunctions": { + "@odata.id": "/redfish/v1/Chassis/PCXL1/PCIeDevices/1/PCIeFunctions" + }, + "PCIeInterface": { + "LanesInUse": 4, + "MaxLanes": 8, + "MaxPCIeType": "Gen5", + "PCIeType": "Gen5" + }, + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + } +} \ No newline at end of file diff --git a/Sunfish/Chassis/PCXL1/PCIeDevices/index.json b/Sunfish/Chassis/PCXL1/PCIeDevices/index.json new file mode 100644 index 0000000..3a8171d --- /dev/null +++ b/Sunfish/Chassis/PCXL1/PCIeDevices/index.json @@ -0,0 +1,11 @@ +{ + "@odata.id": "/redfish/v1/Chassis/PCXL1/PCIeDevices", + "@odata.type": "#Chassis/PCXL1/PCIeDevicesCollection.Chassis/PCXL1/PCIeDevicesCollection", + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL1/PCIeDevices/1" + } + ], + "Members@odata.count": 1, + "Name": "Chassis/PCXL1/PCIeDevices Collection" +} \ No newline at end of file diff --git a/Sunfish/Chassis/PCXL1/Processors/FPGA/index.json b/Sunfish/Chassis/PCXL1/Processors/FPGA/index.json new file mode 100644 index 0000000..dd080e3 --- /dev/null +++ b/Sunfish/Chassis/PCXL1/Processors/FPGA/index.json @@ -0,0 +1,50 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Chassis/PCXL1/Processors/FPGA", + "@odata.type": "#Processor.v1_15_0.Processor", + "Description": "FPGA with cache accessible through CXL fabric", + "Id": "FPGA", + "Links": { + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T1" + } + ], + "FabricAdapters": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL1/FabricAdapters/1" + } + ], + "PCIeFunctions": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL1/PCIeDevices/1/PCIeFunctions/1" + } + ] + }, + "MemorySummary": { + "TotalCacheSizeMiB": 64, + "TotalMemorySizeMiB": 0 + }, + "Name": "FPGA with cache", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + }, + "ProcessorMemory": [ + { + "CapacityMiB": 64, + "IntegratedMemory": true, + "MemoryType": "Cache" + } + ], + "ProcessorType": "FPGA", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + } +} \ No newline at end of file diff --git a/Sunfish/Chassis/PCXL1/Processors/index.json b/Sunfish/Chassis/PCXL1/Processors/index.json new file mode 100644 index 0000000..d602b60 --- /dev/null +++ b/Sunfish/Chassis/PCXL1/Processors/index.json @@ -0,0 +1,11 @@ +{ + "@odata.id": "/redfish/v1/Chassis/PCXL1/Processors", + "@odata.type": "#Chassis/PCXL1/ProcessorsCollection.Chassis/PCXL1/ProcessorsCollection", + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL1/Processors/FPGA" + } + ], + "Members@odata.count": 1, + "Name": "Chassis/PCXL1/Processors Collection" +} \ No newline at end of file diff --git a/Sunfish/Chassis/PCXL1/index.json b/Sunfish/Chassis/PCXL1/index.json new file mode 100644 index 0000000..56e5a5a --- /dev/null +++ b/Sunfish/Chassis/PCXL1/index.json @@ -0,0 +1,30 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Chassis/PCXL1", + "@odata.type": "#Chassis.v1_20_0.Chassis", + "ChassisType": "Blade", + "FabricAdapters": { + "@odata.id": "/redfish/v1/Chassis/PCXL1/FabricAdapters" + }, + "Id": "PCXL1", + "Name": "Pooled CXL Device Type 1 chassis", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + }, + "PCIeDevices": { + "@odata.id": "/redfish/v1/Chassis/PCXL1/PCIeDevices" + }, + "Processors": { + "@odata.id": "/redfish/v1/Chassis/PCXL1/Processors" + }, + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + } +} \ No newline at end of file diff --git a/Sunfish/Chassis/PCXL2/FabricAdapters/1/Ports/1/index.json b/Sunfish/Chassis/PCXL2/FabricAdapters/1/Ports/1/index.json new file mode 100644 index 0000000..3dd0274 --- /dev/null +++ b/Sunfish/Chassis/PCXL2/FabricAdapters/1/Ports/1/index.json @@ -0,0 +1,56 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Chassis/PCXL2/FabricAdapters/1/Ports/1", + "@odata.type": "#Port.v1_7_0.Port", + "ActiveWidth": 4, + "CapableProtocolVersions": [ + "1.1", + "2.0" + ], + "CurrentProtocolVersion": "2.0", + "CurrentSpeedGbps": 256, + "Description": "CXL Port 1 in Fabric Adapter", + "Id": "1", + "InterfaceEnabled": true, + "LinkNetworkTechnology": "PCIe", + "LinkState": "Enabled", + "LinkStatus": "LinkUp", + "Links": { + "AssociatedEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T2" + } + ], + "ConnectedSwitchPorts": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/D2" + } + ], + "ConnectedSwitches": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL" + } + ] + }, + "MaxSpeedGbps": 128, + "Name": "CXL Port 1", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + }, + "PortId": "4C-1D-96-FF-FE-DD-D8-D2", + "PortMedium": "Optical", + "PortProtocol": "CXL", + "PortType": "UpstreamPort", + "RemotePortId": "D2", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "Width": 8 +} \ No newline at end of file diff --git a/Sunfish/Chassis/PCXL2/FabricAdapters/1/Ports/index.json b/Sunfish/Chassis/PCXL2/FabricAdapters/1/Ports/index.json new file mode 100644 index 0000000..9fee3ed --- /dev/null +++ b/Sunfish/Chassis/PCXL2/FabricAdapters/1/Ports/index.json @@ -0,0 +1,11 @@ +{ + "@odata.id": "/redfish/v1/Chassis/PCXL2/FabricAdapters/1/Ports", + "@odata.type": "#Chassis/PCXL2/FabricAdapters/1/PortsCollection.Chassis/PCXL2/FabricAdapters/1/PortsCollection", + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL2/FabricAdapters/1/Ports/1" + } + ], + "Members@odata.count": 1, + "Name": "Chassis/PCXL2/FabricAdapters/1/Ports Collection" +} \ No newline at end of file diff --git a/Sunfish/Chassis/PCXL2/FabricAdapters/1/index.json b/Sunfish/Chassis/PCXL2/FabricAdapters/1/index.json new file mode 100644 index 0000000..b20f4f4 --- /dev/null +++ b/Sunfish/Chassis/PCXL2/FabricAdapters/1/index.json @@ -0,0 +1,43 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Chassis/PCXL2/FabricAdapters/1", + "@odata.type": "#FabricAdapter.v1_3_0.FabricAdapter", + "Description": "CXL Fabric Adapter for memory system", + "FirmwareVersion": "7.4.10", + "Id": "1", + "Links": { + "MemoryDomains": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL2/MemoryDomains/1" + } + ], + "Processors": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL2/Processors/GPU" + } + ] + }, + "Manufacturer": "Contoso", + "Model": "CXL Fabric Adapter Model X", + "Name": "CXL Fabric Adapter 1", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + }, + "PartNumber": "975999-001", + "Ports": { + "@odata.id": "/redfish/v1/Chassis/PCXL2/FabricAdapters/1/Ports" + }, + "SKU": "Contoso 2-port CXL Adapter Bridge", + "SerialNumber": "2M220100SL", + "SparePartNumber": "152111-A01", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + } +} \ No newline at end of file diff --git a/Sunfish/Chassis/PCXL2/FabricAdapters/index.json b/Sunfish/Chassis/PCXL2/FabricAdapters/index.json new file mode 100644 index 0000000..612ad42 --- /dev/null +++ b/Sunfish/Chassis/PCXL2/FabricAdapters/index.json @@ -0,0 +1,11 @@ +{ + "@odata.id": "/redfish/v1/Chassis/PCXL2/FabricAdapters", + "@odata.type": "#Chassis/PCXL2/FabricAdaptersCollection.Chassis/PCXL2/FabricAdaptersCollection", + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL2/FabricAdapters/1" + } + ], + "Members@odata.count": 1, + "Name": "Chassis/PCXL2/FabricAdapters Collection" +} \ No newline at end of file diff --git a/Sunfish/Chassis/PCXL2/Memory/HBM/index.json b/Sunfish/Chassis/PCXL2/Memory/HBM/index.json new file mode 100644 index 0000000..e323b45 --- /dev/null +++ b/Sunfish/Chassis/PCXL2/Memory/HBM/index.json @@ -0,0 +1,34 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Chassis/PCXL2/Memory/HBM", + "@odata.type": "#Memory.v1_15_0.Memory", + "CapacityMiB": 16384, + "Id": "HBM", + "Links": { + "Processors": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL2/Processors/GPU" + } + ] + }, + "MemoryDeviceType": "HBM2", + "MemoryMedia": [ + "DRAM" + ], + "MemoryType": "DRAM", + "Name": "HBM memory", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + }, + "OperatingSpeedMhz": 1333, + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + } +} \ No newline at end of file diff --git a/Sunfish/Chassis/PCXL2/Memory/index.json b/Sunfish/Chassis/PCXL2/Memory/index.json new file mode 100644 index 0000000..6206709 --- /dev/null +++ b/Sunfish/Chassis/PCXL2/Memory/index.json @@ -0,0 +1,11 @@ +{ + "@odata.id": "/redfish/v1/Chassis/PCXL2/Memory", + "@odata.type": "#Chassis/PCXL2/MemoryCollection.Chassis/PCXL2/MemoryCollection", + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL2/Memory/HBM" + } + ], + "Members@odata.count": 1, + "Name": "Chassis/PCXL2/Memory Collection" +} \ No newline at end of file diff --git a/Sunfish/Chassis/PCXL2/MemoryDomains/1/MemoryChunks/1/index.json b/Sunfish/Chassis/PCXL2/MemoryDomains/1/MemoryChunks/1/index.json new file mode 100644 index 0000000..52c7157 --- /dev/null +++ b/Sunfish/Chassis/PCXL2/MemoryDomains/1/MemoryChunks/1/index.json @@ -0,0 +1,37 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Chassis/PCXL2/MemoryDomains/1/MemoryChunks/1", + "@odata.type": "#MemoryChunks.v1_5_0.MemoryChunks", + "AddressRangeOffsetMiB": 1024, + "AddressRangeType": "Volatile", + "Description": "Memory chunk accessible through CXL", + "Id": "1", + "Links": { + "CXLLogicalDevices": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL2/PCIeDevices/1/CXLLogicalDevices/1" + } + ], + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T2" + } + ] + }, + "MediaLocation": "Local", + "MemoryChunkSizeMiB": 4096, + "Name": "Memory Chunk 1", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + }, + "OperationalState": "Online", + "Status": { + "Health": "OK", + "State": "Enabled" + } +} \ No newline at end of file diff --git a/Sunfish/Chassis/PCXL2/MemoryDomains/1/MemoryChunks/index.json b/Sunfish/Chassis/PCXL2/MemoryDomains/1/MemoryChunks/index.json new file mode 100644 index 0000000..e59c3d6 --- /dev/null +++ b/Sunfish/Chassis/PCXL2/MemoryDomains/1/MemoryChunks/index.json @@ -0,0 +1,11 @@ +{ + "@odata.id": "/redfish/v1/Chassis/PCXL2/MemoryDomains/1/MemoryChunks", + "@odata.type": "#Chassis/PCXL2/MemoryDomains/1/MemoryChunksCollection.Chassis/PCXL2/MemoryDomains/1/MemoryChunksCollection", + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL2/MemoryDomains/1/MemoryChunks/1" + } + ], + "Members@odata.count": 1, + "Name": "Chassis/PCXL2/MemoryDomains/1/MemoryChunks Collection" +} \ No newline at end of file diff --git a/Sunfish/Chassis/PCXL2/MemoryDomains/1/index.json b/Sunfish/Chassis/PCXL2/MemoryDomains/1/index.json new file mode 100644 index 0000000..d7fea68 --- /dev/null +++ b/Sunfish/Chassis/PCXL2/MemoryDomains/1/index.json @@ -0,0 +1,48 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Chassis/PCXL2/MemoryDomains/1", + "@odata.type": "#MemoryDomain.v1_4_0.MemoryDomain", + "AllowsMemoryChunkCreation": true, + "Description": "GPU HBM Memory Domain accessible through CXL fabric", + "Id": "1", + "InterleavableMemorySets": [ + { + "MemorySet": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL2/Memory/HBM" + } + ] + } + ], + "Links": { + "CXLLogicalDevices": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL2/PCIeDevices/1/CXLLogicalDevices/1" + } + ], + "FabricAdapters": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL2/FabricAdapters/1" + } + ] + }, + "MemoryChunkIncrementMiB": 64, + "MemoryChunks": { + "@odata.id": "/redfish/v1/Chassis/PCXL2/MemoryDomains/1/MemoryChunks" + }, + "MinMemoryChunkSizeMiB": 64, + "Name": "GPU HBM Memory Domain", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + }, + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + } +} \ No newline at end of file diff --git a/Sunfish/Chassis/PCXL2/MemoryDomains/index.json b/Sunfish/Chassis/PCXL2/MemoryDomains/index.json new file mode 100644 index 0000000..7522340 --- /dev/null +++ b/Sunfish/Chassis/PCXL2/MemoryDomains/index.json @@ -0,0 +1,11 @@ +{ + "@odata.id": "/redfish/v1/Chassis/PCXL2/MemoryDomains", + "@odata.type": "#Chassis/PCXL2/MemoryDomainsCollection.Chassis/PCXL2/MemoryDomainsCollection", + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL2/MemoryDomains/1" + } + ], + "Members@odata.count": 1, + "Name": "Chassis/PCXL2/MemoryDomains Collection" +} \ No newline at end of file diff --git a/Sunfish/Chassis/PCXL2/PCIeDevices/1/CXLLogicalDevices/1/index.json b/Sunfish/Chassis/PCXL2/PCIeDevices/1/CXLLogicalDevices/1/index.json new file mode 100644 index 0000000..c0eb61b --- /dev/null +++ b/Sunfish/Chassis/PCXL2/PCIeDevices/1/CXLLogicalDevices/1/index.json @@ -0,0 +1,58 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Chassis/PCXL2/PCIeDevices/1/CXLLogicalDevices/1", + "@odata.type": "#CXLLogicalDevice.v1_0_0.CXLLogicalDevice", + "CXLSemanticsSupported": [ + "CXLio", + "CXLcache", + "CXLmem" + ], + "Description": "CXL Logical Device Type 2 attached through CXL fabric", + "Id": "1", + "Identifiers": [ + { + "DurableName": "4C-1D-96-FF-FE-DD-D8-35:1", + "DurableNameFormat": "GCXLID" + } + ], + "Links": { + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T2" + } + ], + "MemoryChunks": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL2/MemoryDomains/1/MemoryChunks/1" + } + ], + "MemoryDomains": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL2/MemoryDomains/1" + } + ], + "Oem": {}, + "PCIeDevice": { + "@odata.id": "/redfish/v1/Chassis/PCXL2/PCIeDevices/1" + }, + "PCIeFunctions": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL2/PCIeDevices/1/PCIeFunctions/1" + } + ] + }, + "Name": "CXL Logical Device Type 2", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + }, + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + } +} \ No newline at end of file diff --git a/Sunfish/Chassis/PCXL2/PCIeDevices/1/CXLLogicalDevices/index.json b/Sunfish/Chassis/PCXL2/PCIeDevices/1/CXLLogicalDevices/index.json new file mode 100644 index 0000000..536cd39 --- /dev/null +++ b/Sunfish/Chassis/PCXL2/PCIeDevices/1/CXLLogicalDevices/index.json @@ -0,0 +1,11 @@ +{ + "@odata.id": "/redfish/v1/Chassis/PCXL2/PCIeDevices/1/CXLLogicalDevices", + "@odata.type": "#Chassis/PCXL2/PCIeDevices/1/CXLLogicalDevicesCollection.Chassis/PCXL2/PCIeDevices/1/CXLLogicalDevicesCollection", + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL2/PCIeDevices/1/CXLLogicalDevices/1" + } + ], + "Members@odata.count": 1, + "Name": "Chassis/PCXL2/PCIeDevices/1/CXLLogicalDevices Collection" +} \ No newline at end of file diff --git a/Sunfish/Chassis/PCXL2/PCIeDevices/1/PCIeFunctions/1/index.json b/Sunfish/Chassis/PCXL2/PCIeDevices/1/PCIeFunctions/1/index.json new file mode 100644 index 0000000..044e232 --- /dev/null +++ b/Sunfish/Chassis/PCXL2/PCIeDevices/1/PCIeFunctions/1/index.json @@ -0,0 +1,44 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Chassis/PCXL2/PCIeDevices/1/PCIeFunctions/1", + "@odata.type": "#PCIeFunction.v1_4_0.PCIeFunction", + "ClassCode": "0x120000", + "Description": "PCIe Function with CXL extensions representing GPU", + "DeviceClass": "ProcessingAccelerators", + "DeviceId": "0xABCD", + "FunctionId": 1, + "FunctionProtocol": "CXL", + "FunctionType": "Physical", + "Id": "1", + "Links": { + "CXLLogicalDevice": { + "@odata.id": "/redfish/v1/Chassis/PCXL2/PCIeDevices/1/CXLLogicalDevices/1" + }, + "PCIeDevice": { + "@odata.id": "/redfish/v1/Chassis/PCXL2/PCIeDevices/1" + }, + "Processors": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL2/Processors/GPU" + } + ] + }, + "Name": "CXL Function", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + }, + "RevisionId": "0x00", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "SubsystemId": "0xABCD", + "SubsystemVendorId": "0xABCD", + "VendorId": "0xABCD" +} \ No newline at end of file diff --git a/Sunfish/Chassis/PCXL2/PCIeDevices/1/PCIeFunctions/index.json b/Sunfish/Chassis/PCXL2/PCIeDevices/1/PCIeFunctions/index.json new file mode 100644 index 0000000..04f558c --- /dev/null +++ b/Sunfish/Chassis/PCXL2/PCIeDevices/1/PCIeFunctions/index.json @@ -0,0 +1,11 @@ +{ + "@odata.id": "/redfish/v1/Chassis/PCXL2/PCIeDevices/1/PCIeFunctions", + "@odata.type": "#Chassis/PCXL2/PCIeDevices/1/PCIeFunctionsCollection.Chassis/PCXL2/PCIeDevices/1/PCIeFunctionsCollection", + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL2/PCIeDevices/1/PCIeFunctions/1" + } + ], + "Members@odata.count": 1, + "Name": "Chassis/PCXL2/PCIeDevices/1/PCIeFunctions Collection" +} \ No newline at end of file diff --git a/Sunfish/Chassis/PCXL2/PCIeDevices/1/index.json b/Sunfish/Chassis/PCXL2/PCIeDevices/1/index.json new file mode 100644 index 0000000..3c7bcf0 --- /dev/null +++ b/Sunfish/Chassis/PCXL2/PCIeDevices/1/index.json @@ -0,0 +1,47 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Chassis/PCXL2/PCIeDevices/1", + "@odata.type": "#PCIeDevice.v1_10_0.PCIeDevice", + "CXLDevice": { + "CapableProtocolVersion": "V2_0", + "CurrentProtocolVersion": "V2_0", + "DeviceType": "Type2", + "MultiLogicalDevice": false + }, + "CXLLogicalDevices": { + "@odata.id": "/redfish/v1/Chassis/PCXL2/PCIeDevices/1/CXLLogicalDevices" + }, + "Description": "CXL Physcial Device Type 2", + "Id": "1", + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL2" + } + ], + "Oem": {} + }, + "Name": "CXL Device", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + }, + "PCIeFunctions": { + "@odata.id": "/redfish/v1/Chassis/PCXL2/PCIeDevices/1/PCIeFunctions" + }, + "PCIeInterface": { + "LanesInUse": 4, + "MaxLanes": 8, + "MaxPCIeType": "Gen5", + "PCIeType": "Gen5" + }, + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + } +} \ No newline at end of file diff --git a/Sunfish/Chassis/PCXL2/PCIeDevices/index.json b/Sunfish/Chassis/PCXL2/PCIeDevices/index.json new file mode 100644 index 0000000..d2b2424 --- /dev/null +++ b/Sunfish/Chassis/PCXL2/PCIeDevices/index.json @@ -0,0 +1,11 @@ +{ + "@odata.id": "/redfish/v1/Chassis/PCXL2/PCIeDevices", + "@odata.type": "#Chassis/PCXL2/PCIeDevicesCollection.Chassis/PCXL2/PCIeDevicesCollection", + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL2/PCIeDevices/1" + } + ], + "Members@odata.count": 1, + "Name": "Chassis/PCXL2/PCIeDevices Collection" +} \ No newline at end of file diff --git a/Sunfish/Chassis/PCXL2/Processors/GPU/index.json b/Sunfish/Chassis/PCXL2/Processors/GPU/index.json new file mode 100644 index 0000000..678c094 --- /dev/null +++ b/Sunfish/Chassis/PCXL2/Processors/GPU/index.json @@ -0,0 +1,61 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Chassis/PCXL2/Processors/GPU", + "@odata.type": "#Processor.v1_15_0.Processor", + "Description": "GPU with cache and HBM memory accessible through CXL fabric", + "Id": "GPU", + "Links": { + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T2" + } + ], + "FabricAdapters": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL2/FabricAdapters/1" + } + ], + "Memory": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL2/Memory/HBM" + } + ], + "PCIeFunctions": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL2/PCIeDevices/1/PCIeFunctions/1" + } + ] + }, + "MemorySummary": { + "TotalCacheSizeMiB": 64, + "TotalMemorySizeMiB": 16384 + }, + "Name": "GPU with HBM memory", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + }, + "ProcessorMemory": [ + { + "CapacityMiB": 16384, + "IntegratedMemory": false, + "MemoryType": "HBM2", + "SpeedMHz": 1033 + }, + { + "CapacityMiB": 64, + "IntegratedMemory": true, + "MemoryType": "Cache" + } + ], + "ProcessorType": "GPU", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + } +} \ No newline at end of file diff --git a/Sunfish/Chassis/PCXL2/Processors/index.json b/Sunfish/Chassis/PCXL2/Processors/index.json new file mode 100644 index 0000000..fd1ef86 --- /dev/null +++ b/Sunfish/Chassis/PCXL2/Processors/index.json @@ -0,0 +1,11 @@ +{ + "@odata.id": "/redfish/v1/Chassis/PCXL2/Processors", + "@odata.type": "#Chassis/PCXL2/ProcessorsCollection.Chassis/PCXL2/ProcessorsCollection", + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL2/Processors/GPU" + } + ], + "Members@odata.count": 1, + "Name": "Chassis/PCXL2/Processors Collection" +} \ No newline at end of file diff --git a/Sunfish/Chassis/PCXL2/index.json b/Sunfish/Chassis/PCXL2/index.json new file mode 100644 index 0000000..94f8ea7 --- /dev/null +++ b/Sunfish/Chassis/PCXL2/index.json @@ -0,0 +1,37 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Chassis/PCXL2", + "@odata.type": "#Chassis.v1_20_0.Chassis", + "ChassisType": "Blade", + "FabricAdapters": { + "@odata.id": "/redfish/v1/Chassis/PCXL2/FabricAdapters" + }, + "Id": "PCXL2", + "Memory": { + "@odata.id": "/redfish/v1/Chassis/PCXL2/Memory" + }, + "MemoryDomains": { + "@odata.id": "/redfish/v1/Chassis/PCXL2/MemoryDomains" + }, + "Name": "Pooled CXL Device Type 2 chassis", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + }, + "PCIeDevices": { + "@odata.id": "/redfish/v1/Chassis/PCXL2/PCIeDevices" + }, + "PowerState": "On", + "Processors": { + "@odata.id": "/redfish/v1/Chassis/PCXL2/Processors" + }, + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + } +} \ No newline at end of file diff --git a/Sunfish/Chassis/PCXL3/FabricAdapters/1/Ports/1/index.json b/Sunfish/Chassis/PCXL3/FabricAdapters/1/Ports/1/index.json new file mode 100644 index 0000000..b2c3b4e --- /dev/null +++ b/Sunfish/Chassis/PCXL3/FabricAdapters/1/Ports/1/index.json @@ -0,0 +1,56 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Chassis/PCXL3/FabricAdapters/1/Ports/1", + "@odata.type": "#Port.v1_7_0.Port", + "ActiveWidth": 4, + "CapableProtocolVersions": [ + "1.1", + "2.0" + ], + "CurrentProtocolVersion": "2.0", + "CurrentSpeedGbps": 256, + "Description": "CXL Port 1 in Fabric Adapter", + "Id": "1", + "InterfaceEnabled": true, + "LinkNetworkTechnology": "PCIe", + "LinkState": "Enabled", + "LinkStatus": "LinkUp", + "Links": { + "AssociatedEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T3" + } + ], + "ConnectedSwitchPorts": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/D3" + } + ], + "ConnectedSwitches": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL" + } + ] + }, + "MaxSpeedGbps": 128, + "Name": "CXL Port 1", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + }, + "PortId": "4C-1D-96-FF-FE-DD-D8-D3", + "PortMedium": "Optical", + "PortProtocol": "CXL", + "PortType": "UpstreamPort", + "RemotePortId": "D3", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "Width": 8 +} \ No newline at end of file diff --git a/Sunfish/Chassis/PCXL3/FabricAdapters/1/Ports/index.json b/Sunfish/Chassis/PCXL3/FabricAdapters/1/Ports/index.json new file mode 100644 index 0000000..5d27d87 --- /dev/null +++ b/Sunfish/Chassis/PCXL3/FabricAdapters/1/Ports/index.json @@ -0,0 +1,11 @@ +{ + "@odata.id": "/redfish/v1/Chassis/PCXL3/FabricAdapters/1/Ports", + "@odata.type": "#Chassis/PCXL3/FabricAdapters/1/PortsCollection.Chassis/PCXL3/FabricAdapters/1/PortsCollection", + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL3/FabricAdapters/1/Ports/1" + } + ], + "Members@odata.count": 1, + "Name": "Chassis/PCXL3/FabricAdapters/1/Ports Collection" +} \ No newline at end of file diff --git a/Sunfish/Chassis/PCXL3/FabricAdapters/1/index.json b/Sunfish/Chassis/PCXL3/FabricAdapters/1/index.json new file mode 100644 index 0000000..cab17a0 --- /dev/null +++ b/Sunfish/Chassis/PCXL3/FabricAdapters/1/index.json @@ -0,0 +1,38 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Chassis/PCXL3/FabricAdapters/1", + "@odata.type": "#FabricAdapter.v1_3_0.FabricAdapter", + "Description": "CXL Fabric Adapter for memory system", + "FirmwareVersion": "7.4.10", + "Id": "1", + "Links": { + "MemoryDomains": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL3/MemoryDomains/1" + } + ] + }, + "Manufacturer": "Contoso", + "Model": "CXL Fabric Adapter Model X", + "Name": "CXL Fabric Adapter 1", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + }, + "PartNumber": "975999-001", + "Ports": { + "@odata.id": "/redfish/v1/Chassis/PCXL3/FabricAdapters/1/Ports" + }, + "SKU": "Contoso 2-port CXL Adapter Bridge", + "SerialNumber": "2M220100SL", + "SparePartNumber": "152111-A01", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + } +} \ No newline at end of file diff --git a/Sunfish/Chassis/PCXL3/FabricAdapters/index.json b/Sunfish/Chassis/PCXL3/FabricAdapters/index.json new file mode 100644 index 0000000..9269ba5 --- /dev/null +++ b/Sunfish/Chassis/PCXL3/FabricAdapters/index.json @@ -0,0 +1,11 @@ +{ + "@odata.id": "/redfish/v1/Chassis/PCXL3/FabricAdapters", + "@odata.type": "#Chassis/PCXL3/FabricAdaptersCollection.Chassis/PCXL3/FabricAdaptersCollection", + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL3/FabricAdapters/1" + } + ], + "Members@odata.count": 1, + "Name": "Chassis/PCXL3/FabricAdapters Collection" +} \ No newline at end of file diff --git a/Sunfish/Chassis/PCXL3/Memory/3DXP/index.json b/Sunfish/Chassis/PCXL3/Memory/3DXP/index.json new file mode 100644 index 0000000..73b6290 --- /dev/null +++ b/Sunfish/Chassis/PCXL3/Memory/3DXP/index.json @@ -0,0 +1,26 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Chassis/PCXL3/Memory/3DXP", + "@odata.type": "#Memory.v1_15_0.Memory", + "CapacityMiB": 16384, + "Id": "3DXP", + "MemoryMedia": [ + "Intel3DXPoint" + ], + "MemoryType": "IntelOptane", + "Name": "3DXP memory", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + }, + "OperatingSpeedMhz": 1333, + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + } +} \ No newline at end of file diff --git a/Sunfish/Chassis/PCXL3/Memory/index.json b/Sunfish/Chassis/PCXL3/Memory/index.json new file mode 100644 index 0000000..64380a0 --- /dev/null +++ b/Sunfish/Chassis/PCXL3/Memory/index.json @@ -0,0 +1,11 @@ +{ + "@odata.id": "/redfish/v1/Chassis/PCXL3/Memory", + "@odata.type": "#Chassis/PCXL3/MemoryCollection.Chassis/PCXL3/MemoryCollection", + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL3/Memory/3DXP" + } + ], + "Members@odata.count": 1, + "Name": "Chassis/PCXL3/Memory Collection" +} \ No newline at end of file diff --git a/Sunfish/Chassis/PCXL3/MemoryDomains/1/MemoryChunks/1/index.json b/Sunfish/Chassis/PCXL3/MemoryDomains/1/MemoryChunks/1/index.json new file mode 100644 index 0000000..1035cc5 --- /dev/null +++ b/Sunfish/Chassis/PCXL3/MemoryDomains/1/MemoryChunks/1/index.json @@ -0,0 +1,37 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Chassis/PCXL3/MemoryDomains/1/MemoryChunks/1", + "@odata.type": "#MemoryChunks.v1_5_0.MemoryChunks", + "AddressRangeOffsetMiB": 1024, + "AddressRangeType": "PMEM", + "Description": "Memory chunk accessible through CXL fabric", + "Id": "1", + "Links": { + "CXLLogicalDevices": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL3/PCIeDevices/1/CXLLogicalDevices/1" + } + ], + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T3" + } + ] + }, + "MediaLocation": "Local", + "MemoryChunkSizeMiB": 4096, + "Name": "Memory Chunk 1", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + }, + "OperationalState": "Online", + "Status": { + "Health": "OK", + "State": "Enabled" + } +} \ No newline at end of file diff --git a/Sunfish/Chassis/PCXL3/MemoryDomains/1/MemoryChunks/index.json b/Sunfish/Chassis/PCXL3/MemoryDomains/1/MemoryChunks/index.json new file mode 100644 index 0000000..1bfb19c --- /dev/null +++ b/Sunfish/Chassis/PCXL3/MemoryDomains/1/MemoryChunks/index.json @@ -0,0 +1,11 @@ +{ + "@odata.id": "/redfish/v1/Chassis/PCXL3/MemoryDomains/1/MemoryChunks", + "@odata.type": "#Chassis/PCXL3/MemoryDomains/1/MemoryChunksCollection.Chassis/PCXL3/MemoryDomains/1/MemoryChunksCollection", + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL3/MemoryDomains/1/MemoryChunks/1" + } + ], + "Members@odata.count": 1, + "Name": "Chassis/PCXL3/MemoryDomains/1/MemoryChunks Collection" +} \ No newline at end of file diff --git a/Sunfish/Chassis/PCXL3/MemoryDomains/1/index.json b/Sunfish/Chassis/PCXL3/MemoryDomains/1/index.json new file mode 100644 index 0000000..1e2c4af --- /dev/null +++ b/Sunfish/Chassis/PCXL3/MemoryDomains/1/index.json @@ -0,0 +1,53 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Chassis/PCXL3/MemoryDomains/1", + "@odata.type": "#MemoryDomain.v1_4_0.MemoryDomain", + "AllowsMemoryChunkCreation": true, + "Description": "3DXP Memory Domain accessible through CXL fabric", + "Id": "1", + "InterleavableMemorySets": [ + { + "MemorySet": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL3/Memory/3DXP" + } + ] + } + ], + "Links": { + "CXLLogicalDevices": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL3/PCIeDevices/1/CXLLogicalDevices/1" + } + ], + "FabricAdapters": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL3/FabricAdapters/1" + } + ], + "PCIeFunctions": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL3/PCIeDevices/1/PCIeFunctions/1" + } + ] + }, + "MemoryChunkIncrementMiB": 64, + "MemoryChunks": { + "@odata.id": "/redfish/v1/Chassis/PCXL3/MemoryDomains/1/MemoryChunks" + }, + "MinMemoryChunkSizeMiB": 64, + "Name": "CXL 3DXP Memory Domain", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + }, + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + } +} \ No newline at end of file diff --git a/Sunfish/Chassis/PCXL3/MemoryDomains/index.json b/Sunfish/Chassis/PCXL3/MemoryDomains/index.json new file mode 100644 index 0000000..f8eccf3 --- /dev/null +++ b/Sunfish/Chassis/PCXL3/MemoryDomains/index.json @@ -0,0 +1,11 @@ +{ + "@odata.id": "/redfish/v1/Chassis/PCXL3/MemoryDomains", + "@odata.type": "#Chassis/PCXL3/MemoryDomainsCollection.Chassis/PCXL3/MemoryDomainsCollection", + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL3/MemoryDomains/1" + } + ], + "Members@odata.count": 1, + "Name": "Chassis/PCXL3/MemoryDomains Collection" +} \ No newline at end of file diff --git a/Sunfish/Chassis/PCXL3/PCIeDevices/1/CXLLogicalDevices/1/index.json b/Sunfish/Chassis/PCXL3/PCIeDevices/1/CXLLogicalDevices/1/index.json new file mode 100644 index 0000000..0cda177 --- /dev/null +++ b/Sunfish/Chassis/PCXL3/PCIeDevices/1/CXLLogicalDevices/1/index.json @@ -0,0 +1,57 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Chassis/PCXL3/PCIeDevices/1/CXLLogicalDevices/1", + "@odata.type": "#CXLLogicalDevice.v1_0_0.CXLLogicalDevice", + "CXLSemanticsSupported": [ + "CXLio", + "CXLmem" + ], + "Description": "CXL Logical Device Type 3 accessible through CXL fabric", + "Id": "1", + "Identifiers": [ + { + "DurableName": "4C-1D-96-FF-FE-DD-D8-35:1", + "DurableNameFormat": "GCXLID" + } + ], + "Links": { + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T3" + } + ], + "MemoryChunks": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL3/MemoryDomains/1/MemoryChunks/1" + } + ], + "MemoryDomains": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL3/MemoryDomains/1" + } + ], + "Oem": {}, + "PCIeDevice": { + "@odata.id": "/redfish/v1/Chassis/PCXL3/PCIeDevices/1" + }, + "PCIeFunctions": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL3/PCIeDevices/1/PCIeFunctions/1" + } + ] + }, + "Name": "CXL Logical Device Type 3", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + }, + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + } +} \ No newline at end of file diff --git a/Sunfish/Chassis/PCXL3/PCIeDevices/1/CXLLogicalDevices/index.json b/Sunfish/Chassis/PCXL3/PCIeDevices/1/CXLLogicalDevices/index.json new file mode 100644 index 0000000..c3342ab --- /dev/null +++ b/Sunfish/Chassis/PCXL3/PCIeDevices/1/CXLLogicalDevices/index.json @@ -0,0 +1,11 @@ +{ + "@odata.id": "/redfish/v1/Chassis/PCXL3/PCIeDevices/1/CXLLogicalDevices", + "@odata.type": "#Chassis/PCXL3/PCIeDevices/1/CXLLogicalDevicesCollection.Chassis/PCXL3/PCIeDevices/1/CXLLogicalDevicesCollection", + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL3/PCIeDevices/1/CXLLogicalDevices/1" + } + ], + "Members@odata.count": 1, + "Name": "Chassis/PCXL3/PCIeDevices/1/CXLLogicalDevices Collection" +} \ No newline at end of file diff --git a/Sunfish/Chassis/PCXL3/PCIeDevices/1/PCIeFunctions/1/index.json b/Sunfish/Chassis/PCXL3/PCIeDevices/1/PCIeFunctions/1/index.json new file mode 100644 index 0000000..53da5e1 --- /dev/null +++ b/Sunfish/Chassis/PCXL3/PCIeDevices/1/PCIeFunctions/1/index.json @@ -0,0 +1,44 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Chassis/PCXL3/PCIeDevices/1/PCIeFunctions/1", + "@odata.type": "#PCIeFunction.v1_4_0.PCIeFunction", + "ClassCode": "0x050210", + "Description": "PCIe Function with CXL extensions representing Memory Controller", + "DeviceClass": "MemoryController", + "DeviceId": "0xABCD", + "FunctionId": 1, + "FunctionProtocol": "CXL", + "FunctionType": "Physical", + "Id": "1", + "Links": { + "CXLLogicalDevice": { + "@odata.id": "/redfish/v1/Chassis/PCXL3/PCIeDevices/1/CXLLogicalDevices/1" + }, + "MemoryControllers": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL3/MemoryDomains/1" + } + ], + "PCIeDevice": { + "@odata.id": "/redfish/v1/Chassis/PCXL3/PCIeDevices/1" + } + }, + "Name": "CXL Function", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + }, + "RevisionId": "0x00", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "SubsystemId": "0xABCD", + "SubsystemVendorId": "0xABCD", + "VendorId": "0xABCD" +} \ No newline at end of file diff --git a/Sunfish/Chassis/PCXL3/PCIeDevices/1/PCIeFunctions/index.json b/Sunfish/Chassis/PCXL3/PCIeDevices/1/PCIeFunctions/index.json new file mode 100644 index 0000000..e5475b1 --- /dev/null +++ b/Sunfish/Chassis/PCXL3/PCIeDevices/1/PCIeFunctions/index.json @@ -0,0 +1,11 @@ +{ + "@odata.id": "/redfish/v1/Chassis/PCXL3/PCIeDevices/1/PCIeFunctions", + "@odata.type": "#Chassis/PCXL3/PCIeDevices/1/PCIeFunctionsCollection.Chassis/PCXL3/PCIeDevices/1/PCIeFunctionsCollection", + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL3/PCIeDevices/1/PCIeFunctions/1" + } + ], + "Members@odata.count": 1, + "Name": "Chassis/PCXL3/PCIeDevices/1/PCIeFunctions Collection" +} \ No newline at end of file diff --git a/Sunfish/Chassis/PCXL3/PCIeDevices/1/index.json b/Sunfish/Chassis/PCXL3/PCIeDevices/1/index.json new file mode 100644 index 0000000..438537e --- /dev/null +++ b/Sunfish/Chassis/PCXL3/PCIeDevices/1/index.json @@ -0,0 +1,47 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Chassis/PCXL3/PCIeDevices/1", + "@odata.type": "#PCIeDevice.v1_10_0.PCIeDevice", + "CXLDevice": { + "CapableProtocolVersion": "V2_0", + "CurrentProtocolVersion": "V2_0", + "DeviceType": "Type3", + "MultiLogicalDevice": true + }, + "CXLLogicalDevices": { + "@odata.id": "/redfish/v1/Chassis/PCXL3/PCIeDevices/1/CXLLogicalDevices" + }, + "Description": "CXL Physcial Device Type 3", + "Id": "1", + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL3" + } + ], + "Oem": {} + }, + "Name": "CXL Device", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + }, + "PCIeFunctions": { + "@odata.id": "/redfish/v1/Chassis/PCXL3/PCIeDevices/1/PCIeFunctions" + }, + "PCIeInterface": { + "LanesInUse": 8, + "MaxLanes": 16, + "MaxPCIeType": "Gen5", + "PCIeType": "Gen5" + }, + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + } +} \ No newline at end of file diff --git a/Sunfish/Chassis/PCXL3/PCIeDevices/index.json b/Sunfish/Chassis/PCXL3/PCIeDevices/index.json new file mode 100644 index 0000000..e765f07 --- /dev/null +++ b/Sunfish/Chassis/PCXL3/PCIeDevices/index.json @@ -0,0 +1,11 @@ +{ + "@odata.id": "/redfish/v1/Chassis/PCXL3/PCIeDevices", + "@odata.type": "#Chassis/PCXL3/PCIeDevicesCollection.Chassis/PCXL3/PCIeDevicesCollection", + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL3/PCIeDevices/1" + } + ], + "Members@odata.count": 1, + "Name": "Chassis/PCXL3/PCIeDevices Collection" +} \ No newline at end of file diff --git a/Sunfish/Chassis/PCXL3/index.json b/Sunfish/Chassis/PCXL3/index.json new file mode 100644 index 0000000..cc86dc2 --- /dev/null +++ b/Sunfish/Chassis/PCXL3/index.json @@ -0,0 +1,34 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Chassis/PCXL3", + "@odata.type": "#Chassis.v1_20_0.Chassis", + "ChassisType": "Module", + "FabricAdapters": { + "@odata.id": "/redfish/v1/Chassis/PCXL3/FabricAdapters" + }, + "Id": "PCXL3", + "Memory": { + "@odata.id": "/redfish/v1/Chassis/PCXL3/Memory" + }, + "MemoryDomains": { + "@odata.id": "/redfish/v1/Chassis/PCXL3/MemoryDomains" + }, + "Name": "Pooled CXL Device Type 3 chassis", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + }, + "PCIeDevices": { + "@odata.id": "/redfish/v1/Chassis/PCXL3/PCIeDevices" + }, + "PowerState": "On", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + } +} \ No newline at end of file diff --git a/Sunfish/Chassis/index.json b/Sunfish/Chassis/index.json new file mode 100644 index 0000000..678e28c --- /dev/null +++ b/Sunfish/Chassis/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#ChassisCollection.ChassisCollection", + "Name": "Chassis Collection", + "Members@odata.count": 7, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL2" + }, + { + "@odata.id": "/redfish/v1/Chassis/PCXL3" + }, + { + "@odata.id": "/redfish/v1/Chassis/PCXL1" + }, + { + "@odata.id": "/redfish/v1/Chassis/CXL-Chassis" + }, + { + "@odata.id": "/redfish/v1/Chassis/CXL1" + }, + { + "@odata.id": "/redfish/v1/Chassis/CXL2" + }, + { + "@odata.id": "/redfish/v1/Chassis/CXL3" + } + ], + "@odata.id": "/redfish/v1/Chassis", + "@Redfish.Copyright": "Copyright 2015-2022 SNIA. All rights reserved." +} \ No newline at end of file diff --git a/Sunfish/Fabrics/CXL/Connections/12/index.json b/Sunfish/Fabrics/CXL/Connections/12/index.json new file mode 100644 index 0000000..86ff00d --- /dev/null +++ b/Sunfish/Fabrics/CXL/Connections/12/index.json @@ -0,0 +1,45 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Fabrics/CXL/Connections/12", + "@odata.type": "#Connection.v1_1_0.Connection", + "ConnectionType": "Memory", + "Description": "CXL Connection 12 Information", + "Id": "12", + "Links": { + "InitiatorEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I2" + } + ], + "TargetEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T2" + } + ] + }, + "MemoryChunkInfo": [ + { + "AccessCapabilities": [ + "Read", + "Write" + ], + "MemoryChunk": { + "@odata.id": "/redfish/v1/Chassis/PCXL2/MemoryDomains/1/MemoryChunks/1" + } + } + ], + "Name": "Connection 12", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + }, + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + } +} \ No newline at end of file diff --git a/Sunfish/Fabrics/CXL/Connections/13/index.json b/Sunfish/Fabrics/CXL/Connections/13/index.json new file mode 100644 index 0000000..c09c9ca --- /dev/null +++ b/Sunfish/Fabrics/CXL/Connections/13/index.json @@ -0,0 +1,45 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Fabrics/CXL/Connections/13", + "@odata.type": "#Connection.v1_1_0.Connection", + "ConnectionType": "Memory", + "Description": "CXL Connection 13 Information", + "Id": "13", + "Links": { + "InitiatorEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I3" + } + ], + "TargetEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T3" + } + ] + }, + "MemoryChunkInfo": [ + { + "AccessCapabilities": [ + "Read", + "Write" + ], + "MemoryChunk": { + "@odata.id": "/redfish/v1/Chassis/PCXL3/MemoryDomains/1/MemoryChunks/1" + } + } + ], + "Name": "Connection 13", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + }, + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + } +} \ No newline at end of file diff --git a/Sunfish/Fabrics/CXL/Connections/index.json b/Sunfish/Fabrics/CXL/Connections/index.json new file mode 100644 index 0000000..d374bb6 --- /dev/null +++ b/Sunfish/Fabrics/CXL/Connections/index.json @@ -0,0 +1,14 @@ +{ + "@odata.id": "/redfish/v1/Fabrics/CXL/Connections", + "@odata.type": "#Fabrics/CXL/ConnectionsCollection.Fabrics/CXL/ConnectionsCollection", + "Members": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Connections/12" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Connections/13" + } + ], + "Members@odata.count": 2, + "Name": "Fabrics/CXL/Connections Collection" +} \ No newline at end of file diff --git a/Sunfish/Fabrics/CXL/Endpoints/1/index.json b/Sunfish/Fabrics/CXL/Endpoints/1/index.json new file mode 100644 index 0000000..4b60d40 --- /dev/null +++ b/Sunfish/Fabrics/CXL/Endpoints/1/index.json @@ -0,0 +1,26 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/1", + "@odata.type": "#Endpoint.v1_7_0.Endpoint", + "ConnectedEntities": [ + { + "EntityLink": { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL" + }, + "EntityRole": "Target", + "EntityType": "Switch" + } + ], + "Description": "CXL Switch endpoint", + "EndpointProtocol": "CXL", + "Id": "1", + "Name": "CXL Switch", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + } +} \ No newline at end of file diff --git a/Sunfish/Fabrics/CXL/Endpoints/I1/index.json b/Sunfish/Fabrics/CXL/Endpoints/I1/index.json new file mode 100644 index 0000000..3ff0609 --- /dev/null +++ b/Sunfish/Fabrics/CXL/Endpoints/I1/index.json @@ -0,0 +1,44 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I1", + "@odata.type": "#Endpoint.v1_7_0.Endpoint", + "ConnectedEntities": [ + { + "EntityLink": { + "@odata.id": "/redfish/v1/Systems/CXL-System/Processors/CPU" + }, + "EntityRole": "Initiator", + "EntityType": "Processor", + "Identifiers": [ + { + "DurableName": "86D53A7B-D29A-3287-BA23-EF43A27BC6B9", + "DurableNameFormat": "UUID" + } + ] + } + ], + "Description": "CXL-System Initiator Endpoint for remote Type 1 CXL device ", + "EndpointProtocol": "CXL", + "Id": "I1", + "Links": { + "Ports": [ + { + "@odata.id": "/redfish/v1/Systems/CXL-System/Processors/CPU/Ports/1" + } + ], + "Zones": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Zones/1" + } + ] + }, + "Name": "CXL-System Initiator", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + } +} \ No newline at end of file diff --git a/Sunfish/Fabrics/CXL/Endpoints/I2/index.json b/Sunfish/Fabrics/CXL/Endpoints/I2/index.json new file mode 100644 index 0000000..1507034 --- /dev/null +++ b/Sunfish/Fabrics/CXL/Endpoints/I2/index.json @@ -0,0 +1,56 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I2", + "@odata.type": "#Endpoint.v1_7_0.Endpoint", + "ConnectedEntities": [ + { + "EntityLink": { + "@odata.id": "/redfish/v1/Systems/CXL-System/Processors/CPU" + }, + "EntityRole": "Initiator", + "EntityType": "Processor", + "Identifiers": [ + { + "DurableName": "86D53A7B-D29A-3287-BA23-EF43A27BC6B9", + "DurableNameFormat": "UUID" + } + ] + }, + { + "EntityLink": { + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory/RCXL2" + }, + "EntityRole": "Initiator", + "EntityType": "Memory" + } + ], + "Description": "CXL-System Initiator Endpoint for remote Type 2 CXL device ", + "EndpointProtocol": "CXL", + "Id": "I2", + "Links": { + "Connections": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Connections/12" + } + ], + "Ports": [ + { + "@odata.id": "/redfish/v1/Systems/CXL-System/Processors/CPU/Ports/1" + } + ], + "Zones": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Zones/2" + } + ] + }, + "Name": "CXL-System Initiator", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + } +} \ No newline at end of file diff --git a/Sunfish/Fabrics/CXL/Endpoints/I3/index.json b/Sunfish/Fabrics/CXL/Endpoints/I3/index.json new file mode 100644 index 0000000..00f6e42 --- /dev/null +++ b/Sunfish/Fabrics/CXL/Endpoints/I3/index.json @@ -0,0 +1,56 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I3", + "@odata.type": "#Endpoint.v1_7_0.Endpoint", + "ConnectedEntities": [ + { + "EntityLink": { + "@odata.id": "/redfish/v1/Systems/CXL-System/Processors/CPU" + }, + "EntityRole": "Initiator", + "EntityType": "Processor", + "Identifiers": [ + { + "DurableName": "86D53A7B-D29A-3287-BA23-EF43A27BC6B9", + "DurableNameFormat": "UUID" + } + ] + }, + { + "EntityLink": { + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory/RCXL3" + }, + "EntityRole": "Initiator", + "EntityType": "Memory" + } + ], + "Description": "CXL-System Initiator Endpoint for remote Type 3 CXL device ", + "EndpointProtocol": "CXL", + "Id": "I3", + "Links": { + "Connections": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Connections/13" + } + ], + "Ports": [ + { + "@odata.id": "/redfish/v1/Systems/CXL-System/Processors/CPU/Ports/1" + } + ], + "Zones": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Zones/3" + } + ] + }, + "Name": "CXL-System Initiator", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + } +} \ No newline at end of file diff --git a/Sunfish/Fabrics/CXL/Endpoints/T1/index.json b/Sunfish/Fabrics/CXL/Endpoints/T1/index.json new file mode 100644 index 0000000..e549e0c --- /dev/null +++ b/Sunfish/Fabrics/CXL/Endpoints/T1/index.json @@ -0,0 +1,51 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T1", + "@odata.type": "#Endpoint.v1_7_0.Endpoint", + "ConnectedEntities": [ + { + "EntityLink": { + "@odata.id": "/redfish/v1/Chassis/PCXL1/PCIeDevices/1/CXLLogicalDevices/1" + }, + "EntityRole": "Target", + "EntityType": "CXLDevice", + "Identifiers": [ + { + "DurableName": "4C-1D-96-FF-FE-DD-D8-35:1", + "DurableNameFormat": "GCXLID" + } + ] + }, + { + "EntityLink": { + "@odata.id": "/redfish/v1/Chassis/PCXL1/Processors/FPGA" + }, + "EntityRole": "Target", + "EntityType": "Processor" + } + ], + "Description": "CXL Device Type 1 target endpoint", + "EndpointProtocol": "CXL", + "Id": "T1", + "Links": { + "Ports": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL1/FabricAdapters/1/Ports/1" + } + ], + "Zones": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Zones/1" + } + ] + }, + "Name": "CXL Device Type 1 endpoint", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + } +} \ No newline at end of file diff --git a/Sunfish/Fabrics/CXL/Endpoints/T2/index.json b/Sunfish/Fabrics/CXL/Endpoints/T2/index.json new file mode 100644 index 0000000..567bc6d --- /dev/null +++ b/Sunfish/Fabrics/CXL/Endpoints/T2/index.json @@ -0,0 +1,63 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T2", + "@odata.type": "#Endpoint.v1_7_0.Endpoint", + "ConnectedEntities": [ + { + "EntityLink": { + "@odata.id": "/redfish/v1/Chassis/PCXL2/PCIeDevices/1/CXLLogicalDevices/1" + }, + "EntityRole": "Target", + "EntityType": "CXLDevice", + "Identifiers": [ + { + "DurableName": "4C-1D-96-FF-FE-DD-D8-35:1", + "DurableNameFormat": "GCXLID" + } + ] + }, + { + "EntityLink": { + "@odata.id": "/redfish/v1/Chassis/PCXL2/Processors/GPU" + }, + "EntityRole": "Target", + "EntityType": "Processor" + }, + { + "EntityLink": { + "@odata.id": "/redfish/v1/Chassis/PCXL2/MemoryDomains/1/MemoryChunks/1" + }, + "EntityRole": "Target", + "EntityType": "MemoryChunk" + } + ], + "Description": "CXL Device Type 2 target endpoint", + "EndpointProtocol": "CXL", + "Id": "T2", + "Links": { + "Connections": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Connections/12" + } + ], + "Ports": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL2/FabricAdapters/1/Ports/1" + } + ], + "Zones": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Zones/2" + } + ] + }, + "Name": "CXL Device Type 2 endpoint", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + } +} \ No newline at end of file diff --git a/Sunfish/Fabrics/CXL/Endpoints/T3/index.json b/Sunfish/Fabrics/CXL/Endpoints/T3/index.json new file mode 100644 index 0000000..387a64f --- /dev/null +++ b/Sunfish/Fabrics/CXL/Endpoints/T3/index.json @@ -0,0 +1,56 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T3", + "@odata.type": "#Endpoint.v1_7_0.Endpoint", + "ConnectedEntities": [ + { + "EntityLink": { + "@odata.id": "/redfish/v1/Chassis/PCXL3/PCIeDevices/1/CXLLogicalDevices/1" + }, + "EntityRole": "Target", + "EntityType": "CXLDevice", + "Identifiers": [ + { + "DurableName": "4C-1D-96-FF-FE-DD-D8-35:1", + "DurableNameFormat": "GCXLID" + } + ] + }, + { + "EntityLink": { + "@odata.id": "/redfish/v1/Chassis/PCXL3/MemoryDomains/1/MemoryChunks/1" + }, + "EntityRole": "Target", + "EntityType": "MemoryChunk" + } + ], + "Description": "CXL Device Type 3 target endpoint", + "EndpointProtocol": "CXL", + "Id": "T3", + "Links": { + "Connections": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Connections/13" + } + ], + "Ports": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL3/FabricAdapters/1/Ports/1" + } + ], + "Zones": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Zones/3" + } + ] + }, + "Name": "CXL Device Type 3 endpoint", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + } +} \ No newline at end of file diff --git a/Sunfish/Fabrics/CXL/Endpoints/index.json b/Sunfish/Fabrics/CXL/Endpoints/index.json new file mode 100644 index 0000000..2297eef --- /dev/null +++ b/Sunfish/Fabrics/CXL/Endpoints/index.json @@ -0,0 +1,29 @@ +{ + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints", + "@odata.type": "#Fabrics/CXL/EndpointsCollection.Fabrics/CXL/EndpointsCollection", + "Members": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I2" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I3" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T2" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T3" + } + ], + "Members@odata.count": 7, + "Name": "Fabrics/CXL/Endpoints Collection" +} \ No newline at end of file diff --git a/Sunfish/Fabrics/CXL/Switches/CXL/Ports/D1/index.json b/Sunfish/Fabrics/CXL/Switches/CXL/Ports/D1/index.json new file mode 100644 index 0000000..09b4f58 --- /dev/null +++ b/Sunfish/Fabrics/CXL/Switches/CXL/Ports/D1/index.json @@ -0,0 +1,51 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/D1", + "@odata.type": "#Port.v1_7_0.Port", + "ActiveWidth": 16, + "CapableProtocolVersions": [ + "1.1", + "2.0" + ], + "CurrentProtocolVersion": "2.0", + "CurrentSpeedGbps": 256, + "Description": "CXL Downstream Port 1 in switch", + "Id": "D1", + "InterfaceEnabled": true, + "LinkNetworkTechnology": "PCIe", + "LinkState": "Enabled", + "LinkStatus": "LinkUp", + "Links": { + "AssociatedEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T1" + } + ], + "ConnectedPorts": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL1/FabricAdapters/1/Ports/1" + } + ] + }, + "MaxSpeedGbps": 512, + "Name": "CXL Port 1", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + }, + "PortId": "D1", + "PortMedium": "Optical", + "PortProtocol": "CXL", + "PortType": "DownstreamPort", + "RemotePortId": "4C-1D-96-FF-FE-DD-D8-D1", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "Width": 8 +} \ No newline at end of file diff --git a/Sunfish/Fabrics/CXL/Switches/CXL/Ports/D2/index.json b/Sunfish/Fabrics/CXL/Switches/CXL/Ports/D2/index.json new file mode 100644 index 0000000..6d2c4fe --- /dev/null +++ b/Sunfish/Fabrics/CXL/Switches/CXL/Ports/D2/index.json @@ -0,0 +1,51 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/D2", + "@odata.type": "#Port.v1_7_0.Port", + "ActiveWidth": 16, + "CapableProtocolVersions": [ + "1.1", + "2.0" + ], + "CurrentProtocolVersion": "2.0", + "CurrentSpeedGbps": 256, + "Description": "CXL Downstream Port 2 in switch", + "Id": "D2", + "InterfaceEnabled": true, + "LinkNetworkTechnology": "PCIe", + "LinkState": "Enabled", + "LinkStatus": "LinkUp", + "Links": { + "AssociatedEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T2" + } + ], + "ConnectedPorts": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL2/FabricAdapters/1/Ports/1" + } + ] + }, + "MaxSpeedGbps": 512, + "Name": "CXL Port 2", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + }, + "PortId": "D2", + "PortMedium": "Optical", + "PortProtocol": "CXL", + "PortType": "DownstreamPort", + "RemotePortId": "4C-1D-96-FF-FE-DD-D8-D2", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "Width": 8 +} \ No newline at end of file diff --git a/Sunfish/Fabrics/CXL/Switches/CXL/Ports/D3/index.json b/Sunfish/Fabrics/CXL/Switches/CXL/Ports/D3/index.json new file mode 100644 index 0000000..c850c3b --- /dev/null +++ b/Sunfish/Fabrics/CXL/Switches/CXL/Ports/D3/index.json @@ -0,0 +1,51 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/D3", + "@odata.type": "#Port.v1_7_0.Port", + "ActiveWidth": 16, + "CapableProtocolVersions": [ + "1.1", + "2.0" + ], + "CurrentProtocolVersion": "2.0", + "CurrentSpeedGbps": 256, + "Description": "CXL Downstream Port 3 in switch", + "Id": "D3", + "InterfaceEnabled": true, + "LinkNetworkTechnology": "PCIe", + "LinkState": "Enabled", + "LinkStatus": "LinkUp", + "Links": { + "AssociatedEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T3" + } + ], + "ConnectedPorts": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL3/FabricAdapters/1/Ports/1" + } + ] + }, + "MaxSpeedGbps": 512, + "Name": "CXL Port 3", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + }, + "PortId": "D3", + "PortMedium": "Optical", + "PortProtocol": "CXL", + "PortType": "DownstreamPort", + "RemotePortId": "4C-1D-96-FF-FE-DD-D8-D3", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "Width": 8 +} \ No newline at end of file diff --git a/Sunfish/Fabrics/CXL/Switches/CXL/Ports/U1/index.json b/Sunfish/Fabrics/CXL/Switches/CXL/Ports/U1/index.json new file mode 100644 index 0000000..21b3875 --- /dev/null +++ b/Sunfish/Fabrics/CXL/Switches/CXL/Ports/U1/index.json @@ -0,0 +1,57 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/U1", + "@odata.type": "#Port.v1_7_0.Port", + "ActiveWidth": 16, + "CapableProtocolVersions": [ + "1.1", + "2.0" + ], + "CurrentProtocolVersion": "2.0", + "CurrentSpeedGbps": 512, + "Description": "CXL Upstream Port 1 in switch", + "Id": "U1", + "InterfaceEnabled": true, + "LinkNetworkTechnology": "PCIe", + "LinkState": "Enabled", + "LinkStatus": "LinkUp", + "Links": { + "AssociatedEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I2" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I3" + } + ], + "ConnectedPorts": [ + { + "@odata.id": "/redfish/v1/Systems/CXL-System/Processors/CPU/Ports/1" + } + ] + }, + "MaxSpeedGbps": 512, + "Name": "CXL Port 1", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + }, + "PortId": "4C-1D-96-FF-FE-DD-D8-D0", + "PortMedium": "Optical", + "PortProtocol": "CXL", + "PortType": "UpstreamPort", + "RemotePortId": "1", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "Width": 16 +} \ No newline at end of file diff --git a/Sunfish/Fabrics/CXL/Switches/CXL/Ports/index.json b/Sunfish/Fabrics/CXL/Switches/CXL/Ports/index.json new file mode 100644 index 0000000..3316cd9 --- /dev/null +++ b/Sunfish/Fabrics/CXL/Switches/CXL/Ports/index.json @@ -0,0 +1,20 @@ +{ + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports", + "@odata.type": "#Fabrics/CXL/Switches/CXL/PortsCollection.Fabrics/CXL/Switches/CXL/PortsCollection", + "Members": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/D1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/D2" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/D3" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/U1" + } + ], + "Members@odata.count": 4, + "Name": "Fabrics/CXL/Switches/CXL/Ports Collection" +} \ No newline at end of file diff --git a/Sunfish/Fabrics/CXL/Switches/CXL/index.json b/Sunfish/Fabrics/CXL/Switches/CXL/index.json new file mode 100644 index 0000000..f6f4198 --- /dev/null +++ b/Sunfish/Fabrics/CXL/Switches/CXL/index.json @@ -0,0 +1,32 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL", + "@odata.type": "#Switch.v1_7_0.Switch", + "Id": "CXL", + "Links": { + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/1" + } + ] + }, + "Name": "CXL Switch", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + }, + "Ports": { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports" + }, + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "SwitchType": "CXL", + "UUID": "1ad59fe9-49f9-52fa-9a93-e349f9477fe0" +} \ No newline at end of file diff --git a/Sunfish/Fabrics/CXL/Switches/index.json b/Sunfish/Fabrics/CXL/Switches/index.json new file mode 100644 index 0000000..6e6cfca --- /dev/null +++ b/Sunfish/Fabrics/CXL/Switches/index.json @@ -0,0 +1,11 @@ +{ + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches", + "@odata.type": "#Fabrics/CXL/SwitchesCollection.Fabrics/CXL/SwitchesCollection", + "Members": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL" + } + ], + "Members@odata.count": 1, + "Name": "Fabrics/CXL/Switches Collection" +} \ No newline at end of file diff --git a/Sunfish/Fabrics/CXL/Zones/1/index.json b/Sunfish/Fabrics/CXL/Zones/1/index.json new file mode 100644 index 0000000..6be109c --- /dev/null +++ b/Sunfish/Fabrics/CXL/Zones/1/index.json @@ -0,0 +1,34 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Fabrics/CXL/Zones/1", + "@odata.type": "#Zone.v1_6_1.Zone", + "Description": "CXL Zone 1", + "Id": "1", + "Links": { + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/1" + } + ] + }, + "Name": "CXL Zone 1", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + }, + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "ZoneType": "ZoneOfEndpoints" +} \ No newline at end of file diff --git a/Sunfish/Fabrics/CXL/Zones/2/index.json b/Sunfish/Fabrics/CXL/Zones/2/index.json new file mode 100644 index 0000000..7cc8071 --- /dev/null +++ b/Sunfish/Fabrics/CXL/Zones/2/index.json @@ -0,0 +1,34 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Fabrics/CXL/Zones/2", + "@odata.type": "#Zone.v1_6_1.Zone", + "Description": "CXL Zone 2", + "Id": "2", + "Links": { + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I2" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T2" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/1" + } + ] + }, + "Name": "CXL Zone 2", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + }, + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "ZoneType": "ZoneOfEndpoints" +} \ No newline at end of file diff --git a/Sunfish/Fabrics/CXL/Zones/3/index.json b/Sunfish/Fabrics/CXL/Zones/3/index.json new file mode 100644 index 0000000..79c0973 --- /dev/null +++ b/Sunfish/Fabrics/CXL/Zones/3/index.json @@ -0,0 +1,34 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Fabrics/CXL/Zones/3", + "@odata.type": "#Zone.v1_6_1.Zone", + "Description": "CXL Zone 3", + "Id": "3", + "Links": { + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I3" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T3" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/1" + } + ] + }, + "Name": "CXL Zone 3", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + }, + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "ZoneType": "ZoneOfEndpoints" +} \ No newline at end of file diff --git a/Sunfish/Fabrics/CXL/Zones/index.json b/Sunfish/Fabrics/CXL/Zones/index.json new file mode 100644 index 0000000..7b03299 --- /dev/null +++ b/Sunfish/Fabrics/CXL/Zones/index.json @@ -0,0 +1,17 @@ +{ + "@odata.id": "/redfish/v1/Fabrics/CXL/Zones", + "@odata.type": "#Fabrics/CXL/ZonesCollection.Fabrics/CXL/ZonesCollection", + "Members": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Zones/1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Zones/2" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Zones/3" + } + ], + "Members@odata.count": 3, + "Name": "Fabrics/CXL/Zones Collection" +} \ No newline at end of file diff --git a/Sunfish/Fabrics/CXL/index.json b/Sunfish/Fabrics/CXL/index.json new file mode 100644 index 0000000..a380c2a --- /dev/null +++ b/Sunfish/Fabrics/CXL/index.json @@ -0,0 +1,26 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Fabrics/CXL", + "@odata.type": "#Fabric.v1_2_2.Fabric", + "Connections": { + "@odata.id": "/redfish/v1/Fabrics/CXL/Connections" + }, + "Description": "CXL Fabric", + "Endpoints": { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints" + }, + "FabricType": "CXL", + "Id": "CXL", + "Name": "CXL Fabric", + "Oem": {}, + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "Switches": { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches" + }, + "Zones": { + "@odata.id": "/redfish/v1/Fabrics/CXL/Zones" + } +} \ No newline at end of file diff --git a/Sunfish/Fabrics/index.json b/Sunfish/Fabrics/index.json new file mode 100644 index 0000000..7b91aee --- /dev/null +++ b/Sunfish/Fabrics/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#FabricCollection.FabricCollection", + "Name": "Fabric Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL" + } + ], + "@odata.id": "/redfish/v1/Fabrics", + "@Redfish.Copyright": "Copyright 2015-2022 SNIA. All rights reserved." +} \ No newline at end of file diff --git a/Sunfish/Managers/NVMeoF/EthernetInterfaces/Dedicated/index.json b/Sunfish/Managers/NVMeoF/EthernetInterfaces/Dedicated/index.json new file mode 100644 index 0000000..e4a73e4 --- /dev/null +++ b/Sunfish/Managers/NVMeoF/EthernetInterfaces/Dedicated/index.json @@ -0,0 +1,81 @@ +{ + "@odata.id": "/redfish/v1/Managers/NVMeoF/EthernetInterfaces/Dedicated", + "@odata.type": "#EthernetInterface.v1_7_0.EthernetInterface", + "AutoNeg": true, + "Description": "Management Network Interface", + "FQDN": "web483-bmc.dmtf.org", + "FullDuplex": true, + "HostName": "web483-bmc", + "IPv4Addresses": [ + { + "Address": "192.168.0.10", + "AddressOrigin": "DHCP", + "Gateway": "192.168.0.1", + "Oem": {}, + "SubnetMask": "255.255.252.0" + } + ], + "IPv4StaticAddresses": [ + { + "Address": "192.168.0.10", + "AddressOrigin": "Static", + "Gateway": "192.168.0.1", + "SubnetMask": "255.255.252.0" + } + ], + "IPv6AddressPolicyTable": [ + { + "Label": 0, + "Precedence": 50, + "Prefix": "::1/128" + } + ], + "IPv6Addresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "AddressOrigin": "SLAAC", + "AddressState": "Preferred", + "Oem": {}, + "PrefixLength": 64 + } + ], + "IPv6DefaultGateway": "fe80::1ec1:deff:fe6f:1e24", + "IPv6StaticAddresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 16 + } + ], + "IPv6StaticDefaultGateways": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 16 + } + ], + "Id": "Dedicated", + "InterfaceEnabled": true, + "LinkStatus": "LinkUp", + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/EBOFEnclosure" + } + }, + "MACAddress": "23:11:8A:33:CF:EA", + "MTUSize": 1500, + "MaxIPv6StaticAddresses": 1, + "Name": "Manager Ethernet Interface", + "NameServers": [ + "names.dmtf.org" + ], + "Oem": {}, + "PermanentMACAddress": "23:11:8A:33:CF:EA", + "SpeedMbps": 100, + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "VLAN": { + "VLANEnable": true, + "VLANId": 101 + } +} \ No newline at end of file diff --git a/Sunfish/Managers/NVMeoF/EthernetInterfaces/index.json b/Sunfish/Managers/NVMeoF/EthernetInterfaces/index.json new file mode 100644 index 0000000..b0941d0 --- /dev/null +++ b/Sunfish/Managers/NVMeoF/EthernetInterfaces/index.json @@ -0,0 +1,13 @@ +{ + "@odata.id": "/redfish/v1/Managers/NVMeoF/EthernetInterfaces", + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Description": "Collection of EthernetInterfaces for this Manager", + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/NVMeoF/EthernetInterfaces/Dedicated" + } + ], + "Members@odata.count": 1, + "Name": "Ethernet Network Interface Collection", + "Oem": {} +} \ No newline at end of file diff --git a/Sunfish/Managers/NVMeoF/LogServices/Log/index.json b/Sunfish/Managers/NVMeoF/LogServices/Log/index.json new file mode 100644 index 0000000..1432835 --- /dev/null +++ b/Sunfish/Managers/NVMeoF/LogServices/Log/index.json @@ -0,0 +1,25 @@ +{ + "@odata.id": "/redfish/v1/Managers/NVMeoF/LogServices/Log", + "@odata.type": "#LogService.v1_3_1.LogService", + "Actions": { + "#LogService.ClearLog": { + "target": "/redfish/v1/Managers/NVMeoF/LogServices/Log/Actions/LogService.ClearLog" + }, + "Oem": {} + }, + "DateTime": "2015-03-13T04:14:33+06:00", + "DateTimeLocalOffset": "+06:00", + "Entries": { + "@odata.id": "/redfish/v1/Managers/NVMeoF/LogServices/Log/Entries" + }, + "Id": "Log", + "MaxNumberOfRecords": 1000, + "Name": "System Log Service", + "Oem": {}, + "OverWritePolicy": "WrapsWhenFull", + "ServiceEnabled": true, + "Status": { + "Health": "OK", + "State": "Enabled" + } +} \ No newline at end of file diff --git a/Sunfish/Managers/NVMeoF/LogServices/index.json b/Sunfish/Managers/NVMeoF/LogServices/index.json new file mode 100644 index 0000000..381daf8 --- /dev/null +++ b/Sunfish/Managers/NVMeoF/LogServices/index.json @@ -0,0 +1,12 @@ +{ + "@odata.id": "/redfish/v1/Managers/NVMeoF/LogServices", + "@odata.type": "#LogServiceCollection.LogServiceCollection", + "Description": "Collection of Log Services for this Manager", + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/NVMeoF/LogServices/Log" + } + ], + "Members@odata.count": 1, + "Name": "Log Service Collection" +} \ No newline at end of file diff --git a/Sunfish/Managers/NVMeoF/NetworkProtocol/index.json b/Sunfish/Managers/NVMeoF/NetworkProtocol/index.json new file mode 100644 index 0000000..0787aa8 --- /dev/null +++ b/Sunfish/Managers/NVMeoF/NetworkProtocol/index.json @@ -0,0 +1,37 @@ +{ + "@odata.id": "/redfish/v1/Managers/NVMeoF/NetworkProtocol", + "@odata.type": "#ManagerNetworkProtocol.v1_8_1.ManagerNetworkProtocol", + "Description": "Manager Network Service", + "FQDN": "ebofmgr1.dmtf.org", + "HTTP": { + "Port": 80, + "ProtocolEnabled": true + }, + "HTTPS": { + "Port": 443, + "ProtocolEnabled": true + }, + "HostName": "ebofmgr1", + "Id": "NetworkProtocol", + "Name": "Manager Network Protocol", + "Oem": {}, + "SSDP": { + "NotifyIPv6Scope": "Site", + "NotifyMulticastIntervalSeconds": 600, + "NotifyTTL": 5, + "Port": 1900, + "ProtocolEnabled": true + }, + "SSH": { + "Port": 22, + "ProtocolEnabled": true + }, + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "Telnet": { + "Port": 23, + "ProtocolEnabled": true + } +} \ No newline at end of file diff --git a/Sunfish/Managers/NVMeoF/index.json b/Sunfish/Managers/NVMeoF/index.json new file mode 100644 index 0000000..2b0c05d --- /dev/null +++ b/Sunfish/Managers/NVMeoF/index.json @@ -0,0 +1,63 @@ +{ + "@Redfish.Copyright": "Copyright 2NVMeoF14-2NVMeoF21 SNIA. All rights reserved.", + "@odata.id": "/redfish/v1/Managers/NVMeoF", + "@odata.type": "#Manager.v1_15_0.Manager", + "Actions": { + "#Manager.Reset": { + "ResetType@Redfish.AllowableValues": [ + "ForceOff", + "PowerCycle", + "On" + ], + "target": "/redfish/v1/Managers/NVMeoF/Actions/Manager.Reset" + }, + "Oem": {} + }, + "CommandShell": { + "ConnectTypesSupported": [ + "Telnet", + "SSH" + ], + "MaxConcurrentSessions": 4, + "ServiceEnabled": true + }, + "DateTime": "2021-03-13T04:14:33+06:00", + "DateTimeLocalOffset": "+06:00", + "Description": "Contoso NVMeoF", + "EthernetInterfaces": { + "@odata.id": "/redfish/v1/Managers/NVMeoF/EthernetInterfaces" + }, + "FirmwareVersion": "1.00", + "Id": "NVMeoF", + "Links": { + "ManagerForChassis": [ + { + "@odata.id": "/redfish/v1/Chassis/EBOFEnclosure" + } + ], + "ManagerInChassis": { + "@odata.id": "/redfish/v1/Chassis/EBOFEnclosure" + }, + "Oem": {} + }, + "LocationIndicatorActive": false, + "LogServices": { + "@odata.id": "/redfish/v1/Managers/NVMeoF/LogServices" + }, + "ManagerType": "EnclosureManager", + "Manufacturer": "Box Manufacturer", + "Model": "Joo Janta 200", + "Name": "NVMeoF Manager", + "NetworkProtocol": { + "@odata.id": "/redfish/v1/Managers/NVMeoF/NetworkProtocol" + }, + "Oem": {}, + "PowerState": "On", + "SerialNumber": "AX1823-045", + "ServiceEntryPointUUID": "92384634-2938-2342-8820-489239905423", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "UUID": "58893887-8974-2487-2389-841168418919" +} \ No newline at end of file diff --git a/Sunfish/Managers/Sunfish/EthernetInterfaces/Dedicated/index.json b/Sunfish/Managers/Sunfish/EthernetInterfaces/Dedicated/index.json new file mode 100644 index 0000000..c46f49d --- /dev/null +++ b/Sunfish/Managers/Sunfish/EthernetInterfaces/Dedicated/index.json @@ -0,0 +1,72 @@ +{ + "@odata.type": "#EthernetInterface.v1_7_0.EthernetInterface", + "Id": "Dedicated", + "Name": "Manager Ethernet Interface", + "Description": "Management Network Interface", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "LinkStatus": "LinkUp", + "InterfaceEnabled": true, + "PermanentMACAddress": "23:11:8A:33:CF:EA", + "MACAddress": "23:11:8A:33:CF:EA", + "SpeedMbps": 100, + "AutoNeg": true, + "FullDuplex": true, + "MTUSize": 1500, + "HostName": "web483-bmc", + "FQDN": "web483-bmc.dmtf.org", + "MaxIPv6StaticAddresses": 1, + "VLAN": { + "VLANEnable": true, + "VLANId": 101 + }, + "IPv4Addresses": [{ + "Address": "192.168.0.10", + "SubnetMask": "255.255.252.0", + "AddressOrigin": "DHCP", + "Gateway": "192.168.0.1", + "Oem": {} + }], + "IPv4StaticAddresses": [{ + "Address": "192.168.0.10", + "SubnetMask": "255.255.252.0", + "AddressOrigin": "Static", + "Gateway": "192.168.0.1" + }], + "IPv6AddressPolicyTable": [{ + "Prefix": "::1/128", + "Precedence": 50, + "Label": 0 + }], + "IPv6StaticAddresses": [{ + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 16 + }], + "IPv6DefaultGateway": "fe80::1ec1:deff:fe6f:1e24", + "IPv6StaticDefaultGateways": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 16 + } + ], + "IPv6Addresses": [{ + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 64, + "AddressOrigin": "SLAAC", + "AddressState": "Preferred", + "Oem": {} + }], + "NameServers": [ + "names.dmtf.org" + ], + "Oem": {}, + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/EBOFEnclosure" + } + }, + "@odata.id": "/redfish/v1/Managers/Sunfish/EthernetInterfaces/Dedicated", + "@Redfish.Copyright": "Copyright 2015-2022 SNIA. All rights reserved." +} diff --git a/Sunfish/Managers/Sunfish/EthernetInterfaces/index.json b/Sunfish/Managers/Sunfish/EthernetInterfaces/index.json new file mode 100644 index 0000000..8ab2b17 --- /dev/null +++ b/Sunfish/Managers/Sunfish/EthernetInterfaces/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Name": "Ethernet Network Interface Collection", + "Description": "Collection of EthernetInterfaces for this Manager", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/Sunfish/EthernetInterfaces/Dedicated" + } + ], + "Oem": {}, + "@odata.id": "/redfish/v1/Managers/Sunfish/EthernetInterfaces", + "@Redfish.Copyright": "Copyright 2015-2022 SNIA. All rights reserved." +} diff --git a/Sunfish/Managers/Sunfish/LogServices/Log/Entries/1/index.json b/Sunfish/Managers/Sunfish/LogServices/Log/Entries/1/index.json new file mode 100644 index 0000000..4923c58 --- /dev/null +++ b/Sunfish/Managers/Sunfish/LogServices/Log/Entries/1/index.json @@ -0,0 +1,23 @@ +{ + "@odata.type": "#LogEntry.v1_12_0.LogEntry", + "Id": "1", + "Name": "Log Entry 1", + "EntryType": "Event", + "Severity": "Critical", + "Created": "2012-03-07T14:44:00Z", + "SensorNumber": 1, + "Message": "System May be Melting", + "MessageId": "Event.1.0.TempWayTooHot", + "MessageArgs": [ + "88" + ], + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/EBOFEnclosure/Thermal" + }, + "Oem": {} + }, + "Oem": {}, + "@odata.id": "/redfish/v1/Managers/Sunfish/LogServices/Log/Entries/1", + "@Redfish.Copyright": "Copyright 2015-2022 SNIA. All rights reserved." +} diff --git a/Sunfish/Managers/Sunfish/LogServices/Log/Entries/index.json b/Sunfish/Managers/Sunfish/LogServices/Log/Entries/index.json new file mode 100644 index 0000000..04d5b49 --- /dev/null +++ b/Sunfish/Managers/Sunfish/LogServices/Log/Entries/index.json @@ -0,0 +1,31 @@ +{ + "@odata.type": "#LogEntryCollection.LogEntryCollection", + "Name": "Log Service Collection", + "Description": "Collection of Logs for this System", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/Sunfish/LogServices/Log/Entries/1", + "Id": "1", + "Name": "Log Entry 1", + "EntryType": "Event", + "Severity": "Critical", + "Created": "2012-03-07T14:44:00Z", + "SensorNumber": 1, + "Message": "System May be Melting", + "MessageId": "Event.1.0.TempWayTooHot", + "MessageArgs": [ + "88" + ], + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/EBOFEnclosure/Thermal" + }, + "Oem": {} + }, + "Oem": {} + } + ], + "@odata.id": "/redfish/v1/Managers/Sunfish/LogServices/Log/Entries", + "@Redfish.Copyright": "Copyright 2015-2022 SNIA. All rights reserved." +} diff --git a/Sunfish/Managers/Sunfish/LogServices/Log/index.json b/Sunfish/Managers/Sunfish/LogServices/Log/index.json new file mode 100644 index 0000000..106c78d --- /dev/null +++ b/Sunfish/Managers/Sunfish/LogServices/Log/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#LogService.v1_3_1.LogService", + "Id": "Log", + "Name": "System Log Service", + "MaxNumberOfRecords": 1000, + "OverWritePolicy": "WrapsWhenFull", + "DateTime": "2015-03-13T04:14:33+06:00", + "DateTimeLocalOffset": "+06:00", + "ServiceEnabled": true, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Oem": {}, + "Actions": { + "#LogService.ClearLog": { + "target": "/redfish/v1/Managers/Sunfish/LogServices/Log/Actions/LogService.ClearLog" + }, + "Oem": {} + }, + "Entries": { + "@odata.id": "/redfish/v1/Managers/Sunfish/LogServices/Log/Entries" + }, + "@odata.id": "/redfish/v1/Managers/Sunfish/LogServices/Log", + "@Redfish.Copyright": "Copyright 2015-2022 SNIA. All rights reserved." +} diff --git a/Sunfish/Managers/Sunfish/LogServices/index.json b/Sunfish/Managers/Sunfish/LogServices/index.json new file mode 100644 index 0000000..43548b0 --- /dev/null +++ b/Sunfish/Managers/Sunfish/LogServices/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#LogServiceCollection.LogServiceCollection", + "Name": "Log Service Collection", + "Description": "Collection of Log Services for this Manager", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/Sunfish/LogServices/Log" + } + ], + "@odata.id": "/redfish/v1/Managers/Sunfish/LogServices", + "@Redfish.Copyright": "Copyright 2015-2022 SNIA. All rights reserved." +} diff --git a/Sunfish/Managers/Sunfish/NetworkProtocol/index.json b/Sunfish/Managers/Sunfish/NetworkProtocol/index.json new file mode 100644 index 0000000..4494653 --- /dev/null +++ b/Sunfish/Managers/Sunfish/NetworkProtocol/index.json @@ -0,0 +1,38 @@ +{ + "@odata.type": "#ManagerNetworkProtocol.v1_8_1.ManagerNetworkProtocol", + "Id": "NetworkProtocol", + "Name": "Manager Network Protocol", + "Description": "Manager Network Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "HostName": "ebofmgr1", + "FQDN": "ebofmgr1.dmtf.org", + "HTTP": { + "ProtocolEnabled": true, + "Port": 80 + }, + "HTTPS": { + "ProtocolEnabled": true, + "Port": 443 + }, + "SSH": { + "ProtocolEnabled": true, + "Port": 22 + }, + "SSDP": { + "ProtocolEnabled": true, + "Port": 1900, + "NotifyMulticastIntervalSeconds": 600, + "NotifyTTL": 5, + "NotifyIPv6Scope": "Site" + }, + "Telnet": { + "ProtocolEnabled": true, + "Port": 23 + }, + "Oem": {}, + "@odata.id": "/redfish/v1/Managers/Sunfish/NetworkProtocol", + "@Redfish.Copyright": "Copyright 2015-2022 SNIA. All rights reserved." +} diff --git a/Sunfish/Managers/Sunfish/index.json b/Sunfish/Managers/Sunfish/index.json new file mode 100644 index 0000000..a377db9 --- /dev/null +++ b/Sunfish/Managers/Sunfish/index.json @@ -0,0 +1,53 @@ +{ + "@odata.type": "#Manager.v1_15_0.Manager", + "Id": "Sunfish", + "Name": "Sunfish Manager", + "ManagerType": "EnclosureManager", + "Description": "Contoso Sunfish", + "ServiceEntryPointUUID": "92384634-2938-2342-8820-489239905423", + "UUID": "58893887-8974-2487-2389-841168418919", + "Manufacturer": "Box Manufacturer", + "Model": "Joo Janta 200", + "DateTime": "2021-03-13T04:14:33+06:00", + "DateTimeLocalOffset": "+06:00", + "SerialNumber": "AX1823-045", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PowerState": "On", + "CommandShell": { + "ServiceEnabled": true, + "MaxConcurrentSessions": 4, + "ConnectTypesSupported": [ + "Telnet", + "SSH" + ] + }, + "FirmwareVersion": "1.00", + "NetworkProtocol": { + "@odata.id": "/redfish/v1/Managers/Sunfish/NetworkProtocol" + }, + "EthernetInterfaces": { + "@odata.id": "/redfish/v1/Managers/Sunfish/EthernetInterfaces" + }, + "LocationIndicatorActive": false, + "LogServices": { + "@odata.id": "/redfish/v1/Managers/Sunfish/LogServices" + }, + "Links": { + "Oem": {} + }, + "Actions": { + "#Manager.Reset": { + "target": "/redfish/v1/Managers/Sunfish/Actions/Manager.Reset", + "ResetType@Redfish.AllowableValues": [ + "ForceOff", "PowerCycle", "On" + ] + }, + "Oem": {} + }, + "Oem": {}, + "@odata.id": "/redfish/v1/Managers/Sunfish", + "@Redfish.Copyright": "Copyright 2015-2022 SNIA. All rights reserved." +} diff --git a/Sunfish/Managers/index.json b/Sunfish/Managers/index.json new file mode 100644 index 0000000..864335e --- /dev/null +++ b/Sunfish/Managers/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ManagerCollection.ManagerCollection", + "Name": "Manager Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/Sunfish" + } + ], + "@odata.id": "/redfish/v1/Managers", + "@Redfish.Copyright": "Copyright 2015-2022 SNIA. All rights reserved." +} diff --git a/Sunfish/Registries/AdvertisedFeatures.v1_0_0.json b/Sunfish/Registries/AdvertisedFeatures.v1_0_0.json new file mode 100644 index 0000000..c2505ec --- /dev/null +++ b/Sunfish/Registries/AdvertisedFeatures.v1_0_0.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#FeaturesRegistry.v1_1_1.FeaturesRegistry", + "Id": "AdvertisedFeatures.v1_0_0", + "Name": "Global Swordfish Features Registry", + "Language": "en", + "RegistryPrefix": "SwordfishFeaturesRegistry", + "RegistryVersion": "1.3.0", + "OwningEntity": "SNIA", + "Features": [{ + "FeatureName": "SNIA.Swordfish.NVMeEBOF", + "Description": "Supports the NVMe EBOF Feature set.", + "Version": "1.0.0", + "CorrespondingProfileDefinition": "SwordfishNVMeEBOF.json" + }] +} diff --git a/Sunfish/Registries/AdvertisedFeatures.v1_0_0/index.json b/Sunfish/Registries/AdvertisedFeatures.v1_0_0/index.json new file mode 100644 index 0000000..b8947ab --- /dev/null +++ b/Sunfish/Registries/AdvertisedFeatures.v1_0_0/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#MessageRegistryFile.v1_1_3.MessageRegistryFile", + "Id": "AdvertisedFeatures.v1_0_0", + "Name": "Swordfish Feature Registry File", + "Description": "Swordfish Feature Registry File locations", + "Languages": ["en"], + "Registry": "SwordfishFeaturesRegistry.1.3.0", + "Location": [ + { + "Language": "en", + "PublicationUri": "https://contoso.com/productX/featureinfo/AdvertisedFeatures.v1_0_0.json", + "Uri": "/redfish/v1/Registries/AdvertisedFeatures.v1_0_0.json" + } + ], + "Oem": {}, + "@odata.id": "/redfish/v1/Registries/AdvertisedFeatures.v1_0_0", + "@Redfish.Copyright": "Copyright 2015-2022 SNIA. All rights reserved." +} diff --git a/Sunfish/Registries/index.json b/Sunfish/Registries/index.json new file mode 100644 index 0000000..b1731e1 --- /dev/null +++ b/Sunfish/Registries/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#MessageRegistryFileCollection.MessageRegistryFileCollection", + "Name": "Registry File Collection", + "Description": "Registry Repository", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Registries/AdvertisedFeatures.v1_0_0" + } + ], + "@odata.id": "/redfish/v1/Registries", + "@Redfish.Copyright": "Copyright 2015-2022 SNIA. All rights reserved." +} \ No newline at end of file diff --git a/Sunfish/SessionService/Sessions/1234567890ABCDEF/index.json b/Sunfish/SessionService/Sessions/1234567890ABCDEF/index.json new file mode 100644 index 0000000..821dc9a --- /dev/null +++ b/Sunfish/SessionService/Sessions/1234567890ABCDEF/index.json @@ -0,0 +1,9 @@ +{ + "@odata.type": "#Session.v1_4_0.Session", + "Id": "1234567890ABCDEF", + "Name": "User Session", + "Description": "Manager User Session", + "UserName": "Administrator", + "@odata.id": "/redfish/v1/SessionService/Sessions/1234567890ABCDEF", + "@Redfish.Copyright": "Copyright 2015-2022 SNIA. All rights reserved." +} \ No newline at end of file diff --git a/Sunfish/SessionService/Sessions/index.json b/Sunfish/SessionService/Sessions/index.json new file mode 100644 index 0000000..117da2f --- /dev/null +++ b/Sunfish/SessionService/Sessions/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#SessionCollection.SessionCollection", + "Name": "Session Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/SessionService/Sessions/1234567890ABCDEF" + } + ], + "@odata.id": "/redfish/v1/SessionService/Sessions", + "@Redfish.Copyright": "Copyright 2015-2022 SNIA. All rights reserved." +} \ No newline at end of file diff --git a/Sunfish/SessionService/index.json b/Sunfish/SessionService/index.json new file mode 100644 index 0000000..0677ad5 --- /dev/null +++ b/Sunfish/SessionService/index.json @@ -0,0 +1,17 @@ +{ + "@odata.type": "#SessionService.v1_1_8.SessionService", + "Id": "SessionService", + "Name": "Session Service", + "Description": "Session Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "SessionTimeout": 1800, + "Sessions": { + "@odata.id": "/redfish/v1/SessionService/Sessions" + }, + "@odata.id": "/redfish/v1/SessionService", + "@Redfish.Copyright": "Copyright 2015-2022 SNIA. All rights reserved." +} \ No newline at end of file diff --git a/Sunfish/Storage/index.json b/Sunfish/Storage/index.json new file mode 100644 index 0000000..197bbb6 --- /dev/null +++ b/Sunfish/Storage/index.json @@ -0,0 +1,8 @@ +{ + "@odata.type": "#StorageCollection.StorageCollection", + "Name": "Storage Collection", + "Members@odata.count": 0, + "Members": [], + "@odata.id": "/redfish/v1/Storage", + "@Redfish.Copyright": "Copyright 2015-2022 SNIA. All rights reserved." +} diff --git a/Sunfish/Systems/CXL-System/Memory/CXL2/index.json b/Sunfish/Systems/CXL-System/Memory/CXL2/index.json new file mode 100644 index 0000000..80f64e1 --- /dev/null +++ b/Sunfish/Systems/CXL-System/Memory/CXL2/index.json @@ -0,0 +1,30 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory/CXL2", + "@odata.type": "#Memory.v1_15_0.Memory", + "CapacityMiB": 4096, + "Description": "Local CXL device memory", + "Id": "CXL2", + "MemoryMedia": [ + "CXL" + ], + "MemoryMediaSources": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL2/MemoryDomains/1/MemoryChunks/1" + } + ], + "Name": "CXL Device memory", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + }, + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + } +} \ No newline at end of file diff --git a/Sunfish/Systems/CXL-System/Memory/CXL3/index.json b/Sunfish/Systems/CXL-System/Memory/CXL3/index.json new file mode 100644 index 0000000..556b48d --- /dev/null +++ b/Sunfish/Systems/CXL-System/Memory/CXL3/index.json @@ -0,0 +1,30 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory/CXL3", + "@odata.type": "#Memory.v1_15_0.Memory", + "CapacityMiB": 4096, + "Description": "Local CXL device memory", + "Id": "CXL3", + "MemoryMedia": [ + "CXL" + ], + "MemoryMediaSources": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL3/MemoryDomains/1/MemoryChunks/1" + } + ], + "Name": "CXL Device memory", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + }, + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + } +} \ No newline at end of file diff --git a/Sunfish/Systems/CXL-System/Memory/RCXL2/index.json b/Sunfish/Systems/CXL-System/Memory/RCXL2/index.json new file mode 100644 index 0000000..e95d63e --- /dev/null +++ b/Sunfish/Systems/CXL-System/Memory/RCXL2/index.json @@ -0,0 +1,37 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory/RCXL2", + "@odata.type": "#Memory.v1_15_0.Memory", + "CapacityMiB": 4096, + "Description": "Remote CXL device memory", + "Id": "RCXL2", + "Links": { + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I2" + } + ] + }, + "MemoryMedia": [ + "Fabric" + ], + "MemoryMediaSources": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL2/MemoryDomains/1/MemoryChunks/1" + } + ], + "Name": "CXL Device memory", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + }, + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + } +} \ No newline at end of file diff --git a/Sunfish/Systems/CXL-System/Memory/RCXL3/index.json b/Sunfish/Systems/CXL-System/Memory/RCXL3/index.json new file mode 100644 index 0000000..6827caf --- /dev/null +++ b/Sunfish/Systems/CXL-System/Memory/RCXL3/index.json @@ -0,0 +1,37 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory/RCXL3", + "@odata.type": "#Memory.v1_15_0.Memory", + "CapacityMiB": 4096, + "Description": "Remote CXL device memory", + "Id": "RCXL3", + "Links": { + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I3" + } + ] + }, + "MemoryMedia": [ + "Fabric" + ], + "MemoryMediaSources": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL3/MemoryDomains/1/MemoryChunks/1" + } + ], + "Name": "CXL Device memory", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + }, + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + } +} \ No newline at end of file diff --git a/Sunfish/Systems/CXL-System/Memory/index.json b/Sunfish/Systems/CXL-System/Memory/index.json new file mode 100644 index 0000000..c3e5bbf --- /dev/null +++ b/Sunfish/Systems/CXL-System/Memory/index.json @@ -0,0 +1,20 @@ +{ + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory", + "@odata.type": "#Systems/CXL-System/MemoryCollection.Systems/CXL-System/MemoryCollection", + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory/CXL2" + }, + { + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory/CXL3" + }, + { + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory/RCXL2" + }, + { + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory/RCXL3" + } + ], + "Members@odata.count": 4, + "Name": "Systems/CXL-System/Memory Collection" +} \ No newline at end of file diff --git a/Sunfish/Systems/CXL-System/MemoryDomains/CXL/MemoryChunks/1/index.json b/Sunfish/Systems/CXL-System/MemoryDomains/CXL/MemoryChunks/1/index.json new file mode 100644 index 0000000..388fe54 --- /dev/null +++ b/Sunfish/Systems/CXL-System/MemoryDomains/CXL/MemoryChunks/1/index.json @@ -0,0 +1,47 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Systems/CXL-System/MemoryDomains/CXL/MemoryChunks/1", + "@odata.type": "#MemoryChunks.v1_5_0.MemoryChunks", + "AddressRangeOffsetMiB": 65536, + "AddressRangeType": "Volatile", + "Description": "All CXL Memory chunk", + "Id": "1", + "InterleaveSets": [ + { + "Memory": { + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory/CXL2" + } + }, + { + "Memory": { + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory/CXL3" + } + }, + { + "Memory": { + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory/RCXL2" + } + }, + { + "Memory": { + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory/RCXL3" + } + } + ], + "MediaLocation": "Mixed", + "MemoryChunkSizeMiB": 16384, + "Name": "Memory Chunk 1", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + }, + "OperationalState": "Online", + "Status": { + "Health": "OK", + "State": "Enabled" + } +} \ No newline at end of file diff --git a/Sunfish/Systems/CXL-System/MemoryDomains/CXL/MemoryChunks/index.json b/Sunfish/Systems/CXL-System/MemoryDomains/CXL/MemoryChunks/index.json new file mode 100644 index 0000000..dbd01f2 --- /dev/null +++ b/Sunfish/Systems/CXL-System/MemoryDomains/CXL/MemoryChunks/index.json @@ -0,0 +1,11 @@ +{ + "@odata.id": "/redfish/v1/Systems/CXL-System/MemoryDomains/CXL/MemoryChunks", + "@odata.type": "#Systems/CXL-System/MemoryDomains/CXL/MemoryChunksCollection.Systems/CXL-System/MemoryDomains/CXL/MemoryChunksCollection", + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/CXL-System/MemoryDomains/CXL/MemoryChunks/1" + } + ], + "Members@odata.count": 1, + "Name": "Systems/CXL-System/MemoryDomains/CXL/MemoryChunks Collection" +} \ No newline at end of file diff --git a/Sunfish/Systems/CXL-System/MemoryDomains/CXL/index.json b/Sunfish/Systems/CXL-System/MemoryDomains/CXL/index.json new file mode 100644 index 0000000..9d0a4ee --- /dev/null +++ b/Sunfish/Systems/CXL-System/MemoryDomains/CXL/index.json @@ -0,0 +1,45 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Systems/CXL-System/MemoryDomains/CXL", + "@odata.type": "#MemoryDomain.v1_4_0.MemoryDomain", + "AllowsMemoryChunkCreation": true, + "Description": "Local and Remote CXL Memory Domain", + "Id": "CXL", + "InterleavableMemorySets": [ + { + "MemorySet": [ + { + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory/CXL2" + }, + { + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory/CXL3" + }, + { + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory/RCXL2" + }, + { + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory/RCXL3" + } + ] + } + ], + "MemoryChunkIncrementMiB": 64, + "MemoryChunks": { + "@odata.id": "/redfish/v1/Systems/CXL-System/MemoryDomains/CXL/MemoryChunks" + }, + "MinMemoryChunkSizeMiB": 64, + "Name": "CXL Memory Domain", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + }, + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + } +} \ No newline at end of file diff --git a/Sunfish/Systems/CXL-System/MemoryDomains/index.json b/Sunfish/Systems/CXL-System/MemoryDomains/index.json new file mode 100644 index 0000000..1b8dd2b --- /dev/null +++ b/Sunfish/Systems/CXL-System/MemoryDomains/index.json @@ -0,0 +1,11 @@ +{ + "@odata.id": "/redfish/v1/Systems/CXL-System/MemoryDomains", + "@odata.type": "#Systems/CXL-System/MemoryDomainsCollection.Systems/CXL-System/MemoryDomainsCollection", + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/CXL-System/MemoryDomains/CXL" + } + ], + "Members@odata.count": 1, + "Name": "Systems/CXL-System/MemoryDomains Collection" +} \ No newline at end of file diff --git a/Sunfish/Systems/CXL-System/Processors/CPU/Ports/1/index.json b/Sunfish/Systems/CXL-System/Processors/CPU/Ports/1/index.json new file mode 100644 index 0000000..82bed6e --- /dev/null +++ b/Sunfish/Systems/CXL-System/Processors/CPU/Ports/1/index.json @@ -0,0 +1,62 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Systems/CXL-System/Processors/CPU/Ports/1", + "@odata.type": "#Port.v1_7_0.Port", + "ActiveWidth": 16, + "CapableProtocolVersions": [ + "1.1", + "2.0" + ], + "CurrentProtocolVersion": "2.0", + "CurrentSpeedGbps": 512, + "Description": "CXL Port in CPU connected to CXL switch", + "Id": "1", + "InterfaceEnabled": true, + "LinkNetworkTechnology": "PCIe", + "LinkState": "Enabled", + "LinkStatus": "LinkUp", + "Links": { + "AssociatedEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I2" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I3" + } + ], + "ConnectedSwitchPorts": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/U1" + } + ], + "ConnectedSwitches": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL" + } + ] + }, + "MaxSpeedGbps": 512, + "Name": "CXL Port 1", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + }, + "PortId": "1", + "PortMedium": "Optical", + "PortProtocol": "CXL", + "PortType": "DownstreamPort", + "RemotePortId": "4C-1D-96-FF-FE-DD-D8-D0", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "Width": 16 +} \ No newline at end of file diff --git a/Sunfish/Systems/CXL-System/Processors/CPU/Ports/index.json b/Sunfish/Systems/CXL-System/Processors/CPU/Ports/index.json new file mode 100644 index 0000000..050d5ad --- /dev/null +++ b/Sunfish/Systems/CXL-System/Processors/CPU/Ports/index.json @@ -0,0 +1,11 @@ +{ + "@odata.id": "/redfish/v1/Systems/CXL-System/Processors/CPU/Ports", + "@odata.type": "#Systems/CXL-System/Processors/CPU/PortsCollection.Systems/CXL-System/Processors/CPU/PortsCollection", + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/CXL-System/Processors/CPU/Ports/1" + } + ], + "Members@odata.count": 1, + "Name": "Systems/CXL-System/Processors/CPU/Ports Collection" +} \ No newline at end of file diff --git a/Sunfish/Systems/CXL-System/Processors/CPU/index.json b/Sunfish/Systems/CXL-System/Processors/CPU/index.json new file mode 100644 index 0000000..27671c7 --- /dev/null +++ b/Sunfish/Systems/CXL-System/Processors/CPU/index.json @@ -0,0 +1,64 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Systems/CXL-System/Processors/CPU", + "@odata.type": "#Processor.v1_15_0.Processor", + "Description": "CPU with CXL ports", + "Id": "CPU", + "InstructionSet": "x86-64", + "Links": { + "ConnectedProcessors": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL1/Processors/FPGA" + }, + { + "@odata.id": "/redfish/v1/Chassis/CXL2/Processors/GPU" + } + ], + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I2" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I3" + } + ], + "Memory": [ + { + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory/CXL2" + }, + { + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory/CXL3" + }, + { + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory/RCXL2" + }, + { + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory/RCXL3" + } + ] + }, + "Manufacturer": "Intel(R) Corporation", + "Name": "CPU with CXL ports", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + }, + "Ports": { + "@odata.id": "/redfish/v1/Systems/CXL-System/Processors/CPU/Ports" + }, + "ProcessorArchitecture": "x86", + "ProcessorType": "CPU", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "UUID": "86D53A7B-D29A-3287-BA23-EF43A27BC6B9" +} \ No newline at end of file diff --git a/Sunfish/Systems/CXL-System/Processors/index.json b/Sunfish/Systems/CXL-System/Processors/index.json new file mode 100644 index 0000000..5dcb704 --- /dev/null +++ b/Sunfish/Systems/CXL-System/Processors/index.json @@ -0,0 +1,11 @@ +{ + "@odata.id": "/redfish/v1/Systems/CXL-System/Processors", + "@odata.type": "#Systems/CXL-System/ProcessorsCollection.Systems/CXL-System/ProcessorsCollection", + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/CXL-System/Processors/CPU" + } + ], + "Members@odata.count": 1, + "Name": "Systems/CXL-System/Processors Collection" +} \ No newline at end of file diff --git a/Sunfish/Systems/CXL-System/index.json b/Sunfish/Systems/CXL-System/index.json new file mode 100644 index 0000000..9eea1cd --- /dev/null +++ b/Sunfish/Systems/CXL-System/index.json @@ -0,0 +1,68 @@ +{ + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", + "@odata.id": "/redfish/v1/Systems/CXL-System", + "@odata.type": "#ComputerSystem.v1_16_0.ComputerSystem", + "Description": "CXL System supporting local and remote CXL devices", + "Id": "CXL-System", + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL-Chassis" + } + ] + }, + "Memory": { + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory" + }, + "MemoryDomains": { + "@odata.id": "/redfish/v1/Systems/CXL-System/MemoryDomains" + }, + "MemorySummary": { + "TotalSystemMemoryGiB": 36 + }, + "Name": "CXL System", + "Oem": { + "Sunfish_RM": { + "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", + "ManagingAgent": { + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" + } + } + }, + "PCIeDevices": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL1/PCIeDevices/1" + }, + { + "@odata.id": "/redfish/v1/Chassis/CXL2/PCIeDevices/1" + }, + { + "@odata.id": "/redfish/v1/Chassis/CXL3/PCIeDevices/1" + } + ], + "PCIeFunctions": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL1/PCIeDevices/1/PCIeFunctions/1" + }, + { + "@odata.id": "/redfish/v1/Chassis/CXL2/PCIeDevices/1/PCIeFunctions/1" + }, + { + "@odata.id": "/redfish/v1/Chassis/CXL3/PCIeDevices/1/PCIeFunctions/1" + } + ], + "PowerState": "On", + "ProcessorSummary": { + "Count": 3 + }, + "Processors": { + "@odata.id": "/redfish/v1/Systems/CXL-System/Processors" + }, + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "SystemType": "Physical", + "UUID": "68D5E212-165B-4CA0-909B-C86B9CEE0112" +} \ No newline at end of file diff --git a/Sunfish/Systems/index.json b/Sunfish/Systems/index.json new file mode 100644 index 0000000..a6aac9a --- /dev/null +++ b/Sunfish/Systems/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ComputerSystemCollection.ComputerSystemCollection", + "Name": "Computer System Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/CXL-System" + } + ], + "@odata.id": "/redfish/v1/Systems", + "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/Sunfish/index.json b/Sunfish/index.json new file mode 100644 index 0000000..3eab1cd --- /dev/null +++ b/Sunfish/index.json @@ -0,0 +1,41 @@ +{ + "@odata.type": "#ServiceRoot.v1_14_0.ServiceRoot", + "Id": "RootService", + "Name": "Root Service", + "RedfishVersion": "1.14.0", + "UUID": "92384634-2938-2342-8820-489239905423", + "AggregationService": { + "@odata.id": "/redfish/v1/AggregationService" + }, + "Chassis": { + "@odata.id": "/redfish/v1/Chassis" + }, + "Fabrics": { + "@odata.id": "/redfish/v1/Fabrics" + }, + "Managers": { + "@odata.id": "/redfish/v1/Managers" + }, + "SessionService": { + "@odata.id": "/redfish/v1/SessionService" + }, + "Registries": { + "@odata.id": "/redfish/v1/Registries" + }, + "Storage": { + "@odata.id": "/redfish/v1/Storage" + }, + "Systems": { + "@odata.id": "/redfish/v1/Systems" + }, + "AccountService": { + "@odata.id": "/redfish/v1/AccountService" + }, + "Links": { + "Sessions": { + "@odata.id": "/redfish/v1/SessionService/Sessions" + } + }, + "@odata.id": "/redfish/v1", + "@Redfish.Copyright": "Copyright 2015-2022 SNIA. All rights reserved." +} \ No newline at end of file diff --git a/app.py b/app.py index 866e9c1..0c34b9f 100644 --- a/app.py +++ b/app.py @@ -2,19 +2,20 @@ # This software is available to you under a BSD 3-Clause License. # The full license terms are available here: https://github.com/OpenFabrics/sunfish_server_reference/blob/main/LICENSE +import json +import os from flask import Flask, request -from sunfishcorelib.core import Core -from sunfishcorelib.exceptions import * +from sunfishcorelib.sunfishcorelib.core import Core +from sunfishcorelib.sunfishcorelib.exceptions import * -conf = { - "storage_backend": "FS", - "redfish_root": "/redfish/v1/", - "backend_conf" : { - "fs_root": "Resources" - } -} # initialize flask +path = os.path.join(os.getcwd(), 'conf.json') +try: + json_data = open(path) + conf = json.load(json_data) +except FileNotFoundError as e: + raise ResourceNotFound('conf.json') app = Flask(__name__) sunfish_core = Core(conf) @@ -24,7 +25,7 @@ def get(resource): try: - resp = sunfish_core.get_object(resource) + resp = sunfish_core.get_object('/'+resource) return resp, 200 except ResourceNotFound as e: return e.message, 404 @@ -32,12 +33,24 @@ def get(resource): @app.route('/', methods=["POST"]) def post(resource): try : - resp = sunfish_core.create_object(request.json) - return resp + resp = '' + if "Events" in request.json: + resp = sunfish_core.handle_event(request.json) + else: + resp = sunfish_core.create_object(request.path, request.json) + return resp, 200 except CollectionNotSupported as e: return e.message, 405 # method not allowed except AlreadyExists as e: return e.message, 409 # Conflict + except ActionNotAllowed as e: + return e.message, 404 + except IllegalSubscription as e: + return e.message, 400 + except DestinationError as e: + return e.message, 404 + except ResourceNotFound as e: + return e.message, 404 @app.route('/', methods=["PUT"]) def put(resource): @@ -60,7 +73,7 @@ def patch(resource): @app.route('/', methods=["DELETE"]) def delete(resource): try: - resp = sunfish_core.delete_object(resource) + resp = sunfish_core.delete_object('/'+resource) return resp, 200 except ResourceNotFound as e: return e.message, 404 diff --git a/conf.json b/conf.json new file mode 100644 index 0000000..07bcf32 --- /dev/null +++ b/conf.json @@ -0,0 +1,12 @@ +{ + "storage_backend": "FS", + "redfish_root": "/redfish/v1/", + "backend_conf" : { + "fs_root": "Sunfish", + "subscribers_root": "EventService/Subscriptions" + }, + "handlers": { + "subscription_handler": "redfish", + "event_handler": "redfish" + } +} \ No newline at end of file diff --git a/mock_agent.py b/mock_agent.py new file mode 100644 index 0000000..1e4081d --- /dev/null +++ b/mock_agent.py @@ -0,0 +1,37 @@ +# Copyright IBM Corp. 2023 +# This software is available to you under a BSD 3-Clause License. +# The full license terms are available here: https://github.com/OpenFabrics/sunfish_server_reference/blob/main/LICENSE + +from flask import Flask +from sunfishcorelib.sunfishcorelib.core import Core +from sunfishcorelib.sunfishcorelib.exceptions import * +import os + +conf = { + "storage_backend": "FS", + "redfish_root": "/redfish/v1/", + "backend_conf" : { + "fs_root": "CXLAgent", + "subscribers_root": "EventService/Subscriptions" + }, + "handlers": { + "subscription_handler": "redfish", + "event_handler": "redfish" + } +} + +app = Flask(__name__) +sunfish_core = Core(conf) + +@app.route('/', methods=["GET"]) +def get(resource): + try: + resp = sunfish_core.get_object('/'+resource) + return resp, 200 + except ResourceNotFound as e: + return e.message, 404 + +if __name__ == '__main__': + host = os.getenv('FLASK_HOST', '127.0.0.1') + port = os.getenv('FLASK_PORT', '5001') + app.run(host=host, port=int(port)) \ No newline at end of file diff --git a/templates/EventAggregationSourceDiscovered.json b/templates/EventAggregationSourceDiscovered.json new file mode 100644 index 0000000..db011d4 --- /dev/null +++ b/templates/EventAggregationSourceDiscovered.json @@ -0,0 +1,17 @@ +{ + "@odata.type": "#Event.v1_7_0.Event", + "Id": "1", + "Name": "AggregationSourceDiscovered", + "Context": "", + "Events": [ { + "EventType": "Other", + "EventId": "4594", + "Severity": "Ok", + "Message": "A aggregation source of connection method Redfish located at http://localhost:5001 has been discovered.", + "MessageId": "Foo.1.0.AggregationSourceDiscovered", + "MessageArgs": [ "Redfish", "http://localhost:5001" ], + "OriginOfCondition": { + "@odata.id": "/redfish/v1/AggregationService/ConnectionMethods/CXL" + } + } ] +} diff --git a/templates/EventSubscription.json b/templates/EventSubscription.json new file mode 100644 index 0000000..fed3cf1 --- /dev/null +++ b/templates/EventSubscription.json @@ -0,0 +1,23 @@ +{ + "@odata.id": "/redfish/v1/EventService/Subscriptions/5322c39a-db7f-4e89-b204-ddbc25b0003e", + "@odata.type": "#EventDestination.EventDestination", + "Destination": "www.destination.com", + "EventFormatType": "Event", + "RegistryPrefixes": [ + "ResourceEvent" + ], + "MessageIds": [ + "Basic.1.0.SettingsFailed", + "ResourceEvent.1.2.ResourceCreated" + ], + "ExcludeMessageIds": [ + "Example.1.0.SettingsFailed" + ], + "Id": "5322c39a-db7f-4e89-b204-ddbc25b0003e", + "OriginResources": { + "@odata.id": "/redfish/v1/Systems/1/EthernetInterfaces/1" + }, + "IncludeOriginOfCondition": "True", + "SubordinateResources": "True" +} + diff --git a/templates/ResourceCreated.json b/templates/ResourceCreated.json new file mode 100644 index 0000000..52568a2 --- /dev/null +++ b/templates/ResourceCreated.json @@ -0,0 +1,17 @@ +{ + "@odata.type": "#Event.v1_7_0.Event", + "Id": "1", + "Name": "Fabric Created", + "Context": "", + "Events": [ { + "EventType": "Other", + "EventId": "4595", + "Severity": "Ok", + "Message": "New Fabric Created ", + "MessageId": "Resource.1.0.ResourceCreated", + "MessageArgs": [], + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Fabrics/CXL" + } + } ] +} diff --git a/templates/Sub_1.json b/templates/Sub_1.json new file mode 100644 index 0000000..7d525d3 --- /dev/null +++ b/templates/Sub_1.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#EventDestination.EventDestination", + "Destination": "http://localhost:8080", + "EventFormatType": "Event", + "RegistryPrefixes": [ + "TaskEvent" + ] + , + "ExcludeRegistryPrefixes": [ + "Basic" + ], + "ExcludeMessageIds": [ + "TaskEvent.1.0.TaskCancelled" + ], + "ResourceTypes": [ + "ComputerSystem" + ] +} \ No newline at end of file diff --git a/templates/Sub_2.json b/templates/Sub_2.json new file mode 100644 index 0000000..54c7c3a --- /dev/null +++ b/templates/Sub_2.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#EventDestination.EventDestination", + "Destination": "http://localhost:8080", + "EventFormatType": "Event", + "RegistryPrefixes": [ + "Basic" + ], + "MessageIds": [ + "TaskEvent.1.0.TaskCancelled" + ], + "ExcludeMessageIds": [ + "BaseEvent.1.0.AccessDenied" + ] +} \ No newline at end of file diff --git a/templates/Task_event_cancelled.json b/templates/Task_event_cancelled.json new file mode 100644 index 0000000..c64b589 --- /dev/null +++ b/templates/Task_event_cancelled.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#Event.v1_7_0.Event", + "Name": "Task Event", + "Context": "ContosoWebClient", + "Events": [ + { + "EventId": "1234", + "Severity": "Warning", + "Message": "Work on the task with Id 1234 has been halted prior to completion due to an explicit request.", + "MessageId": "TaskEvent.1.0.TaskCancelled", + "MessageArgs": [ + "1234" + ], + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Systems/1" + } + } + ] +} \ No newline at end of file diff --git a/templates/patch_subscription.json b/templates/patch_subscription.json new file mode 100644 index 0000000..5faaeea --- /dev/null +++ b/templates/patch_subscription.json @@ -0,0 +1,6 @@ +{ + "@odata.id": "/redfish/v1/EventService/Subscriptions/8c9c3297-f7ec-45b7-88fb-9cea318cb4a0", + "Context": "context", + "Destination": "www.destinationCambiata.com", + "Id": "8c9c3297-f7ec-45b7-88fb-9cea318cb4a0" +} \ No newline at end of file diff --git a/templates/post_aggregation_source.json b/templates/post_aggregation_source.json new file mode 100644 index 0000000..1046909 --- /dev/null +++ b/templates/post_aggregation_source.json @@ -0,0 +1,17 @@ +{ + "@odata.type": "#AggregationSource.v1_3_1.AggregationSource", "Id": "AggregationSource1", + "Name": "AggregationSource One", + "HostName": "https://Someserver.Contoso.com/redfish/v1", "UserName": "root", + "Password": null, + "Links": { + "ConnectionMethod": { + "@odata.id": "/redfish/v1/AggregationService/ConnectionMethods/ConnectionMethod1" + }, + "ResourcesAccessed": [ + { + "@odata.id": "/redfish/v1/Managers/1" + } + ] + }, + "@odata.id": "/redfish/v1/AggregationService/AggregationSources/AggregationSource1" +} \ No newline at end of file diff --git a/templates/put_subscription.json b/templates/put_subscription.json new file mode 100644 index 0000000..5b80a16 --- /dev/null +++ b/templates/put_subscription.json @@ -0,0 +1,11 @@ +{ + "@odata.id": "/redfish/v1/EventService/Subscriptions/8c9c3297-f7ec-45b7-88fb-9cea318cb4a0", + "Context": "context", + "Destination": "www.destination1.com", + "EventFormatType": "Event", + "Id": "8c9c3297-f7ec-45b7-88fb-9cea318cb4a0", + "OriginResources": { + "@odata.id": "/redfish/v1/Fabrics/CXL" + }, + "SubordinateResources": true +} \ No newline at end of file diff --git a/templates/test_create_systems_1.json b/templates/test_create_systems_1.json index 062900a..292471b 100644 --- a/templates/test_create_systems_1.json +++ b/templates/test_create_systems_1.json @@ -1,6 +1,6 @@ { "@odata.id": "/redfish/v1/Systems/1", - "@odata.type": "#ComputerSystem.1.00.0.ComputerSystem", + "@odata.type": "#ComputerSystem.1.0.0.ComputerSystem", "Id": "1", "Name": "Compute Node 1", "SystemType": "Physical", @@ -59,4 +59,4 @@ ] } -} \ No newline at end of file +} diff --git a/templates/test_put_system_1.json b/templates/test_put_system_1.json index 6a893c9..1a78330 100644 --- a/templates/test_put_system_1.json +++ b/templates/test_put_system_1.json @@ -36,7 +36,7 @@ } }, "Memory": { - "TotalSystemMemoryGB": 8, + "TotalSystemMemoryGB": 12, "Status": { "State": "Enabled", "Health": "OK", diff --git a/tests/test_sunfishcore_library.py b/tests/test_sunfishcore_library.py new file mode 100644 index 0000000..1507857 --- /dev/null +++ b/tests/test_sunfishcore_library.py @@ -0,0 +1,120 @@ +# Copyright IBM Corp. 2023 +# This software is available to you under a BSD 3-Clause License. +# The full license terms are available here: https://github.com/OpenFabrics/sunfish_library_reference/blob/main/LICENSE + +from http.server import HTTPServer +import json +import os +from sunfishcorelib.sunfishcorelib.exceptions import * +from sunfishcorelib.sunfishcorelib.core import Core +import pytest +import test_utils +import tests_template +from werkzeug.wrappers import Request +from werkzeug.wrappers import Response +from pytest_httpserver import HTTPServer +import requests + +DESTINATION_HOST = "https://mock-destination.com" + +class TestSunfishcoreLibrary(): + + @classmethod + def setup_class(cls): + cls.conf = { + "storage_backend": "FS", + "redfish_root": "/redfish/v1/", + "backend_conf" : { + "fs_root": "Resources" + } + } + cls.core = Core(cls.conf) + http_server = HTTPServer('127.0.0.1', 8000) + cls.setup_server(cls, http_server) + + #TEST EVENT + def setup_server(cls, http_server: HTTPServer): + http_server.expect_request("/127.0.0.1:8000").respond_with_data('OK') + cls.core.handle_event(tests_template.test_event1) + resp = requests.get(http_server.url_for("127.0.0.1:8000")) + assert resp.text == 'OK' + + + def test_event(self): + print('test event') + + + # TEST DELETE + # def test_delete_object(self): + # ids = os.listdir(os.path.join(self.conf["redfish_root"], 'Fabrics', 'CXL', 'Zones')) + # print(ids) + # system_url = os.path.join(self.conf["redfish_root"], 'Fabrics', 'CXL', 'Zones', '1') + # self.core.delete_object(system_url) + # assert test_utils.check_delete(system_url) == True + + # def test_delete_object2(self): + # system_url = os.path.join(self.conf["redfish_root"], 'Fabrics', 'CXL', 'Switches', 'CXL', 'Ports', 'D1') + # self.core.delete_object(system_url) + # assert test_utils.check_delete(system_url) == True + + # def test_delete_exception(self): + # system_url = os.path.join(self.conf["redfish_root"], 'Fabrics', 'CXL', 'Zones', '1') + # with pytest.raises(ResourceNotFound): + # self.core.delete_object(system_url) + + # # TEST POST + # def test_post_object(self): + # self.core.create_object(tests_template.test_post_zones_1) + # assert test_utils.check_object(tests_template.test_post_zones_1, self.conf["redfish_root"]) == True + + # def test_post_object2(self): + # self.core.create_object(tests_template.test_post_ports) + # assert test_utils.check_object(tests_template.test_post_ports, self.conf["redfish_root"]) == True + + # def test__collection_exception(self): + # with pytest.raises(CollectionNotSupported): + # self.core.create_object(tests_template.test_collection) + + # def test_post_exception(self): + # with pytest.raises(AlreadyExists): + # self.core.create_object(tests_template.test_post_zones_1) + + # # TEST GET + # def test_get(self): + # system_url = os.path.join(self.conf["redfish_root"], 'Fabrics', 'CXL', 'Zones', '1') + # assert self.core.get_object(system_url) == tests_template.test_post_zones_1 + + # def test_get2(self): + # system_url = os.path.join(self.conf["redfish_root"], 'Fabrics', 'CXL', 'Switches', 'CXL', 'Ports', 'D1') + # assert self.core.get_object(system_url) == tests_template.test_post_ports + + # def test_get_exception(self): + # system_url = os.path.join(self.conf["redfish_root"], 'Systems', '-1') + # with pytest.raises(ResourceNotFound): + # self.core.get_object(system_url) + + # # TEST PUT + # def test_put(self): + # payload = tests_template.test_put + # assert self.core.replace_object(payload) == tests_template.test_put["@odata.id"] + # #assert test_utils.check_update(payload, self.conf["redfish_root"]) == True + + # def test_put_exception(self): + # payload = tests_template.test_update_exception + # with pytest.raises(ResourceNotFound): + # self.core.replace_object(payload) + + # # TEST PATCH + # def test_patch(self): + # assert self.core.patch_object(tests_template.test_patch) == "/redfish/v1/Fabrics/CXL/Zones/1" + + # def test_patch_exception(self): + # payload = tests_template.test_update_exception + # with pytest.raises(ResourceNotFound): + # self.core.patch_object(payload) + + # # TEST SUBSCRIPTION + # def test_subscriptions(self): + # assert self.core.create_object(tests_template.test_sub1) + +## CAMBIARE I TEST - ora gli id vengono auto generati \ No newline at end of file diff --git a/tests/test_utils.py b/tests/test_utils.py new file mode 100644 index 0000000..ce51c4e --- /dev/null +++ b/tests/test_utils.py @@ -0,0 +1,35 @@ +# Copyright IBM Corp. 2023 +# This software is available to you under a BSD 3-Clause License. +# The full license terms are available here: https://github.com/OpenFabrics/sunfish_library_reference/blob/main/LICENSE + +import json +import os +import time + +def get_resource_path(payload, redfish_root): + length = len(redfish_root) + object_id = payload['@odata.id'][length:] + object_id = object_id.split('/') + collection = object_id[0] + id = object_id[1] + path = os.path.join(os.getcwd(), 'Resources', collection, id) + return path + +def check_object(payload, redfish_root): + path = get_resource_path(payload, redfish_root) + return os.path.exists(path) and os.path.exists(os.path.join(path, 'index.json')) + +def check_delete(path): + if os.path.exists(path): + print('non eliminato') + return False + return True + +# def check_update(payload, redfish_root): +# path = os.path.join(get_resource_path(payload, redfish_root), 'index.json') +# modification_time = time.ctime(os.path.getctime(path)) +# current_time = time.ctime(time.time()) +# # print('modification ', modification_time, ' now ', current_time) +# if current_time == modification_time: +# return True +# return False \ No newline at end of file diff --git a/tests/tests_template.py b/tests/tests_template.py new file mode 100644 index 0000000..593be21 --- /dev/null +++ b/tests/tests_template.py @@ -0,0 +1,219 @@ +# Copyright IBM Corp. 2023 +# This software is available to you under a BSD 3-Clause License. +# The full license terms are available here: https://github.com/OpenFabrics/sunfish_library_reference/blob/main/LICENSE + +test_post_zones = { + "@odata.type": "#Zone.v1_6_1.Zone", + "Name": "CXL Zone 1", + "Description": "CXL Zone 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ZoneType": "ZoneOfEndpoints", + "Links": { + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/1" + } + ] + }, + "Oem": {} +} + +test_post_ports = { + "@odata.type": "#Port.v1_7_0.Port", + "Name": "CXL Port 1", + "Description": "CXL Downstream Port 1 in switch", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "PortId": "D1", + "RemotePortId": "4C-1D-96-FF-FE-DD-D8-D1", + "PortProtocol": "CXL", + "CurrentProtocolVersion": "2.0", + "CapableProtocolVersions": [ + "1.1", "2.0" + ], + "PortType": "DownstreamPort", + "PortMedium": "Optical", + "CurrentSpeedGbps": 256, + "Width": 8, + "MaxSpeedGbps": 512, + "ActiveWidth": 16, + "LinkState": "Enabled", + "LinkStatus": "LinkUp", + "InterfaceEnabled": True, + "LinkNetworkTechnology": "PCIe", + "Links": { + "AssociatedEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T1" + } + ], + "ConnectedPorts": [ + { + "@odata.id": "/redfish/v1/Chassis/PCXL1/FabricAdapters/1/Ports/1" + } + ] + }, + "Oem": {} +} + +test_collection = { + "@odata.type": "#ComputerSystemCollection.ComputerSystemCollection", + "Name": "Computer System Collection", + "Members@odata.count": 0, + "Members": [], + "@odata.id": "/redfish/v1/Systems" +} + +test_put = { + "@odata.type": "#Zone.v1_6_1.Zone", + "Id": "1", + "Name": "CXL Zone 1", + "Description": "CXL Zone 1", + "Status": { + "State": "Disabled", + "Health": "OK" + }, + "ZoneType": "ZoneOfEndpoints", + "Links": { + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/1" + } + ] + }, + "Oem": {}, + "@odata.id": "/redfish/v1/Fabrics/CXL/Zones/1" +} + + +test_patch = { + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Zones/1" +} + +test_update_exception = { + "@odata.id": "/redfish/v1/Systems/-1", + "@odata.type": "#ComputerSystem.1.00.0.ComputerSystem", + "Id": "1234", + "Name": "Compute Node 1234", + "SystemType": "Physical", + "Manufacturer": "Manufacturer Name", + "Model": "Model Name", + "SKU": "", + "Memory": { + "TotalSystemMemoryGB": 12, + "Status": { + "State": "Disabled", + "Health": "OK", + "HealthRollUp": "OK" + } + } +} + +test_sub1 = { + "@odata.id": "/redfish/v1/EventService/Subscriptions/5322c39a-db7f-4e89-b204-ddbc25b0003e", + "Destination": "www.destination1.com", + "EventFormatType": "Event", + "RegistryPrefixes": [ + "ResourceEvent" + ], + "MessageIds": [ + "Basic.1.0.SettingsFailed" + ], + "Id": "5322c39a-db7f-4e89-b204-ddbc25b0003e" +} + +test_sub2 = { + "@odata.id": "/redfish/v1/EventService/Subscriptions/5322c39a-db7f-4e89-b204-ddbc25b0003e", + "Destination": "www.destination2.com", + "EventFormatType": "Event", + "OriginResources": { + "@odata.id": "/redfish/v1/Systems/1" + }, + "SubordinateResources": "True" +} + +test_sub3 = { + "@odata.id": "/redfish/v1/EventService/Subscriptions/5322c39a-db7f-4e89-b204-ddbc25b0003e", + "Destination": "www.destination3.com", + "EventFormatType": "Event", + "RegistryPrefixes": [ + "ResourceEvent" + ], + "ExcludeMessageIds": [ + "ResourceEvent.1.0.ResourceRemoved" + ] +} + +test_event1 = { + "@odata.type": "#Event.v1_7_0.Event", + "Id": "1", + "Name": "Event Array", + "Context": "ContosoWebClient", + "Events": [ + { + "EventId": "4593", + "Severity": "OK", + "Message": "A resource has been removed", + "MessageId": "ResourceEvent.1.0.ResourceRemoved" + } + ] +} + +test_event2 = { + "@odata.type": "#Event.v1_7_0.Event", + "Id": "1", + "Name": "Event Array", + "Context": "ContosoWebClient", + "Events": [ + { + "EventId": "4593", + "Severity": "OK", + "Message": "A aggregation source of connection method CXL located at ConnectionMethods has been discovered", + "MessageId": "Example.1.0.AggregationSourceDiscovered", + "MessageArgs": [ + "CXL", + "ConnectionMethods" + ], + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Systems/1" + } + } + ] +} + +test_event3 = { + "@odata.type": "#Event.v1_7_0.Event", + "Id": "1", + "Name": "Event Array", + "Context": "ContosoWebClient", + "Events": [ + { + "EventId": "4593", + "Severity": "OK", + "Message": "A resource has been created", + "MessageId": "ResourceEvent.1.0.ResourceCreated" + } + ] +} \ No newline at end of file From 6af0057085a3f829bf34b84a06109a3636b47e40 Mon Sep 17 00:00:00 2001 From: MICHELE GAZZETTI Date: Wed, 10 Jan 2024 09:47:21 +0000 Subject: [PATCH 02/10] Remove CXL ConnectionMethod because it is created as part of the Agent registration procedure Signed-off-by: MICHELE GAZZETTI --- .../ConnectionMethods/CXL/index.json | 11 ----------- .../AggregationService/ConnectionMethods/index.json | 7 ++----- 2 files changed, 2 insertions(+), 16 deletions(-) delete mode 100644 Sunfish/AggregationService/ConnectionMethods/CXL/index.json diff --git a/Sunfish/AggregationService/ConnectionMethods/CXL/index.json b/Sunfish/AggregationService/ConnectionMethods/CXL/index.json deleted file mode 100644 index 6ab5932..0000000 --- a/Sunfish/AggregationService/ConnectionMethods/CXL/index.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "@odata.id": "/redfish/v1/AggregationService/ConnectionMethods/CXL", - "@odata.type": "#ConnectionMethod.v1_1_0.ConnectionMethod", - "ConnectionMethodType": "Redfish", - "ConnectionMethodVariant": "Contoso", - "Id": "NVMeoF", - "Links": { - "AggregationSources": [] - }, - "Name": "ConnectionMethod for Agent CXL" -} \ No newline at end of file diff --git a/Sunfish/AggregationService/ConnectionMethods/index.json b/Sunfish/AggregationService/ConnectionMethods/index.json index 4f94a26..1e97d55 100644 --- a/Sunfish/AggregationService/ConnectionMethods/index.json +++ b/Sunfish/AggregationService/ConnectionMethods/index.json @@ -1,12 +1,9 @@ { "@odata.type": "#ConnectionMethodCollection.ConnectionMethodCollection", "Name": "ConnectionMethod Collection", - "Members@odata.count": 1, + "Members@odata.count": 0, "Members": [ - { - "@odata.id": "/redfish/v1/AggregationService/ConnectionMethods/CXL" - } ], "@odata.id": "/redfish/v1/ConnectionMethods", "@Redfish.Copyright": "Copyright 2015-2022 SNIA. All rights reserved." -} \ No newline at end of file +} From af81918d67c2ed5ade608ff796f89fbc476168db Mon Sep 17 00:00:00 2001 From: MICHELE GAZZETTI Date: Wed, 10 Jan 2024 09:50:34 +0000 Subject: [PATCH 03/10] Add default subscription to contact Sunfish at init time and register the Redfish resources Signed-off-by: MICHELE GAZZETTI --- .../Subscriptions/SunfishServer/index.json | 18 ++++++++++++++++++ CXLAgent/EventService/Subscriptions/index.json | 11 +++++++++++ CXLAgent/EventService/index.json | 0 3 files changed, 29 insertions(+) create mode 100644 CXLAgent/EventService/Subscriptions/SunfishServer/index.json create mode 100644 CXLAgent/EventService/Subscriptions/index.json create mode 100644 CXLAgent/EventService/index.json diff --git a/CXLAgent/EventService/Subscriptions/SunfishServer/index.json b/CXLAgent/EventService/Subscriptions/SunfishServer/index.json new file mode 100644 index 0000000..595740a --- /dev/null +++ b/CXLAgent/EventService/Subscriptions/SunfishServer/index.json @@ -0,0 +1,18 @@ +{ + "@odata.id": "/redfish/v1/EventService/Subscriptions/SunfishServer", + "@odata.type": "#EventDestination.EventDestination", + "Context": "", + "Destination": "http://localhost:5000/EventService", + "EventFormatType": "Event", + "Id": "SunfishServer", + "OriginResources": [ + { + "@odata.id": "/redfish/v1/Fabrics" + } + ], + "Protocol": "Redfish", + "RegistryPrefixes": [ + "Basic" + ], + "SubordinateResources": "True" +} diff --git a/CXLAgent/EventService/Subscriptions/index.json b/CXLAgent/EventService/Subscriptions/index.json new file mode 100644 index 0000000..7e65e6a --- /dev/null +++ b/CXLAgent/EventService/Subscriptions/index.json @@ -0,0 +1,11 @@ +{ + "@odata.id": "/redfish/v1/EventService/Subscriptions", + "@odata.type": "#EventService/SubscriptionsCollection.EventService/SubscriptionsCollection", + "Members": [ + { + "@odata.id": "/redfish/v1/EventService/Subscriptions/SunfishServer" + } + ], + "Members@odata.count": 1, + "Name": "EventService/Subscriptions Collection" +} diff --git a/CXLAgent/EventService/index.json b/CXLAgent/EventService/index.json new file mode 100644 index 0000000..e69de29 From dca5c140e23586a61b371d759101eabf318010bf Mon Sep 17 00:00:00 2001 From: MICHELE GAZZETTI Date: Wed, 10 Jan 2024 09:58:01 +0000 Subject: [PATCH 04/10] Remove all AggregationSources because they are generated during the registration procedure Signed-off-by: MICHELE GAZZETTI --- .../index.json | 139 ------------------ .../AggregationSources/index.json | 7 +- 2 files changed, 2 insertions(+), 144 deletions(-) delete mode 100644 Sunfish/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b/index.json diff --git a/Sunfish/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b/index.json b/Sunfish/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b/index.json deleted file mode 100644 index 0fd216c..0000000 --- a/Sunfish/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b/index.json +++ /dev/null @@ -1,139 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2021 SNIA. All rights reserved.", - "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b", - "@odata.type": "#AggregationSource.v1_2_9ebb7904-5639-478e-9160-5ef0ec49720b.AggregationSource", - "HostName": "http://localhost:5001", - "Id": "9ebb7904-5639-478e-9160-5ef0ec49720b", - "Links": { - "ConnectionMethod": { - "@odata.id": "/redfish/v1/AggregationService/ConnectionMethods/CXL" - }, - "ResourcesAccessed": [ - "/redfish/v1/Fabrics/CXL", - "/redfish/v1/Fabrics/CXL/Connections", - "/redfish/v1/Fabrics/CXL/Connections/12", - "/redfish/v1/Chassis/PCXL2", - "/redfish/v1/Chassis/PCXL2/FabricAdapters", - "/redfish/v1/Chassis/PCXL2/FabricAdapters/1", - "/redfish/v1/Chassis/PCXL2/FabricAdapters/1/Ports", - "/redfish/v1/Chassis/PCXL2/FabricAdapters/1/Ports/1", - "/redfish/v1/Chassis/PCXL2/Memory", - "/redfish/v1/Chassis/PCXL2/Memory/HBM", - "/redfish/v1/Chassis/PCXL2/MemoryDomains", - "/redfish/v1/Chassis/PCXL2/MemoryDomains/1", - "/redfish/v1/Chassis/PCXL2/MemoryDomains/1/MemoryChunks", - "/redfish/v1/Chassis/PCXL2/MemoryDomains/1/MemoryChunks/1", - "/redfish/v1/Chassis/PCXL2/PCIeDevices", - "/redfish/v1/Chassis/PCXL2/PCIeDevices/1", - "/redfish/v1/Chassis/PCXL2/PCIeDevices/1/CXLLogicalDevices", - "/redfish/v1/Chassis/PCXL2/PCIeDevices/1/CXLLogicalDevices/1", - "/redfish/v1/Chassis/PCXL2/PCIeDevices/1/PCIeFunctions", - "/redfish/v1/Chassis/PCXL2/PCIeDevices/1/PCIeFunctions/1", - "/redfish/v1/Chassis/PCXL2/Processors", - "/redfish/v1/Chassis/PCXL2/Processors/GPU", - "/redfish/v1/Fabrics/CXL/Connections/13", - "/redfish/v1/Chassis/PCXL3", - "/redfish/v1/Chassis/PCXL3/FabricAdapters", - "/redfish/v1/Chassis/PCXL3/FabricAdapters/1", - "/redfish/v1/Chassis/PCXL3/FabricAdapters/1/Ports", - "/redfish/v1/Chassis/PCXL3/FabricAdapters/1/Ports/1", - "/redfish/v1/Chassis/PCXL3/Memory", - "/redfish/v1/Chassis/PCXL3/Memory/3DXP", - "/redfish/v1/Chassis/PCXL3/MemoryDomains", - "/redfish/v1/Chassis/PCXL3/MemoryDomains/1", - "/redfish/v1/Chassis/PCXL3/MemoryDomains/1/MemoryChunks", - "/redfish/v1/Chassis/PCXL3/MemoryDomains/1/MemoryChunks/1", - "/redfish/v1/Chassis/PCXL3/PCIeDevices", - "/redfish/v1/Chassis/PCXL3/PCIeDevices/1", - "/redfish/v1/Chassis/PCXL3/PCIeDevices/1/CXLLogicalDevices", - "/redfish/v1/Chassis/PCXL3/PCIeDevices/1/CXLLogicalDevices/1", - "/redfish/v1/Chassis/PCXL3/PCIeDevices/1/PCIeFunctions", - "/redfish/v1/Chassis/PCXL3/PCIeDevices/1/PCIeFunctions/1", - "/redfish/v1/Fabrics/CXL/Endpoints", - "/redfish/v1/Fabrics/CXL/Endpoints/1", - "/redfish/v1/Fabrics/CXL/Endpoints/I1", - "/redfish/v1/Fabrics/CXL/Endpoints/I2", - "/redfish/v1/Fabrics/CXL/Endpoints/I3", - "/redfish/v1/Fabrics/CXL/Endpoints/T1", - "/redfish/v1/Chassis/PCXL1", - "/redfish/v1/Chassis/PCXL1/FabricAdapters", - "/redfish/v1/Chassis/PCXL1/FabricAdapters/1", - "/redfish/v1/Chassis/PCXL1/FabricAdapters/1/Ports", - "/redfish/v1/Chassis/PCXL1/FabricAdapters/1/Ports/1", - "/redfish/v1/Chassis/PCXL1/PCIeDevices", - "/redfish/v1/Chassis/PCXL1/PCIeDevices/1", - "/redfish/v1/Chassis/PCXL1/PCIeDevices/1/CXLLogicalDevices", - "/redfish/v1/Chassis/PCXL1/PCIeDevices/1/CXLLogicalDevices/1", - "/redfish/v1/Chassis/PCXL1/PCIeDevices/1/PCIeFunctions", - "/redfish/v1/Chassis/PCXL1/PCIeDevices/1/PCIeFunctions/1", - "/redfish/v1/Chassis/PCXL1/Processors", - "/redfish/v1/Chassis/PCXL1/Processors/FPGA", - "/redfish/v1/Fabrics/CXL/Endpoints/T2", - "/redfish/v1/Fabrics/CXL/Endpoints/T3", - "/redfish/v1/Fabrics/CXL/Switches", - "/redfish/v1/Fabrics/CXL/Switches/CXL", - "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports", - "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/D1", - "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/D2", - "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/D3", - "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/U1", - "/redfish/v1/Fabrics/CXL/Zones", - "/redfish/v1/Fabrics/CXL/Zones/1", - "/redfish/v1/Fabrics/CXL/Zones/2", - "/redfish/v1/Fabrics/CXL/Zones/3", - "/redfish/v1/Systems/CXL-System", - "/redfish/v1/Chassis/CXL-Chassis", - "/redfish/v1/Chassis/CXL1", - "/redfish/v1/Chassis/CXL1/PCIeDevices", - "/redfish/v1/Chassis/CXL1/PCIeDevices/1", - "/redfish/v1/Chassis/CXL1/PCIeDevices/1/CXLLogicalDevices", - "/redfish/v1/Chassis/CXL1/PCIeDevices/1/CXLLogicalDevices/1", - "/redfish/v1/Chassis/CXL1/PCIeDevices/1/PCIeFunctions", - "/redfish/v1/Chassis/CXL1/PCIeDevices/1/PCIeFunctions/1", - "/redfish/v1/Chassis/CXL1/Processors", - "/redfish/v1/Chassis/CXL1/Processors/FPGA", - "/redfish/v1/Chassis/CXL2", - "/redfish/v1/Chassis/CXL2/Memory", - "/redfish/v1/Chassis/CXL2/Memory/HBM", - "/redfish/v1/Chassis/CXL2/MemoryDomains", - "/redfish/v1/Chassis/CXL2/MemoryDomains/1", - "/redfish/v1/Chassis/CXL2/MemoryDomains/1/MemoryChunks", - "/redfish/v1/Chassis/CXL2/MemoryDomains/1/MemoryChunks/1", - "/redfish/v1/Chassis/CXL2/PCIeDevices", - "/redfish/v1/Chassis/CXL2/PCIeDevices/1", - "/redfish/v1/Chassis/CXL2/PCIeDevices/1/CXLLogicalDevices", - "/redfish/v1/Chassis/CXL2/PCIeDevices/1/CXLLogicalDevices/1", - "/redfish/v1/Chassis/CXL2/PCIeDevices/1/PCIeFunctions", - "/redfish/v1/Chassis/CXL2/PCIeDevices/1/PCIeFunctions/1", - "/redfish/v1/Chassis/CXL2/Processors", - "/redfish/v1/Chassis/CXL2/Processors/GPU", - "/redfish/v1/Chassis/CXL3", - "/redfish/v1/Chassis/CXL3/Memory", - "/redfish/v1/Chassis/CXL3/Memory/3DXP", - "/redfish/v1/Chassis/CXL3/MemoryDomains", - "/redfish/v1/Chassis/CXL3/MemoryDomains/1", - "/redfish/v1/Chassis/CXL3/MemoryDomains/1/MemoryChunks", - "/redfish/v1/Chassis/CXL3/MemoryDomains/1/MemoryChunks/1", - "/redfish/v1/Chassis/CXL3/PCIeDevices", - "/redfish/v1/Chassis/CXL3/PCIeDevices/1", - "/redfish/v1/Chassis/CXL3/PCIeDevices/1/CXLLogicalDevices", - "/redfish/v1/Chassis/CXL3/PCIeDevices/1/CXLLogicalDevices/1", - "/redfish/v1/Chassis/CXL3/PCIeDevices/1/PCIeFunctions", - "/redfish/v1/Chassis/CXL3/PCIeDevices/1/PCIeFunctions/1", - "/redfish/v1/Systems/CXL-System/Memory", - "/redfish/v1/Systems/CXL-System/Memory/CXL2", - "/redfish/v1/Systems/CXL-System/Memory/CXL3", - "/redfish/v1/Systems/CXL-System/Memory/RCXL2", - "/redfish/v1/Systems/CXL-System/Memory/RCXL3", - "/redfish/v1/Systems/CXL-System/MemoryDomains", - "/redfish/v1/Systems/CXL-System/MemoryDomains/CXL", - "/redfish/v1/Systems/CXL-System/MemoryDomains/CXL/MemoryChunks", - "/redfish/v1/Systems/CXL-System/MemoryDomains/CXL/MemoryChunks/1", - "/redfish/v1/Systems/CXL-System/Processors", - "/redfish/v1/Systems/CXL-System/Processors/CPU", - "/redfish/v1/Systems/CXL-System/Processors/CPU/Ports", - "/redfish/v1/Systems/CXL-System/Processors/CPU/Ports/1" - ] - }, - "Name": "Agent 9ebb7904-5639-478e-9160-5ef0ec49720b" -} \ No newline at end of file diff --git a/Sunfish/AggregationService/AggregationSources/index.json b/Sunfish/AggregationService/AggregationSources/index.json index 572c192..38e70b2 100644 --- a/Sunfish/AggregationService/AggregationSources/index.json +++ b/Sunfish/AggregationService/AggregationSources/index.json @@ -3,10 +3,7 @@ "@odata.id": "/redfish/v1/AggregationService/AggregationSources", "@odata.type": "#AggregationSourceCollection.AggregationSourceCollection", "Members": [ - { - "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" - } ], - "Members@odata.count": 1, + "Members@odata.count": 0, "Name": "AggregationSource Collection" -} \ No newline at end of file +} From 5f349a5ccc077dc14cfc2005623e6dbe13c7802e Mon Sep 17 00:00:00 2001 From: MICHELE GAZZETTI Date: Wed, 10 Jan 2024 10:21:22 +0000 Subject: [PATCH 05/10] Remove CXL fabric objects in the Redfish tree of Sunfish because these will be imported as part of the registration procedure Signed-off-by: MICHELE GAZZETTI --- Sunfish/Fabrics/CXL/Connections/12/index.json | 45 ------------- Sunfish/Fabrics/CXL/Connections/13/index.json | 45 ------------- Sunfish/Fabrics/CXL/Connections/index.json | 14 ----- Sunfish/Fabrics/CXL/Endpoints/1/index.json | 26 -------- Sunfish/Fabrics/CXL/Endpoints/I1/index.json | 44 ------------- Sunfish/Fabrics/CXL/Endpoints/I2/index.json | 56 ----------------- Sunfish/Fabrics/CXL/Endpoints/I3/index.json | 56 ----------------- Sunfish/Fabrics/CXL/Endpoints/T1/index.json | 51 --------------- Sunfish/Fabrics/CXL/Endpoints/T2/index.json | 63 ------------------- Sunfish/Fabrics/CXL/Endpoints/T3/index.json | 56 ----------------- Sunfish/Fabrics/CXL/Endpoints/index.json | 29 --------- .../CXL/Switches/CXL/Ports/D1/index.json | 51 --------------- .../CXL/Switches/CXL/Ports/D2/index.json | 51 --------------- .../CXL/Switches/CXL/Ports/D3/index.json | 51 --------------- .../CXL/Switches/CXL/Ports/U1/index.json | 57 ----------------- .../Fabrics/CXL/Switches/CXL/Ports/index.json | 20 ------ Sunfish/Fabrics/CXL/Switches/CXL/index.json | 32 ---------- Sunfish/Fabrics/CXL/Switches/index.json | 11 ---- Sunfish/Fabrics/CXL/Zones/1/index.json | 34 ---------- Sunfish/Fabrics/CXL/Zones/2/index.json | 34 ---------- Sunfish/Fabrics/CXL/Zones/3/index.json | 34 ---------- Sunfish/Fabrics/CXL/Zones/index.json | 17 ----- Sunfish/Fabrics/CXL/index.json | 26 -------- Sunfish/Fabrics/index.json | 7 +-- 24 files changed, 2 insertions(+), 908 deletions(-) delete mode 100644 Sunfish/Fabrics/CXL/Connections/12/index.json delete mode 100644 Sunfish/Fabrics/CXL/Connections/13/index.json delete mode 100644 Sunfish/Fabrics/CXL/Connections/index.json delete mode 100644 Sunfish/Fabrics/CXL/Endpoints/1/index.json delete mode 100644 Sunfish/Fabrics/CXL/Endpoints/I1/index.json delete mode 100644 Sunfish/Fabrics/CXL/Endpoints/I2/index.json delete mode 100644 Sunfish/Fabrics/CXL/Endpoints/I3/index.json delete mode 100644 Sunfish/Fabrics/CXL/Endpoints/T1/index.json delete mode 100644 Sunfish/Fabrics/CXL/Endpoints/T2/index.json delete mode 100644 Sunfish/Fabrics/CXL/Endpoints/T3/index.json delete mode 100644 Sunfish/Fabrics/CXL/Endpoints/index.json delete mode 100644 Sunfish/Fabrics/CXL/Switches/CXL/Ports/D1/index.json delete mode 100644 Sunfish/Fabrics/CXL/Switches/CXL/Ports/D2/index.json delete mode 100644 Sunfish/Fabrics/CXL/Switches/CXL/Ports/D3/index.json delete mode 100644 Sunfish/Fabrics/CXL/Switches/CXL/Ports/U1/index.json delete mode 100644 Sunfish/Fabrics/CXL/Switches/CXL/Ports/index.json delete mode 100644 Sunfish/Fabrics/CXL/Switches/CXL/index.json delete mode 100644 Sunfish/Fabrics/CXL/Switches/index.json delete mode 100644 Sunfish/Fabrics/CXL/Zones/1/index.json delete mode 100644 Sunfish/Fabrics/CXL/Zones/2/index.json delete mode 100644 Sunfish/Fabrics/CXL/Zones/3/index.json delete mode 100644 Sunfish/Fabrics/CXL/Zones/index.json delete mode 100644 Sunfish/Fabrics/CXL/index.json diff --git a/Sunfish/Fabrics/CXL/Connections/12/index.json b/Sunfish/Fabrics/CXL/Connections/12/index.json deleted file mode 100644 index 86ff00d..0000000 --- a/Sunfish/Fabrics/CXL/Connections/12/index.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.id": "/redfish/v1/Fabrics/CXL/Connections/12", - "@odata.type": "#Connection.v1_1_0.Connection", - "ConnectionType": "Memory", - "Description": "CXL Connection 12 Information", - "Id": "12", - "Links": { - "InitiatorEndpoints": [ - { - "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I2" - } - ], - "TargetEndpoints": [ - { - "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T2" - } - ] - }, - "MemoryChunkInfo": [ - { - "AccessCapabilities": [ - "Read", - "Write" - ], - "MemoryChunk": { - "@odata.id": "/redfish/v1/Chassis/PCXL2/MemoryDomains/1/MemoryChunks/1" - } - } - ], - "Name": "Connection 12", - "Oem": { - "Sunfish_RM": { - "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", - "ManagingAgent": { - "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" - } - } - }, - "Status": { - "Health": "OK", - "HealthRollup": "OK", - "State": "Enabled" - } -} \ No newline at end of file diff --git a/Sunfish/Fabrics/CXL/Connections/13/index.json b/Sunfish/Fabrics/CXL/Connections/13/index.json deleted file mode 100644 index c09c9ca..0000000 --- a/Sunfish/Fabrics/CXL/Connections/13/index.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.id": "/redfish/v1/Fabrics/CXL/Connections/13", - "@odata.type": "#Connection.v1_1_0.Connection", - "ConnectionType": "Memory", - "Description": "CXL Connection 13 Information", - "Id": "13", - "Links": { - "InitiatorEndpoints": [ - { - "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I3" - } - ], - "TargetEndpoints": [ - { - "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T3" - } - ] - }, - "MemoryChunkInfo": [ - { - "AccessCapabilities": [ - "Read", - "Write" - ], - "MemoryChunk": { - "@odata.id": "/redfish/v1/Chassis/PCXL3/MemoryDomains/1/MemoryChunks/1" - } - } - ], - "Name": "Connection 13", - "Oem": { - "Sunfish_RM": { - "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", - "ManagingAgent": { - "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" - } - } - }, - "Status": { - "Health": "OK", - "HealthRollup": "OK", - "State": "Enabled" - } -} \ No newline at end of file diff --git a/Sunfish/Fabrics/CXL/Connections/index.json b/Sunfish/Fabrics/CXL/Connections/index.json deleted file mode 100644 index d374bb6..0000000 --- a/Sunfish/Fabrics/CXL/Connections/index.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "@odata.id": "/redfish/v1/Fabrics/CXL/Connections", - "@odata.type": "#Fabrics/CXL/ConnectionsCollection.Fabrics/CXL/ConnectionsCollection", - "Members": [ - { - "@odata.id": "/redfish/v1/Fabrics/CXL/Connections/12" - }, - { - "@odata.id": "/redfish/v1/Fabrics/CXL/Connections/13" - } - ], - "Members@odata.count": 2, - "Name": "Fabrics/CXL/Connections Collection" -} \ No newline at end of file diff --git a/Sunfish/Fabrics/CXL/Endpoints/1/index.json b/Sunfish/Fabrics/CXL/Endpoints/1/index.json deleted file mode 100644 index 4b60d40..0000000 --- a/Sunfish/Fabrics/CXL/Endpoints/1/index.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/1", - "@odata.type": "#Endpoint.v1_7_0.Endpoint", - "ConnectedEntities": [ - { - "EntityLink": { - "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL" - }, - "EntityRole": "Target", - "EntityType": "Switch" - } - ], - "Description": "CXL Switch endpoint", - "EndpointProtocol": "CXL", - "Id": "1", - "Name": "CXL Switch", - "Oem": { - "Sunfish_RM": { - "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", - "ManagingAgent": { - "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" - } - } - } -} \ No newline at end of file diff --git a/Sunfish/Fabrics/CXL/Endpoints/I1/index.json b/Sunfish/Fabrics/CXL/Endpoints/I1/index.json deleted file mode 100644 index 3ff0609..0000000 --- a/Sunfish/Fabrics/CXL/Endpoints/I1/index.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I1", - "@odata.type": "#Endpoint.v1_7_0.Endpoint", - "ConnectedEntities": [ - { - "EntityLink": { - "@odata.id": "/redfish/v1/Systems/CXL-System/Processors/CPU" - }, - "EntityRole": "Initiator", - "EntityType": "Processor", - "Identifiers": [ - { - "DurableName": "86D53A7B-D29A-3287-BA23-EF43A27BC6B9", - "DurableNameFormat": "UUID" - } - ] - } - ], - "Description": "CXL-System Initiator Endpoint for remote Type 1 CXL device ", - "EndpointProtocol": "CXL", - "Id": "I1", - "Links": { - "Ports": [ - { - "@odata.id": "/redfish/v1/Systems/CXL-System/Processors/CPU/Ports/1" - } - ], - "Zones": [ - { - "@odata.id": "/redfish/v1/Fabrics/CXL/Zones/1" - } - ] - }, - "Name": "CXL-System Initiator", - "Oem": { - "Sunfish_RM": { - "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", - "ManagingAgent": { - "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" - } - } - } -} \ No newline at end of file diff --git a/Sunfish/Fabrics/CXL/Endpoints/I2/index.json b/Sunfish/Fabrics/CXL/Endpoints/I2/index.json deleted file mode 100644 index 1507034..0000000 --- a/Sunfish/Fabrics/CXL/Endpoints/I2/index.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I2", - "@odata.type": "#Endpoint.v1_7_0.Endpoint", - "ConnectedEntities": [ - { - "EntityLink": { - "@odata.id": "/redfish/v1/Systems/CXL-System/Processors/CPU" - }, - "EntityRole": "Initiator", - "EntityType": "Processor", - "Identifiers": [ - { - "DurableName": "86D53A7B-D29A-3287-BA23-EF43A27BC6B9", - "DurableNameFormat": "UUID" - } - ] - }, - { - "EntityLink": { - "@odata.id": "/redfish/v1/Systems/CXL-System/Memory/RCXL2" - }, - "EntityRole": "Initiator", - "EntityType": "Memory" - } - ], - "Description": "CXL-System Initiator Endpoint for remote Type 2 CXL device ", - "EndpointProtocol": "CXL", - "Id": "I2", - "Links": { - "Connections": [ - { - "@odata.id": "/redfish/v1/Fabrics/CXL/Connections/12" - } - ], - "Ports": [ - { - "@odata.id": "/redfish/v1/Systems/CXL-System/Processors/CPU/Ports/1" - } - ], - "Zones": [ - { - "@odata.id": "/redfish/v1/Fabrics/CXL/Zones/2" - } - ] - }, - "Name": "CXL-System Initiator", - "Oem": { - "Sunfish_RM": { - "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", - "ManagingAgent": { - "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" - } - } - } -} \ No newline at end of file diff --git a/Sunfish/Fabrics/CXL/Endpoints/I3/index.json b/Sunfish/Fabrics/CXL/Endpoints/I3/index.json deleted file mode 100644 index 00f6e42..0000000 --- a/Sunfish/Fabrics/CXL/Endpoints/I3/index.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I3", - "@odata.type": "#Endpoint.v1_7_0.Endpoint", - "ConnectedEntities": [ - { - "EntityLink": { - "@odata.id": "/redfish/v1/Systems/CXL-System/Processors/CPU" - }, - "EntityRole": "Initiator", - "EntityType": "Processor", - "Identifiers": [ - { - "DurableName": "86D53A7B-D29A-3287-BA23-EF43A27BC6B9", - "DurableNameFormat": "UUID" - } - ] - }, - { - "EntityLink": { - "@odata.id": "/redfish/v1/Systems/CXL-System/Memory/RCXL3" - }, - "EntityRole": "Initiator", - "EntityType": "Memory" - } - ], - "Description": "CXL-System Initiator Endpoint for remote Type 3 CXL device ", - "EndpointProtocol": "CXL", - "Id": "I3", - "Links": { - "Connections": [ - { - "@odata.id": "/redfish/v1/Fabrics/CXL/Connections/13" - } - ], - "Ports": [ - { - "@odata.id": "/redfish/v1/Systems/CXL-System/Processors/CPU/Ports/1" - } - ], - "Zones": [ - { - "@odata.id": "/redfish/v1/Fabrics/CXL/Zones/3" - } - ] - }, - "Name": "CXL-System Initiator", - "Oem": { - "Sunfish_RM": { - "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", - "ManagingAgent": { - "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" - } - } - } -} \ No newline at end of file diff --git a/Sunfish/Fabrics/CXL/Endpoints/T1/index.json b/Sunfish/Fabrics/CXL/Endpoints/T1/index.json deleted file mode 100644 index e549e0c..0000000 --- a/Sunfish/Fabrics/CXL/Endpoints/T1/index.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T1", - "@odata.type": "#Endpoint.v1_7_0.Endpoint", - "ConnectedEntities": [ - { - "EntityLink": { - "@odata.id": "/redfish/v1/Chassis/PCXL1/PCIeDevices/1/CXLLogicalDevices/1" - }, - "EntityRole": "Target", - "EntityType": "CXLDevice", - "Identifiers": [ - { - "DurableName": "4C-1D-96-FF-FE-DD-D8-35:1", - "DurableNameFormat": "GCXLID" - } - ] - }, - { - "EntityLink": { - "@odata.id": "/redfish/v1/Chassis/PCXL1/Processors/FPGA" - }, - "EntityRole": "Target", - "EntityType": "Processor" - } - ], - "Description": "CXL Device Type 1 target endpoint", - "EndpointProtocol": "CXL", - "Id": "T1", - "Links": { - "Ports": [ - { - "@odata.id": "/redfish/v1/Chassis/PCXL1/FabricAdapters/1/Ports/1" - } - ], - "Zones": [ - { - "@odata.id": "/redfish/v1/Fabrics/CXL/Zones/1" - } - ] - }, - "Name": "CXL Device Type 1 endpoint", - "Oem": { - "Sunfish_RM": { - "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", - "ManagingAgent": { - "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" - } - } - } -} \ No newline at end of file diff --git a/Sunfish/Fabrics/CXL/Endpoints/T2/index.json b/Sunfish/Fabrics/CXL/Endpoints/T2/index.json deleted file mode 100644 index 567bc6d..0000000 --- a/Sunfish/Fabrics/CXL/Endpoints/T2/index.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T2", - "@odata.type": "#Endpoint.v1_7_0.Endpoint", - "ConnectedEntities": [ - { - "EntityLink": { - "@odata.id": "/redfish/v1/Chassis/PCXL2/PCIeDevices/1/CXLLogicalDevices/1" - }, - "EntityRole": "Target", - "EntityType": "CXLDevice", - "Identifiers": [ - { - "DurableName": "4C-1D-96-FF-FE-DD-D8-35:1", - "DurableNameFormat": "GCXLID" - } - ] - }, - { - "EntityLink": { - "@odata.id": "/redfish/v1/Chassis/PCXL2/Processors/GPU" - }, - "EntityRole": "Target", - "EntityType": "Processor" - }, - { - "EntityLink": { - "@odata.id": "/redfish/v1/Chassis/PCXL2/MemoryDomains/1/MemoryChunks/1" - }, - "EntityRole": "Target", - "EntityType": "MemoryChunk" - } - ], - "Description": "CXL Device Type 2 target endpoint", - "EndpointProtocol": "CXL", - "Id": "T2", - "Links": { - "Connections": [ - { - "@odata.id": "/redfish/v1/Fabrics/CXL/Connections/12" - } - ], - "Ports": [ - { - "@odata.id": "/redfish/v1/Chassis/PCXL2/FabricAdapters/1/Ports/1" - } - ], - "Zones": [ - { - "@odata.id": "/redfish/v1/Fabrics/CXL/Zones/2" - } - ] - }, - "Name": "CXL Device Type 2 endpoint", - "Oem": { - "Sunfish_RM": { - "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", - "ManagingAgent": { - "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" - } - } - } -} \ No newline at end of file diff --git a/Sunfish/Fabrics/CXL/Endpoints/T3/index.json b/Sunfish/Fabrics/CXL/Endpoints/T3/index.json deleted file mode 100644 index 387a64f..0000000 --- a/Sunfish/Fabrics/CXL/Endpoints/T3/index.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T3", - "@odata.type": "#Endpoint.v1_7_0.Endpoint", - "ConnectedEntities": [ - { - "EntityLink": { - "@odata.id": "/redfish/v1/Chassis/PCXL3/PCIeDevices/1/CXLLogicalDevices/1" - }, - "EntityRole": "Target", - "EntityType": "CXLDevice", - "Identifiers": [ - { - "DurableName": "4C-1D-96-FF-FE-DD-D8-35:1", - "DurableNameFormat": "GCXLID" - } - ] - }, - { - "EntityLink": { - "@odata.id": "/redfish/v1/Chassis/PCXL3/MemoryDomains/1/MemoryChunks/1" - }, - "EntityRole": "Target", - "EntityType": "MemoryChunk" - } - ], - "Description": "CXL Device Type 3 target endpoint", - "EndpointProtocol": "CXL", - "Id": "T3", - "Links": { - "Connections": [ - { - "@odata.id": "/redfish/v1/Fabrics/CXL/Connections/13" - } - ], - "Ports": [ - { - "@odata.id": "/redfish/v1/Chassis/PCXL3/FabricAdapters/1/Ports/1" - } - ], - "Zones": [ - { - "@odata.id": "/redfish/v1/Fabrics/CXL/Zones/3" - } - ] - }, - "Name": "CXL Device Type 3 endpoint", - "Oem": { - "Sunfish_RM": { - "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", - "ManagingAgent": { - "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" - } - } - } -} \ No newline at end of file diff --git a/Sunfish/Fabrics/CXL/Endpoints/index.json b/Sunfish/Fabrics/CXL/Endpoints/index.json deleted file mode 100644 index 2297eef..0000000 --- a/Sunfish/Fabrics/CXL/Endpoints/index.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints", - "@odata.type": "#Fabrics/CXL/EndpointsCollection.Fabrics/CXL/EndpointsCollection", - "Members": [ - { - "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/1" - }, - { - "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I1" - }, - { - "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I2" - }, - { - "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I3" - }, - { - "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T1" - }, - { - "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T2" - }, - { - "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T3" - } - ], - "Members@odata.count": 7, - "Name": "Fabrics/CXL/Endpoints Collection" -} \ No newline at end of file diff --git a/Sunfish/Fabrics/CXL/Switches/CXL/Ports/D1/index.json b/Sunfish/Fabrics/CXL/Switches/CXL/Ports/D1/index.json deleted file mode 100644 index 09b4f58..0000000 --- a/Sunfish/Fabrics/CXL/Switches/CXL/Ports/D1/index.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/D1", - "@odata.type": "#Port.v1_7_0.Port", - "ActiveWidth": 16, - "CapableProtocolVersions": [ - "1.1", - "2.0" - ], - "CurrentProtocolVersion": "2.0", - "CurrentSpeedGbps": 256, - "Description": "CXL Downstream Port 1 in switch", - "Id": "D1", - "InterfaceEnabled": true, - "LinkNetworkTechnology": "PCIe", - "LinkState": "Enabled", - "LinkStatus": "LinkUp", - "Links": { - "AssociatedEndpoints": [ - { - "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T1" - } - ], - "ConnectedPorts": [ - { - "@odata.id": "/redfish/v1/Chassis/PCXL1/FabricAdapters/1/Ports/1" - } - ] - }, - "MaxSpeedGbps": 512, - "Name": "CXL Port 1", - "Oem": { - "Sunfish_RM": { - "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", - "ManagingAgent": { - "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" - } - } - }, - "PortId": "D1", - "PortMedium": "Optical", - "PortProtocol": "CXL", - "PortType": "DownstreamPort", - "RemotePortId": "4C-1D-96-FF-FE-DD-D8-D1", - "Status": { - "Health": "OK", - "HealthRollup": "OK", - "State": "Enabled" - }, - "Width": 8 -} \ No newline at end of file diff --git a/Sunfish/Fabrics/CXL/Switches/CXL/Ports/D2/index.json b/Sunfish/Fabrics/CXL/Switches/CXL/Ports/D2/index.json deleted file mode 100644 index 6d2c4fe..0000000 --- a/Sunfish/Fabrics/CXL/Switches/CXL/Ports/D2/index.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/D2", - "@odata.type": "#Port.v1_7_0.Port", - "ActiveWidth": 16, - "CapableProtocolVersions": [ - "1.1", - "2.0" - ], - "CurrentProtocolVersion": "2.0", - "CurrentSpeedGbps": 256, - "Description": "CXL Downstream Port 2 in switch", - "Id": "D2", - "InterfaceEnabled": true, - "LinkNetworkTechnology": "PCIe", - "LinkState": "Enabled", - "LinkStatus": "LinkUp", - "Links": { - "AssociatedEndpoints": [ - { - "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T2" - } - ], - "ConnectedPorts": [ - { - "@odata.id": "/redfish/v1/Chassis/PCXL2/FabricAdapters/1/Ports/1" - } - ] - }, - "MaxSpeedGbps": 512, - "Name": "CXL Port 2", - "Oem": { - "Sunfish_RM": { - "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", - "ManagingAgent": { - "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" - } - } - }, - "PortId": "D2", - "PortMedium": "Optical", - "PortProtocol": "CXL", - "PortType": "DownstreamPort", - "RemotePortId": "4C-1D-96-FF-FE-DD-D8-D2", - "Status": { - "Health": "OK", - "HealthRollup": "OK", - "State": "Enabled" - }, - "Width": 8 -} \ No newline at end of file diff --git a/Sunfish/Fabrics/CXL/Switches/CXL/Ports/D3/index.json b/Sunfish/Fabrics/CXL/Switches/CXL/Ports/D3/index.json deleted file mode 100644 index c850c3b..0000000 --- a/Sunfish/Fabrics/CXL/Switches/CXL/Ports/D3/index.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/D3", - "@odata.type": "#Port.v1_7_0.Port", - "ActiveWidth": 16, - "CapableProtocolVersions": [ - "1.1", - "2.0" - ], - "CurrentProtocolVersion": "2.0", - "CurrentSpeedGbps": 256, - "Description": "CXL Downstream Port 3 in switch", - "Id": "D3", - "InterfaceEnabled": true, - "LinkNetworkTechnology": "PCIe", - "LinkState": "Enabled", - "LinkStatus": "LinkUp", - "Links": { - "AssociatedEndpoints": [ - { - "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T3" - } - ], - "ConnectedPorts": [ - { - "@odata.id": "/redfish/v1/Chassis/PCXL3/FabricAdapters/1/Ports/1" - } - ] - }, - "MaxSpeedGbps": 512, - "Name": "CXL Port 3", - "Oem": { - "Sunfish_RM": { - "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", - "ManagingAgent": { - "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" - } - } - }, - "PortId": "D3", - "PortMedium": "Optical", - "PortProtocol": "CXL", - "PortType": "DownstreamPort", - "RemotePortId": "4C-1D-96-FF-FE-DD-D8-D3", - "Status": { - "Health": "OK", - "HealthRollup": "OK", - "State": "Enabled" - }, - "Width": 8 -} \ No newline at end of file diff --git a/Sunfish/Fabrics/CXL/Switches/CXL/Ports/U1/index.json b/Sunfish/Fabrics/CXL/Switches/CXL/Ports/U1/index.json deleted file mode 100644 index 21b3875..0000000 --- a/Sunfish/Fabrics/CXL/Switches/CXL/Ports/U1/index.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/U1", - "@odata.type": "#Port.v1_7_0.Port", - "ActiveWidth": 16, - "CapableProtocolVersions": [ - "1.1", - "2.0" - ], - "CurrentProtocolVersion": "2.0", - "CurrentSpeedGbps": 512, - "Description": "CXL Upstream Port 1 in switch", - "Id": "U1", - "InterfaceEnabled": true, - "LinkNetworkTechnology": "PCIe", - "LinkState": "Enabled", - "LinkStatus": "LinkUp", - "Links": { - "AssociatedEndpoints": [ - { - "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I1" - }, - { - "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I2" - }, - { - "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I3" - } - ], - "ConnectedPorts": [ - { - "@odata.id": "/redfish/v1/Systems/CXL-System/Processors/CPU/Ports/1" - } - ] - }, - "MaxSpeedGbps": 512, - "Name": "CXL Port 1", - "Oem": { - "Sunfish_RM": { - "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", - "ManagingAgent": { - "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" - } - } - }, - "PortId": "4C-1D-96-FF-FE-DD-D8-D0", - "PortMedium": "Optical", - "PortProtocol": "CXL", - "PortType": "UpstreamPort", - "RemotePortId": "1", - "Status": { - "Health": "OK", - "HealthRollup": "OK", - "State": "Enabled" - }, - "Width": 16 -} \ No newline at end of file diff --git a/Sunfish/Fabrics/CXL/Switches/CXL/Ports/index.json b/Sunfish/Fabrics/CXL/Switches/CXL/Ports/index.json deleted file mode 100644 index 3316cd9..0000000 --- a/Sunfish/Fabrics/CXL/Switches/CXL/Ports/index.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports", - "@odata.type": "#Fabrics/CXL/Switches/CXL/PortsCollection.Fabrics/CXL/Switches/CXL/PortsCollection", - "Members": [ - { - "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/D1" - }, - { - "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/D2" - }, - { - "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/D3" - }, - { - "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/U1" - } - ], - "Members@odata.count": 4, - "Name": "Fabrics/CXL/Switches/CXL/Ports Collection" -} \ No newline at end of file diff --git a/Sunfish/Fabrics/CXL/Switches/CXL/index.json b/Sunfish/Fabrics/CXL/Switches/CXL/index.json deleted file mode 100644 index f6f4198..0000000 --- a/Sunfish/Fabrics/CXL/Switches/CXL/index.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL", - "@odata.type": "#Switch.v1_7_0.Switch", - "Id": "CXL", - "Links": { - "Endpoints": [ - { - "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/1" - } - ] - }, - "Name": "CXL Switch", - "Oem": { - "Sunfish_RM": { - "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", - "ManagingAgent": { - "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" - } - } - }, - "Ports": { - "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports" - }, - "Status": { - "Health": "OK", - "HealthRollup": "OK", - "State": "Enabled" - }, - "SwitchType": "CXL", - "UUID": "1ad59fe9-49f9-52fa-9a93-e349f9477fe0" -} \ No newline at end of file diff --git a/Sunfish/Fabrics/CXL/Switches/index.json b/Sunfish/Fabrics/CXL/Switches/index.json deleted file mode 100644 index 6e6cfca..0000000 --- a/Sunfish/Fabrics/CXL/Switches/index.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "@odata.id": "/redfish/v1/Fabrics/CXL/Switches", - "@odata.type": "#Fabrics/CXL/SwitchesCollection.Fabrics/CXL/SwitchesCollection", - "Members": [ - { - "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL" - } - ], - "Members@odata.count": 1, - "Name": "Fabrics/CXL/Switches Collection" -} \ No newline at end of file diff --git a/Sunfish/Fabrics/CXL/Zones/1/index.json b/Sunfish/Fabrics/CXL/Zones/1/index.json deleted file mode 100644 index 6be109c..0000000 --- a/Sunfish/Fabrics/CXL/Zones/1/index.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.id": "/redfish/v1/Fabrics/CXL/Zones/1", - "@odata.type": "#Zone.v1_6_1.Zone", - "Description": "CXL Zone 1", - "Id": "1", - "Links": { - "Endpoints": [ - { - "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I1" - }, - { - "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T1" - }, - { - "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/1" - } - ] - }, - "Name": "CXL Zone 1", - "Oem": { - "Sunfish_RM": { - "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", - "ManagingAgent": { - "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" - } - } - }, - "Status": { - "Health": "OK", - "State": "Enabled" - }, - "ZoneType": "ZoneOfEndpoints" -} \ No newline at end of file diff --git a/Sunfish/Fabrics/CXL/Zones/2/index.json b/Sunfish/Fabrics/CXL/Zones/2/index.json deleted file mode 100644 index 7cc8071..0000000 --- a/Sunfish/Fabrics/CXL/Zones/2/index.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.id": "/redfish/v1/Fabrics/CXL/Zones/2", - "@odata.type": "#Zone.v1_6_1.Zone", - "Description": "CXL Zone 2", - "Id": "2", - "Links": { - "Endpoints": [ - { - "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I2" - }, - { - "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T2" - }, - { - "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/1" - } - ] - }, - "Name": "CXL Zone 2", - "Oem": { - "Sunfish_RM": { - "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", - "ManagingAgent": { - "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" - } - } - }, - "Status": { - "Health": "OK", - "State": "Enabled" - }, - "ZoneType": "ZoneOfEndpoints" -} \ No newline at end of file diff --git a/Sunfish/Fabrics/CXL/Zones/3/index.json b/Sunfish/Fabrics/CXL/Zones/3/index.json deleted file mode 100644 index 79c0973..0000000 --- a/Sunfish/Fabrics/CXL/Zones/3/index.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.id": "/redfish/v1/Fabrics/CXL/Zones/3", - "@odata.type": "#Zone.v1_6_1.Zone", - "Description": "CXL Zone 3", - "Id": "3", - "Links": { - "Endpoints": [ - { - "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I3" - }, - { - "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T3" - }, - { - "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/1" - } - ] - }, - "Name": "CXL Zone 3", - "Oem": { - "Sunfish_RM": { - "@odata.type": "#SunfishExtensions.v1_0_0.ResourceExtensions", - "ManagingAgent": { - "@odata.id": "/redfish/v1/AggregationService/AggregationSources/9ebb7904-5639-478e-9160-5ef0ec49720b" - } - } - }, - "Status": { - "Health": "OK", - "State": "Enabled" - }, - "ZoneType": "ZoneOfEndpoints" -} \ No newline at end of file diff --git a/Sunfish/Fabrics/CXL/Zones/index.json b/Sunfish/Fabrics/CXL/Zones/index.json deleted file mode 100644 index 7b03299..0000000 --- a/Sunfish/Fabrics/CXL/Zones/index.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "@odata.id": "/redfish/v1/Fabrics/CXL/Zones", - "@odata.type": "#Fabrics/CXL/ZonesCollection.Fabrics/CXL/ZonesCollection", - "Members": [ - { - "@odata.id": "/redfish/v1/Fabrics/CXL/Zones/1" - }, - { - "@odata.id": "/redfish/v1/Fabrics/CXL/Zones/2" - }, - { - "@odata.id": "/redfish/v1/Fabrics/CXL/Zones/3" - } - ], - "Members@odata.count": 3, - "Name": "Fabrics/CXL/Zones Collection" -} \ No newline at end of file diff --git a/Sunfish/Fabrics/CXL/index.json b/Sunfish/Fabrics/CXL/index.json deleted file mode 100644 index a380c2a..0000000 --- a/Sunfish/Fabrics/CXL/index.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.id": "/redfish/v1/Fabrics/CXL", - "@odata.type": "#Fabric.v1_2_2.Fabric", - "Connections": { - "@odata.id": "/redfish/v1/Fabrics/CXL/Connections" - }, - "Description": "CXL Fabric", - "Endpoints": { - "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints" - }, - "FabricType": "CXL", - "Id": "CXL", - "Name": "CXL Fabric", - "Oem": {}, - "Status": { - "Health": "OK", - "State": "Enabled" - }, - "Switches": { - "@odata.id": "/redfish/v1/Fabrics/CXL/Switches" - }, - "Zones": { - "@odata.id": "/redfish/v1/Fabrics/CXL/Zones" - } -} \ No newline at end of file diff --git a/Sunfish/Fabrics/index.json b/Sunfish/Fabrics/index.json index 7b91aee..13742e7 100644 --- a/Sunfish/Fabrics/index.json +++ b/Sunfish/Fabrics/index.json @@ -1,12 +1,9 @@ { "@odata.type": "#FabricCollection.FabricCollection", "Name": "Fabric Collection", - "Members@odata.count": 1, + "Members@odata.count": 0, "Members": [ - { - "@odata.id": "/redfish/v1/Fabrics/CXL" - } ], "@odata.id": "/redfish/v1/Fabrics", "@Redfish.Copyright": "Copyright 2015-2022 SNIA. All rights reserved." -} \ No newline at end of file +} From 56806666dec65c01dcc77b53f16a172b3e9a5c16 Mon Sep 17 00:00:00 2001 From: MICHELE GAZZETTI Date: Wed, 10 Jan 2024 11:29:17 +0000 Subject: [PATCH 06/10] Update the calls to the Sunfish core library making them compatible with the latest changes in event handling and Redfish objects manipulation. --- app.py | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/app.py b/app.py index 0c34b9f..6d1a136 100644 --- a/app.py +++ b/app.py @@ -5,8 +5,12 @@ import json import os from flask import Flask, request -from sunfishcorelib.sunfishcorelib.core import Core -from sunfishcorelib.sunfishcorelib.exceptions import * +from sunfish.lib.core import Core +from sunfish.lib.exceptions import * +import logging +logging.basicConfig(level=logging.DEBUG) + + # initialize flask @@ -20,7 +24,6 @@ app = Flask(__name__) sunfish_core = Core(conf) -# Usa codici http @app.route('/', methods=["GET"]) def get(resource): @@ -34,8 +37,8 @@ def get(resource): def post(resource): try : resp = '' - if "Events" in request.json: - resp = sunfish_core.handle_event(request.json) + if request.path == "/EventService": + sunfish_core.handle_event(request.json) else: resp = sunfish_core.create_object(request.path, request.json) return resp, 200 @@ -64,8 +67,7 @@ def put(resource): @app.route('/', methods=["PATCH"]) def patch(resource): try: - data = request.json - resp = sunfish_core.patch_object(data) + resp = sunfish_core.patch_object(request.path,request.json) return resp, 200 except ResourceNotFound as e: return e.message, 404 @@ -83,4 +85,4 @@ def delete(resource): return e.message, 400 # we run app debugging mode -app.run(debug=False) \ No newline at end of file +app.run(debug=True) From 502ed6ebb0e9c2a3ce7a572c6e8db4e2d3cf21d7 Mon Sep 17 00:00:00 2001 From: MICHELE GAZZETTI Date: Wed, 10 Jan 2024 12:02:46 +0000 Subject: [PATCH 07/10] Add a mock Sunfish Agent demonstrating the registration process by sending an AggregationSourceDiscovered and a ResourceCreated to Sunfish Signed-off-by: MICHELE GAZZETTI --- mock_agent.py | 83 ++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 75 insertions(+), 8 deletions(-) diff --git a/mock_agent.py b/mock_agent.py index 1e4081d..b69c9ae 100644 --- a/mock_agent.py +++ b/mock_agent.py @@ -2,10 +2,13 @@ # This software is available to you under a BSD 3-Clause License. # The full license terms are available here: https://github.com/OpenFabrics/sunfish_server_reference/blob/main/LICENSE -from flask import Flask -from sunfishcorelib.sunfishcorelib.core import Core -from sunfishcorelib.sunfishcorelib.exceptions import * +from flask import Flask,request +from sunfish.lib.core import Core +from sunfish.lib.exceptions import * import os +import requests + + conf = { "storage_backend": "FS", @@ -23,15 +26,79 @@ app = Flask(__name__) sunfish_core = Core(conf) + @app.route('/', methods=["GET"]) def get(resource): - try: - resp = sunfish_core.get_object('/'+resource) - return resp, 200 - except ResourceNotFound as e: - return e.message, 404 + try: + resp = sunfish_core.get_object('/'+resource) + return resp, 200 + except ResourceNotFound as e: + return e.message, 404 + + +@app.route('/', methods=["PATCH"]) +def patch(resource): + try: + data = request.json + resp = sunfish_core.patch_object('/'+resource, data) + return resp, 200 + except ResourceNotFound as e: + return e.message, 404 + + +def register(): + import time + time.sleep(1) + + print("Register the Agent as a new AggregationSource") + aggregation_source_event = { + "@odata.type": "#Event.v1_7_0.Event", + "Id": "1", + "Name": "AggregationSourceDiscovered", + "Context": "", + "Events": [{ + "EventType": "Other", + "EventId": "4594", + "Severity": "OK", + "Message": "A aggregation source of connection method Redfish located at http://localhost:5001 has been discovered.", + "MessageId": "ResourceEvent.1.0.AggregationSourceDiscovered", + "MessageArgs": ["Redfish", "http://localhost:5001"], + "OriginOfCondition": { + "@odata.id": "/redfish/v1/AggregationService/ConnectionMethods/CXL" + } + } + ]} + subscription = sunfish_core.get_object("/redfish/v1/EventService/Subscriptions/SunfishServer") + requests.post(subscription["Destination"], json = aggregation_source_event) + + print("Inform Sunfish that a new Fabric is available") + time.sleep(2) + + subscription = sunfish_core.get_object("/redfish/v1/EventService/Subscriptions/SunfishServer") + fabric_created_event = { + "@odata.type": "#Event.v1_7_0.Event", + "Id": "2", + "Name": "Fabric Created", + "Context": f"{subscription['Context']}", + "Events": [ { + "EventType": "Other", + "EventId": "4595", + "Severity": "OK", + "Message": "New Resource Created ", + "MessageId": "ResourceEvent.1.0.ResourceCreated", + "MessageArgs": [], + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Fabrics/CXL" + } + }] + } + requests.post(subscription["Destination"], json=fabric_created_event) + if __name__ == '__main__': + import threading + thread = threading.Thread(target=register) + thread.start() host = os.getenv('FLASK_HOST', '127.0.0.1') port = os.getenv('FLASK_PORT', '5001') app.run(host=host, port=int(port)) \ No newline at end of file From 70da455a678067d1d4b5190cb006a6844a0df207 Mon Sep 17 00:00:00 2001 From: MICHELE GAZZETTI Date: Fri, 12 Jan 2024 16:14:33 +0000 Subject: [PATCH 08/10] Add Makefile with commands to start and stop the various services Signed-off-by: MICHELE GAZZETTI --- Makefile | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 Makefile diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..e69de29 From b53967c0d2b4a5ba7b87ec1e98dad98ad6c52c31 Mon Sep 17 00:00:00 2001 From: MICHELE GAZZETTI Date: Sun, 14 Jan 2024 17:15:29 +0000 Subject: [PATCH 09/10] add steps to start server and agent. Signed-off-by: MICHELE GAZZETTI --- Makefile | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/Makefile b/Makefile index e69de29..49fdec0 100644 --- a/Makefile +++ b/Makefile @@ -0,0 +1,22 @@ +# Copyright IBM Corp. 2023 +# This software is available to you under a BSD 3-Clause License. +# The full license terms are available here: https://github.com/OpenFabrics/sunfish_library_reference/blob/main/LICENSE + + +SUNFISH_LIBRARY_REPO_PATH="../sunfish_library_reference" + + +all: + +install-sunfish-library: + pip3 install ${SUNFISH_LIBRARY_REPO_PATH}/dist/sunfish-0.1.0-py3-none-any.whl + +start-sunfish: + python app.py + +start-mock-agent: + python mock_agent.py + +reset-trees: + rm -r Sunfish/ && git checkout Sunfish/ + git checkout CXLAgent/EventService/Subscriptions/SunfishServer/index.json \ No newline at end of file From c1d5a5820ba6f04e3f7fb7163d4df451bce3cdd4 Mon Sep 17 00:00:00 2001 From: MICHELE GAZZETTI Date: Sun, 14 Jan 2024 17:16:38 +0000 Subject: [PATCH 10/10] update the documentation Signed-off-by: MICHELE GAZZETTI --- README.md | 33 +++++++++++++++++++++++++++++---- 1 file changed, 29 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 172e9f1..7485a68 100644 --- a/README.md +++ b/README.md @@ -7,11 +7,36 @@ https://github.com/erika-rosaverde/sunfish_library_reference/blob/main/README.md # Sunfishcore library installation -Follow the following steps to install the sunfishcore library: -> pip3 install [path_to_sunfishcore_library]/dist/sunfishcore-0.1.0-py3-none-any.whl -> -> flask run +```commandline +make install-sunfish-library SUNFISH_LIBRARY_PATH= +``` +As default `SUNFISH_LIBRARY_REPO_PATH` is set to `"../sunfish_library_reference"`. +Change the path to the location of the +[sunfish_library_reference](https://github.com/OpenFabrics/sunfish_library_reference) project on your local system. +**Note:** Follow this [README.md](https://github.com/OpenFabrics/sunfish_library_reference/blob/main/README.md#to-generate-the-installation-file) +to build the sunfish_library_reference Python packages. + +# Run Sunfish Server and Agent + +Start the Mock Sunfish server +```commandline +make start-sunfish +``` + +This starts the Sunfish main server with an empty state. The Sunfish internal state can be visualized via GET requests. +For instance, we can inspect the list of Fabrics exposed by Sunfish. These will be empty at startup time. + +To start the agent +``` +make start-mock-agent + +``` + +To reset the Redfish trees of both Sunfish and Sunfish Agent execute the following: +```commandline +make reset-trees +``` ## Examples of requests: curl -X GET localhost:5000/redfish/v1/