DMTF/Redfish-Service-Validator

About the error respond "not match object IDs of resource chain"

FelixD999 opened this issue · 2 comments

Hi,

Some errors indicate "URI {} does not match object IDs of resource chain".
As far as I know, the value of the property "ID" must be the same as the word after the last slash in the link of "@odata.id", what other specifications must be met to avoid such errors from happening?
Take a screenshot as an example:
1
2

In the URI of the upper layer, the "Members" also lists the correct link.
3

Thanks,
Felix

The Ids are only checked in the Resource itself, so the bottom screenshot will pass.

However, not sure about the top image. It checks every resource Id in the path. Does your /redfish/v1/Systems/Self pass as well?

After looking into the Schema for USBController, the issue seems to be how the tool interprets the Schema. The schema is written with {ControllerId} instead of {USBControllerId}, and the tool uses this to determine type accuracy (Controller is not a valid type).

This is a tool issue, so your implementation should already be correct.

@tomasg2012 let's check two things with this:

  1. Ensure there's no dependency with parent resources; so, even if "/redfish/v1/Systems/Self" is not correct, that should not impact child resources like with this USB controller resource.
  2. Don't rely on the names of the tokens inside of the curly braces or perform matching with the resource name since the token names aren't required to match the resource name; simply the presence of the curly braces is sufficient.