Post by thorstenweller on Jun 21, 2022 11:05:11 GMT
While viewing the PDU demo we noticed that it is not possible to query the status of all outlets of a PDU or similar with low protocol overhead. Did we not understand it or do I need to query each outlet individually? BR Thorsten
You should be able to use the "$expand" query parameter on the request to view all outlets in a collection simultaneously. So, for example, performing a GET operation with the URI "/redfish/v1/PowerEquipment/RackPDUs/1/Outlets?$expand=." will show the outlet collection and all members of the collection.
You can perform $expand on resources higher in the model and request deeper expansion with $levels. For example, performing a GET operation with the URI "/redfish/v1/PowerEquipment/RackPDUs/1?$expand=.($levels=2)" will return rack PDU "1" and all resources two levels deep, which I believe covers the entire depth of the PDU model.
You are correct that there isn't a way to get "status" (and the definition of what that means is part of the issue with defining a solution) for all outlets from a single resource (GET). But Mike has shown how this can be accomplished within the protocol if the service supports the $expand option.
We have discussed various "summary" resources but didn't want to define any duplicate data views unless we heard a real-world client software need for such things, and also, with features such as $expand we may be able to accomplish the goals without creating more resources that services would need to populate to keep up interoperability with clients.
And there is also support for streaming telemetry to a client that may be a better choice at scale anyway, but we understand that requires some change in thinking on both ends of the wire to move away from the historical polling-based methods.
We're certainly open to any suggestions in this area!