Post by slotain on Oct 27, 2021 21:54:28 GMT
TLDR: What profile is used to validate the Redfish-Profile-Simulator to 100%? Where can I find the Redfish work-in-progress profiles (mentioned in the profile bundle doc)? I want to build an amazing Redfish service right out of the gate: Am I doing it right by attempting to validate against a profile as a first step?
This post ended up being longer than I expected. If I have time to edit it, I'll make it shorter.
I'm using the git@github.com:DMTF/Redfish-Profile-Simulator.git and in the documentation for it, it states that it's aligned with the OCP Remote Machine Management Spec.
After looking for a while, and watching youtube for the past couple days (great presentations by the way, jautor!), I found this website
Anyway, I expected to see 100% passing (no problems found) for one or the other OCP profiles that I downloaded from that site (opencompute's site, above). The two profiles that I attempted to run against the git@github.com:DMTF/Redfish-Interop-Validator.git seem to only report less than ideal results
$ python RedfishInteropValidator.py -c config/example.ini profiles/OCPServerHardwareManagement.v0_2_3.json
Redfish Interop Validator, version 2.0.1
... some passes ... some failures ...
Validation has failed: 6 problems found
$ python RedfishInteropValidator.py -c config/example.ini profiles/OCPBaselineHardwareManagement.v1_0_0.json
... etc. etc.
Validation has failed: 9 problems found
I'm also a bit lost with respect to the Redfish Profile Bundle, because it says there are supposed to be folders in the zip file, but I don't see folders. And the profiles in this bundle don't seems to validate using the Redfish-Interop-Validator against the Redfish-Profile-Simulator (not even a little bit, they are bugged or they're not actually profiles but schemas).
As profiles are defined, approved and published, they will be added to folders in this bundle. Each published profile is
expected to include at least two files: the JSON document, which conforms to the profile schema, and a profile guide
to document the contents of the profile.
As of this publication, there are no normative profiles (work-in-progress profiles are available separately).
expected to include at least two files: the JSON document, which conforms to the profile schema, and a profile guide
to document the contents of the profile.
As of this publication, there are no normative profiles (work-in-progress profiles are available separately).
[... Later]
So, I edited the config/example.ini to point to the latest running instance of the Redfish-Profile-Simulator and I cloned the HWMgmt-OCP-Profiles
Some good results, but none are 100%. Maybe it's time to dig into why each of them are failing and consider that it's my fault... (slight panic)
Some good results, but none are 100%. Maybe it's time to dig into why each of them are failing and consider that it's my fault... (slight panic)
Redfish-Interop-Validator $ for x in ../HWMgmt-OCP-Profiles/* ; do echo Doing $x; python RedfishInteropValidator.py -c config/example.ini $x ; done | grep -e Doing -e Validation
Doing ../HWMgmt-OCP-Profiles/OCPBaselineHardwareManagement.json
Validation has failed: 5 problems found
Doing ../HWMgmt-OCP-Profiles/OCPBaselineHardwareManagement.v1_0_0.json
Validation has failed: 9 problems found
Doing ../HWMgmt-OCP-Profiles/OCPBaselineHardwareManagement.v1_0_1.json
Validation has failed: 4 problems found
Doing ../HWMgmt-OCP-Profiles/OCPDoorHeatExchangerHardwareManagement.v0_0_5.json
Validation has failed: 10 problems found
Doing ../HWMgmt-OCP-Profiles/OCPRackManagerController.v1_0_0.json
Validation has failed: 26 problems found
Doing ../HWMgmt-OCP-Profiles/OCPServerHardwareManagement.json
Validation has failed: 6 problems found
Doing ../HWMgmt-OCP-Profiles/OCPServerHardwareManagement.v0_2_3.json
Traceback (most recent call last):
... snipped out ...
IndexError: tuple index out of range
Doing ../HWMgmt-OCP-Profiles/OCPServerHardwareManagement.v0_2_4.json
Validation has failed: 6 problems found
Doing ../HWMgmt-OCP-Profiles/OCPStorageManagement.json
Traceback (most recent call last):
... snipped out ...
TypeError: 'NoneType' object is not iterable
My motivation for doing this work (attempting to use the validator) is because I would like to know that my next Redfish service (my first) will meet some standard. I found the profiles to be a good goal to shoot for, but tell me if I'm being too bold. I don't know if I should be so interested in 100% completeness. I have a Dell IDRAC system in my lab, and I'm executing a recent profile against it. There are quite a few failures. I'll report back with results.