summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Feist <james.feist@linux.intel.com>2019-03-29 21:52:12 +0300
committerEd Tanous <ed.tanous@intel.com>2019-05-04 03:05:33 +0300
commitaf8f791296511553e11643d0bbbd80dfe9cd30e3 (patch)
treee76ca06db5cb049649a3032c240c8f1adcf82751
parentae29b8c4d22fddb9f17610f87d27b53c95509e7c (diff)
downloadbmcweb-af8f791296511553e11643d0bbbd80dfe9cd30e3.tar.xz
Fix OemManager schema for profiles
Make schema pass validator. Found quite a few missing fields and odata.id issues. Tested: Passes validator Change-Id: Ibba92018d07a2a9f2ba833c295a235fee7845a97 Signed-off-by: James Feist <james.feist@linux.intel.com>
-rw-r--r--static/redfish/v1/JsonSchemas/OemManager/index.json43
-rw-r--r--static/redfish/v1/schema/OemManager_v1.xml95
2 files changed, 97 insertions, 41 deletions
diff --git a/static/redfish/v1/JsonSchemas/OemManager/index.json b/static/redfish/v1/JsonSchemas/OemManager/index.json
index bf69511645..5cc0b83d34 100644
--- a/static/redfish/v1/JsonSchemas/OemManager/index.json
+++ b/static/redfish/v1/JsonSchemas/OemManager/index.json
@@ -49,6 +49,14 @@
}
]
},
+ "Profile": {
+ "description": "Current thermal profile.",
+ "longDescription": "Current thermal profile.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
"StepwiseControllers": {
"anyOf": [
{
@@ -115,6 +123,11 @@
"longDescription": "Input sensors to the PID controller.",
"type": "array"
},
+ "NegativeHysteresis": {
+ "description": "Negative hysteresis for the controller.",
+ "longDescription": "Negative hysteresis for the controller.",
+ "type": "number"
+ },
"OutLimitMax": {
"description": "Output limit maxiumum for the pwm.",
"longDescription": "Output limit maxiumum for the pwm.",
@@ -141,6 +154,11 @@
"longDescription": "Polynomial coefficent for the PID.",
"type": "number"
},
+ "PositiveHysteresis": {
+ "description": "Positive hysteresis for the controller.",
+ "longDescription": "Positive hysteresis for the controller.",
+ "type": "number"
+ },
"SlewNeg": {
"description": "Negative slew rate for the PID.",
"longDescription": "Negative slew rate for the PID.",
@@ -219,7 +237,7 @@
"longDescription": "If the sensors are in fail-safe mode, this is the percentage to use.",
"type": "number"
},
- "MinThermalRpm": {
+ "MinThermalOutput": {
"description": "Minimum thermal RPM that can be set in this Zone.",
"longDescription": "Minimum thermal RPM that can be set in this Zone.",
"type": "number"
@@ -360,6 +378,11 @@
"longDescription": "Input sensors to the PID controller.",
"type": "array"
},
+ "NegativeHysteresis": {
+ "description": "Negative hysteresis for the controller.",
+ "longDescription": "Negative hysteresis for the controller.",
+ "type": "number"
+ },
"OutLimitMax": {
"description": "Output limit maxiumum for the pwm.",
"longDescription": "Output limit maxiumum for the pwm.",
@@ -375,6 +398,16 @@
"longDescription": "Polynomial coefficent for the PID.",
"type": "number"
},
+ "PositiveHysteresis": {
+ "description": "Positive hysteresis for the controller.",
+ "longDescription": "Positive hysteresis for the controller.",
+ "type": "number"
+ },
+ "SetPoint": {
+ "description": "Setpoint for the PID.",
+ "longDescription": "Setpoint for the PID.",
+ "type": "number"
+ },
"SlewNeg": {
"description": "Negative slew rate for the PID.",
"longDescription": "Negative slew rate for the PID.",
@@ -436,6 +469,14 @@
}
},
"properties": {
+ "Direction": {
+ "description": "Direction that the stepwise controller applies.",
+ "longDescription": "Direction that the stepwise controller applies. Options include Ceiling and Floor.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
"Inputs": {
"description": "Input sensors to the Stepwise controller.",
"items": {
diff --git a/static/redfish/v1/schema/OemManager_v1.xml b/static/redfish/v1/schema/OemManager_v1.xml
index 171855f3a7..164f2728b3 100644
--- a/static/redfish/v1/schema/OemManager_v1.xml
+++ b/static/redfish/v1/schema/OemManager_v1.xml
@@ -21,37 +21,41 @@
<edmx:DataServices>
<Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="OemManager">
- <ComplexType Name="Oem" BaseType="Resource.OemObject" ContainsTarget="true">
+ <ComplexType Name="Oem" BaseType="Resource.OemObject">
<Annotation Term="OData.AdditionalProperties" Bool="true" />
<Annotation Term="OData.Description" String="OemManager Oem properties." />
<Annotation Term="OData.AutoExpand"/>
- <NavigationProperty Name="OpenBmc" Type="OemManager.OpenBmc"/>
+ <Property Name="OpenBmc" Type="OemManager.OpenBmc"/>
</ComplexType>
- <EntityType Name="OpenBmc" BaseType="Resource.OemObject" ContainsTarget="true">
+ <ComplexType Name="OpenBmc">
<Annotation Term="OData.AdditionalProperties" Bool="true" />
<Annotation Term="OData.Description" String="Oem properties for OpenBmc." />
<Annotation Term="OData.AutoExpand"/>
- <NavigationProperty Name="Fan" Type="OemManager.Fan"/>
- </EntityType>
+ <Property Name="Fan" Type="OemManager.Fan"/>
+ </ComplexType>
- <EntityType Name="Fan" BaseType="Resource.OemObject" ContainsTarget="true">
+ <ComplexType Name="Fan">
<Annotation Term="OData.AdditionalProperties" Bool="true" />
<Annotation Term="OData.Description" String="OpenBmc oem fan properties." />
<Annotation Term="OData.AutoExpand"/>
- <NavigationProperty Name="FanControllers" Type="OemManager.FanControllers"/>
- <NavigationProperty Name="PidControllers" Type="OemManager.PidControllers"/>
- <NavigationProperty Name="StepwiseControllers" Type="OemManager.StepwiseControllers"/>
- <NavigationProperty Name="FanZones" Type="OemManager.FanZones"/>
- </EntityType>
+ <Property Name="FanControllers" Type="OemManager.FanControllers"/>
+ <Property Name="PidControllers" Type="OemManager.PidControllers"/>
+ <Property Name="StepwiseControllers" Type="OemManager.StepwiseControllers"/>
+ <Property Name="FanZones" Type="OemManager.FanZones"/>
+ <Property Name="Profile" Type="Edm.String">
+ <Annotation Term="OData.Description" String="Current thermal profile."/>
+ <Annotation Term="OData.LongDescription" String="Current thermal profile."/>
+ </Property>
- <EntityType Name="FanControllers" BaseType="Resource.OemObject" ContainsTarget="true">
+ </ComplexType>
+
+ <ComplexType Name="FanControllers" BaseType="Resource.OemObject">
<Annotation Term="OData.AdditionalProperties" Bool="true" />
<Annotation Term="OData.Description" String="OpenBmc FanControllers." />
<Annotation Term="OData.LongDescription" String="Container for OpenBmc fan controllers." />
<Annotation Term="Redfish.DynamicPropertyPatterns">
- <Annotation Term="OData.AutoExpand"/>
- <Collection ContainsTarget="true">
+ <Collection>
<NavigationProperty Type="OemManager.FanController">
<Annotation Term="OData.AutoExpand"/>
<PropertyValue Property="Pattern" String="[A-Za-z0-9_.:]+" />
@@ -59,15 +63,14 @@
</NavigationProperty>
</Collection>
</Annotation>
- </EntityType>
+ </ComplexType>
- <EntityType Name="PidControllers" BaseType="Resource.OemObject" ContainsTarget="true">
+ <ComplexType Name="PidControllers" BaseType="Resource.OemObject">
<Annotation Term="OData.AdditionalProperties" Bool="true" />
<Annotation Term="OData.Description" String="OpenBmc PidControllers." />
<Annotation Term="OData.LongDescription" String="Container for OpenBmc pid controllers." />
<Annotation Term="Redfish.DynamicPropertyPatterns">
- <Annotation Term="OData.AutoExpand"/>
- <Collection ContainsTarget="true">
+ <Collection>
<NavigationProperty>
<Annotation Term="OData.AutoExpand"/>
<PropertyValue Property="Pattern" String="[A-Za-z0-9_.:]+" />
@@ -75,15 +78,14 @@
</NavigationProperty>
</Collection>
</Annotation>
- </EntityType>
+ </ComplexType>
- <EntityType Name="StepwiseControllers" BaseType="Resource.OemObject" ContainsTarget="true">
+ <ComplexType Name="StepwiseControllers" BaseType="Resource.OemObject">
<Annotation Term="OData.AdditionalProperties" Bool="true" />
<Annotation Term="OData.Description" String="OpenBmc StepwiseControllers." />
<Annotation Term="OData.LongDescription" String="Container for OpenBmc Stepwise controllers." />
<Annotation Term="Redfish.DynamicPropertyPatterns">
- <Annotation Term="OData.AutoExpand"/>
- <Collection ContainsTarget="true">
+ <Collection>
<NavigationProperty>
<Annotation Term="OData.AutoExpand"/>
<PropertyValue Property="Pattern" String="[A-Za-z0-9_.:]+" />
@@ -91,15 +93,14 @@
</NavigationProperty>
</Collection>
</Annotation>
- </EntityType>
+ </ComplexType>
- <EntityType Name="FanZones" BaseType="Resource.OemObject" ContainsTarget="true">
+ <ComplexType Name="FanZones" BaseType="Resource.OemObject">
<Annotation Term="OData.AdditionalProperties" Bool="true" />
<Annotation Term="OData.Description" String="OpenBmc FanZones." />
<Annotation Term="OData.LongDescription" String="Container for OpenBmc fan zones." />
<Annotation Term="Redfish.DynamicPropertyPatterns">
- <Annotation Term="OData.AutoExpand"/>
- <Collection ContainsTarget="true">
+ <Collection>
<NavigationProperty>
<Annotation Term="OData.AutoExpand"/>
<PropertyValue Property="Pattern" String="[A-Za-z0-9_.:]+" />
@@ -107,13 +108,7 @@
</NavigationProperty>
</Collection>
</Annotation>
- </EntityType>
-
- <!-- In reality we'd like these all to be entities, but the Pattern Expansion for
- Navigation Properties doesn't seem to quite work right. As FanZones should always have
- some FanController / PidController, the navigation properties in those fields sould let
- the conformance test find them. However FanControllers / PidControllers are only linked to
- by the pattern expansion, as that's not working they are complex types -->
+ </ComplexType>
<ComplexType Name="FanController" BaseType="Resource.OemObject">
<Annotation Term="OData.AdditionalProperties" Bool="false" />
@@ -150,6 +145,14 @@
<Annotation Term="OData.Description" String="Output limit minimum for the pwm." />
<Annotation Term="OData.LongDescription" String="Output limit minimum for the pwm." />
</Property>
+ <Property Name="NegativeHysteresis" Type="Edm.Decimal" Nullable="false">
+ <Annotation Term="OData.Description" String="Negative hysteresis for the controller." />
+ <Annotation Term="OData.LongDescription" String="Negative hysteresis for the controller." />
+ </Property>
+ <Property Name="PositiveHysteresis" Type="Edm.Decimal" Nullable="false">
+ <Annotation Term="OData.Description" String="Positive hysteresis for the controller." />
+ <Annotation Term="OData.LongDescription" String="Positive hysteresis for the controller." />
+ </Property>
<Property Name="Outputs" Type="Collection(Edm.String)">
<Annotation Term="OData.Description" String="Output sensors to the PID controller."/>
<Annotation Term="OData.LongDescription" String="Output sensors to the PID controller."/>
@@ -166,30 +169,30 @@
<Annotation Term="OData.Description" String="Positive slew rate for the PID." />
<Annotation Term="OData.LongDescription" String="Positive slew rate for the PID." />
</Property>
- <NavigationProperty Name="Zones" Type="Collection(OemManager.FanZone)" ContainsTarget="true">
+ <NavigationProperty Name="Zones" Type="Collection(OemManager.FanZone)">
<Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read" />
<Annotation Term="OData.Description" String="Contains the Zones that this PID contributes to." />
<Annotation Term="OData.AutoExpandReferences"/>
</NavigationProperty>
</ComplexType>
- <EntityType Name="FanZone" BaseType="Resource.OemObject">
+ <ComplexType Name="FanZone" BaseType="Resource.OemObject">
<Annotation Term="OData.AdditionalProperties" Bool="false" />
<Annotation Term="OData.Description" String="Configuration data for Fan Controllers." />
<Property Name="FailSafePercent" Type="Edm.Decimal" Nullable="false">
<Annotation Term="OData.Description" String="If the sensors are in fail-safe mode, this is the percentage to use." />
<Annotation Term="OData.LongDescription" String="If the sensors are in fail-safe mode, this is the percentage to use." />
</Property>
- <Property Name="MinThermalRpm" Type="Edm.Decimal" Nullable="false">
+ <Property Name="MinThermalOutput" Type="Edm.Decimal" Nullable="false">
<Annotation Term="OData.Description" String="Minimum thermal RPM that can be set in this Zone." />
<Annotation Term="OData.LongDescription" String="Minimum thermal RPM that can be set in this Zone." />
</Property>
- <NavigationProperty Name="Chassis" Type="Chassis.Chassis" ContainsTarget="true">
+ <NavigationProperty Name="Chassis" Type="Chassis.Chassis">
<Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
<Annotation Term="OData.Description" String="The Chassis that enables this Zone."/>
<Annotation Term="OData.AutoExpandReferences"/>
</NavigationProperty>
- </EntityType>
+ </ComplexType>
<ComplexType Name="PidController" BaseType="Resource.OemObject">
<Annotation Term="OData.AdditionalProperties" Bool="false" />
@@ -226,10 +229,22 @@
<Annotation Term="OData.Description" String="Output limit minimum for the pwm." />
<Annotation Term="OData.LongDescription" String="Output limit minimum for the pwm." />
</Property>
+ <Property Name="NegativeHysteresis" Type="Edm.Decimal" Nullable="false">
+ <Annotation Term="OData.Description" String="Negative hysteresis for the controller." />
+ <Annotation Term="OData.LongDescription" String="Negative hysteresis for the controller." />
+ </Property>
+ <Property Name="PositiveHysteresis" Type="Edm.Decimal" Nullable="false">
+ <Annotation Term="OData.Description" String="Positive hysteresis for the controller." />
+ <Annotation Term="OData.LongDescription" String="Positive hysteresis for the controller." />
+ </Property>
<Property Name="PCoefficient" Type="Edm.Decimal" Nullable="false">
<Annotation Term="OData.Description" String="Polynomial coefficent for the PID." />
<Annotation Term="OData.LongDescription" String="Polynomial coefficent for the PID." />
</Property>
+ <Property Name="SetPoint" Type="Edm.Decimal" Nullable="false">
+ <Annotation Term="OData.Description" String="Setpoint for the PID." />
+ <Annotation Term="OData.LongDescription" String="Setpoint for the PID." />
+ </Property>
<Property Name="SlewNeg" Type="Edm.Decimal" Nullable="false">
<Annotation Term="OData.Description" String="Negative slew rate for the PID." />
<Annotation Term="OData.LongDescription" String="Negative slew rate for the PID." />
@@ -238,7 +253,7 @@
<Annotation Term="OData.Description" String="Positive slew rate for the PID." />
<Annotation Term="OData.LongDescription" String="Positive slew rate for the PID." />
</Property>
- <NavigationProperty Name="Zones" Type="Collection(OemManager.FanZone)" ContainsTarget="true">
+ <NavigationProperty Name="Zones" Type="Collection(OemManager.FanZone)">
<Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read" />
<Annotation Term="OData.Description" String="Contains the Zones that this PID contributes to." />
<Annotation Term="OData.AutoExpandReferences"/>
@@ -269,7 +284,7 @@
<Annotation Term="OData.Description" String="Direction that the stepwise controller applies."/>
<Annotation Term="OData.LongDescription" String="Direction that the stepwise controller applies. Options include Ceiling and Floor."/>
</Property>
- <NavigationProperty Name="Zones" Type="Collection(OemManager.FanZone)" ContainsTarget="true">
+ <NavigationProperty Name="Zones" Type="Collection(OemManager.FanZone)">
<Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read" />
<Annotation Term="OData.Description" String="Contains the Zones that this controller contributes to." />
<Annotation Term="OData.AutoExpandReferences"/>