diag-mode: return InTest if host is in diag mode
Per discussion with DMTF and clarification of InTest state within
http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status
it was determined that this would represent the situation where the host
is collecting diagnostic data. This maps to the new DiagnosticMode
state added to the xyz.openbmc_project.State.Host.HostState namespace.
Tested:
Verified that Redfish API returned expected result when in
DiagnosticMode:
"Status": {
"Health": "OK",
"HealthRollup": "OK",
"State": "InTest"
},
Change-Id: I1c5deb5fdc251a5dcd4d1d01f4eedb6c507ded0a
Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
diff --git a/redfish-core/lib/systems.hpp b/redfish-core/lib/systems.hpp
index 2e88367..cae0fe8 100644
--- a/redfish-core/lib/systems.hpp
+++ b/redfish-core/lib/systems.hpp
@@ -617,6 +617,12 @@
aResp->res.jsonValue["PowerState"] = "On";
aResp->res.jsonValue["Status"]["State"] = "Enabled";
}
+ else if (*s == "xyz.openbmc_project.State.Host.HostState."
+ "DiagnosticMode")
+ {
+ aResp->res.jsonValue["PowerState"] = "On";
+ aResp->res.jsonValue["Status"]["State"] = "InTest";
+ }
else
{
aResp->res.jsonValue["PowerState"] = "Off";