|
Post by dchanman on Mar 23, 2023 21:38:00 GMT
Let's say we want to model one Chassis containing multiple ComputerSystems, each with their own MemoryCollection. Currently, Chassis.Memory links to a singular MemoryCollection. If we wanted to query all Memory contained within that Chassis, is there a "canonical" model approach? - Have the Chassis's MemoryCollection aggregate the Memory references from all ComputerSystem MemoryCollections?
e.g. { "@odata.id": "/redfish/v1/Chassis/my_chassis/Memory", "@odata.type": "#MemoryCollection.MemoryCollection", "Members": [ { "@odata.id": "/redfish/v1/Systems/system0/Memory/dimm0" }, { "@odata.id": "/redfish/v1/Systems/system0/Memory/dimm1" }, { "@odata.id": "/redfish/v1/Systems/system1/Memory/dimm0" }, { "@odata.id": "/redfish/v1/Systems/system1/Memory/dimm1" },
{ "@odata.id": "/redfish/v1/Systems/system2/Memory/dimm0" }, { "@odata.id": "/redfish/v1/Systems/system2/Memory/dimm1" },
- Change Chassis Memory property to be an array of MemoryCollections?
- Don't use Chassis.Memory and instead ask users to crawl the Chassis's Links/ComputerSystem[*]/Memory properties instead?
|
|
|
Post by jautor on Mar 23, 2023 22:51:12 GMT
Yes, if you're trying to "find the memory devices for a system", the client should certainly expect to find them under /Systems - same is true for Processors (items both within the "data plane" so they were modeled under the functional ComputerSystem resource tree instead of the physical-based Chassis tree).
Jeff
|
|
|
Post by mraineri on Mar 24, 2023 12:16:25 GMT
Also, keep in mind the usage for Memory and Processor in Chassis is for the fabric use case where a remote shelf is a box of offload devices; these shouldn't be used for general systems. We had to make that clarification with the addition of CXL to the model in 2022.3.
|
|