|
Post by jjsalzano on Mar 28, 2023 20:25:48 GMT
Hi, We are running the Service Validator (https://github.com/DMTF/Redfish-Service-Validator) v2.2.9 against our RedFish service. We are seeing errors when it is validating the ManagerNetworkProtocol (v1.9.1) resource. From what the engineers debugging the issue are seeing is that the tool is grabbing this file: redfish.dmtf.org/schemas/v1/ManagerNetworkProtocol_v1.xml which is a very different schema than what we used to design the resource which was this file: redfish.dmtf.org/schemas/v1/ManagerNetworkProtocol.v1_9_1.yaml. It seems to us that the ManagerNetworkProtocol_v1.xml file, while marked with 1.9.1 is outdated, specifically containing the 1.2.0 NTPProtocol instead of the 1.9.1 NTPProtocol that is in the yaml file. Should the tool be looking at a different file for validation, or is the xml file out of date? Or are we not implementing the right schema using ManagerNetworkProtocol.v1_9_1.yaml? Thanks, Joseph
|
|
|
Post by mraineri on Mar 28, 2023 20:49:38 GMT
There is a known issue with the service validator for this specific issue (see issue github.com/DMTF/Redfish-Service-Validator/issues/529). The schema is correct; in CSDL, when extending an object's definition, the inheritance path points back to the last definition for the object with "BaseType". So, in this case specifically... - In ManagerNetworkProtocol.v1_2_0, "NTP" the property is defined and points to the "NTPProtocol" inside ManagerNetworkProtocol.v1_2_0 as the object definition. - In ManagerNetworkProtocol.v1_9_0, an extension to "NTPProtocol" is defined, and leverages the "NTPProtocol" definition in ManagerNetworkProtocol.v1_2_0 as the base definition. The usage of CSDL in Redfish has an inheritance tree that we leverage everywhere, so version ManagerNetworkProtocol.v1_9_1 inherits from ManagerNetworkProtocol.v1_9_0, which inherits from ManagerNetworkProtocol.v1_8_0, etc. JSON Schema and OpenAPI need very explicit definitions, which is why when you look at a file like "ManagerNetworkProtocol.v1_9_1.yaml", you see the entire resource definition (and definitions of all nested objects).
|
|
|
Post by jjsalzano on Mar 28, 2023 21:00:12 GMT
Ok glad to know it is a tool issue that is already being tracked. Thank you for the quick reply.
|
|