You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
bmcweb Redfish collections appear to be modeled incorrectly according to the specification. Because the Members property within a collection is simply a list of resource references, with AutoExpandReferences enabled, Redfish expects that the equivalent /Members url to also return just the collection.
This subtlety isn't captured very well in the spec that I can find without looking at the OData XML, although it is eluded to in section 8.8
... if a client adds a member to the resource collection at /redfish/v1/EventService/
Subscriptions , it can send a POST request to either /redfish/v1/EventService/Subscriptions or /redfish/
v1/EventService/Subscriptions/Members .
This implies that everywhere we have a collection, we also need a URI route to handle the POST (and maybe the GET) on /Members as well
This is causing us to fail the newly added REQ_POST_CREATE_TO_MEMBERS_PROP test.
This means that EVERY collection within bmcweb needs to change. At some point I'd like to get some more concrete wording in the specification to ensure that this is correct. Considering that we haven't hit this before, it seems to mostly just be a compliance issue.
Environment
What OpenBMC platform was this found on?
Issue exists on all platforms. Tested in Qemu.
What specific OpenBMC versions did you use?
9f410ccf2825825c8a3dafed00eb11aef4ffe2da
The Members property within resources is expected to allow create in the
same way the Collection resource does. From the spec:
Submitting a POST request to a resource collection is equivalent to
submitting the same request to the Members property of that resource
collection. Services that support the addition of Members to a resource
collection shall support both forms.
Related: #192
Tested:
Redfish protocol validator, REQ_POST_CREATE_TO_MEMBERS_PROP now passes.
Signed-off-by: Ed Tanous <[email protected]>
Change-Id: I5c22325946eab9aec8c690450aa2ea24a6e4e485
Describe the bug
bmcweb Redfish collections appear to be modeled incorrectly according to the specification. Because the Members property within a collection is simply a list of resource references, with AutoExpandReferences enabled, Redfish expects that the equivalent /Members url to also return just the collection.
This subtlety isn't captured very well in the spec that I can find without looking at the OData XML, although it is eluded to in section 8.8
This implies that everywhere we have a collection, we also need a URI route to handle the POST (and maybe the GET) on /Members as well
This is causing us to fail the newly added REQ_POST_CREATE_TO_MEMBERS_PROP test.
This means that EVERY collection within bmcweb needs to change. At some point I'd like to get some more concrete wording in the specification to ensure that this is correct. Considering that we haven't hit this before, it seems to mostly just be a compliance issue.
Environment
What OpenBMC platform was this found on?
Issue exists on all platforms. Tested in Qemu.
What specific OpenBMC versions did you use?
9f410ccf2825825c8a3dafed00eb11aef4ffe2da
To Reproduce
Steps to reproduce the behavior:
Is this a regression
No
The text was updated successfully, but these errors were encountered: