|
Post by dchanman on Dec 6, 2021 22:01:37 GMT
I noticed that "ResetType" throughout the Redfish Resource and Schema Guide (DSP2046) for all resources all list ResetType as an optional parameter.
Question 1: How should a service handle a missing ResetType? Is it implementation-defined (e.g. it is reasonable for a service to either return a ActionParameterNotSupported error? Or pick an implementation-defined ResetType?)? Or is there a standard response that Redfish prescribes (e.g. service shall/should/may perform an implementation-specific ResetType)?
Question 2: I also notice that the example in the Redfish Specification (DSP0266) v1.14.0 in section 9.9.4 has an example for a ComputerSystem.ResetActionInfo with ResetType.required = True. So should it mean that ResetType is only made required if a service declares it so in ResetActionInfo? If ResetType.required = False, do we have the same problem in Question 1, do we have a standard implementation if the ResetType is left empty?
|
|
|
Post by jautor on Dec 7, 2021 15:51:17 GMT
I noticed that "ResetType" throughout the Redfish Resource and Schema Guide (DSP2046) for all resources all list ResetType as an optional parameter. Question 1: How should a service handle a missing ResetType? Is it implementation-defined (e.g. it is reasonable for a service to either return a ActionParameterNotSupported error? Or pick an implementation-defined ResetType?)? Or is there a standard response that Redfish prescribes (e.g. service shall/should/may perform an implementation-specific ResetType)? Yes, from the normative "LongDescription" (see DSP0268 - Redfish Schema Supplement - for the "guide" version that has all the normative language), the system should perform a reset, with the "type" left to the implementation. We don't want the service to reject the command, because the user obviously wants the reset to occur... This was done in an attempt to improve interoperability - because early implementations had a mix of ResetType support - and there were cases where there was no overlap of support between vendors. So providing the user the means to say "just reset, I don't care how you do it, just do it..." was our way of addressing the user intent and removing the need to learn from each service what types of reset were supported beforehand. We should probably choose a different example for the specification since ResetType is the only (and optional) parameter on that Action. But yes, an implementation can make an optional-by-specification parameter a required-by-my-implementation. However, for Reset, we would not recommend that unless it truly is critical for the implementation. And to be clear - yes, an implementation should accept the Reset action without a ResetType specified, and perform an appropriate reset. Jeff
|
|