[Help Required]Unsupported routes and properties present on Redfish Interface

Aishwary Joshi aishwaryj at nvidia.com
Thu Apr 13 22:59:28 AEST 2023


Problem Statement

1. Unsupported routes getting activated on the platform

2. Redfish resources contain properties  which are initialized with default values which causes misleading info present on redfish interface.





For problem #1,

We have seen that in the current bmcweb implementation, certain collection routes are enabled by default

Eg requestRoutesTriggerCollection, requestRoutesCableCollection etc. which are not must have routes on our platforms but gets enabled by default. We know that when redfish api for the collection will not return any member on platform where backend support is absent  but since /redfish/v1 has links to these collection routes. It creates an impression about feature is being supported and when actually its not.



Suggestion 1: Feature Flag(already present for some of the routes)

Enable/disable such routes through compile time flags for given platform.



But this could make bmcweb code difficult to manage especially to support multiple platforms with varied configurations





For problem #2

We have a use case where certain platform supports multiple redfish Chassis resource and only on few of redfish Chassis resource we want to populate Links.ComputerSystems . As per redfish schema Links.ComputerSystems is not mandatory property as for Chassis resource these are the only required fields which we are adhering to.

      - ChassisType

      - '@odata.id'

      - '@odata.type'

      - Id

      - Name

Code Ref: https://github.com/openbmc/bmcweb/blob/master/redfish-core/lib/chassis.hpp#L456

DONOT want to tie this problem statement to just Chassis resource. The example mentioned above is just one code block where we have observed the issue but exist for few of the redfish properties in other redfish resources also.



Suggestion 2: To use d-bus based discovery checks to populate such Links/Properties instead of having any default value in the bmcweb

Dbus based discovery can be through following checks (but not limited to):

- dbus property checks on an interface

- Association checks

- dbus interface checks

This would ensure that on any redfish resource there are no default values and Links/Properties are populated only when backend service actually supports it.



Reaching out to get the feedback on two suggestions that we have provided.

Also like to understand if there is/are any other solution already exist or being worked upon to mitigate these problems.

Thanks,
Aishwary

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ozlabs.org/pipermail/openbmc/attachments/20230413/acfbe4f6/attachment.htm>


More information about the openbmc mailing list