Redfish Interop Validator reports "ERROR - Invalid Profile - CompareType is required for CompareProperty but not found" for ComputerSystem resource.
Information
OCP server hardware management requires either ComputerSystem.SKU or ComputerSystem.PartNumber (or both) to be implemented. This can be achieved by setting ReadRequirement field to Recommended, and using ConditionalRequirements to change this field to Mandatory if SKU or PartNumber does not exist.
Causes
According to Redfish Interoperability Profiles (DSP0272 v1.2.0), section 8.4.2.5 defines:
Comparison: The condition used to compare the value of the property to Values.
CompareType: The condition used to compare the value of the property named by CompareProperty to the value of CompareValues. If the comparison is true, this conditional requirement applies.
The OCP server profile uses Comparison instead of CompareType. The "Absent" comparison (CompareType) for CompareProperty is suitable for this situation. For example, SKU ReadRequirement is Mandatory if PartNumber (CompareProperty)
is Absent (CompareType) and vice versa.
Solution
Change Comparison to CompareType (shown in attached patch)
Issue description
Redfish Interop Validator reports "ERROR - Invalid Profile - CompareType is required for CompareProperty but not found" for ComputerSystem resource.
Information
OCP server hardware management requires either ComputerSystem.SKU or ComputerSystem.PartNumber (or both) to be implemented. This can be achieved by setting
ReadRequirement
field to Recommended, and usingConditionalRequirements
to change this field to Mandatory if SKU or PartNumber does not exist.Causes
According to Redfish Interoperability Profiles (DSP0272 v1.2.0), section 8.4.2.5 defines:
Comparison
: The condition used to compare the value of the property toValues
.CompareType
: The condition used to compare the value of the property named byCompareProperty
to the value ofCompareValues
. If the comparison is true, this conditional requirement applies.The OCP server profile uses
Comparison
instead ofCompareType
. The "Absent" comparison (CompareType
) forCompareProperty
is suitable for this situation. For example, SKU ReadRequirement is Mandatory if PartNumber (CompareProperty) is Absent (CompareType) and vice versa.Solution
Change
Comparison
toCompareType
(shown in attached patch)0001-Fix-CompareType-for-SKU-and-PartNumber-properties.txt