diff --git a/HWMgmt/OCPBaselineRedfishService.v1_0_0.json b/HWMgmt/OCPBaselineRedfishService.v1_0_0.json index 1f3ddb2..983eeaf 100644 --- a/HWMgmt/OCPBaselineRedfishService.v1_0_0.json +++ b/HWMgmt/OCPBaselineRedfishService.v1_0_0.json @@ -21,7 +21,7 @@ "AccountService": { "PropertyRequirements": { "Accounts": {}, - "ActiveDirecotory": { + "ActiveDirectory": { "ReadRequirement": "Recommended", "PropertyRequirements": { "ServiceEnabled": {}, @@ -346,7 +346,7 @@ "ReadRequirement": "Mandatory", "WriteRequirement": "Recommended" }, - "DateTimeOffset": { + "DateTimeLocalOffset": { "ReadRequirement": "Mandatory", "WriteRequirement": "Recommended" }, @@ -555,6 +555,7 @@ "ReadRequirement": "Recommended" }, "Links": { + "ReadRequirement": "IfImplemented", "PropertyRequirements": { "OutboundConnection": { "ReadRequirement": "IfImplemented" diff --git a/ImmersionCooling/OCPImmersionCoolingHardwareManagement.v0_0_1.json b/ImmersionCooling/OCPImmersionCoolingHardwareManagement.v0_0_1.json new file mode 100644 index 0000000..5453fcf --- /dev/null +++ b/ImmersionCooling/OCPImmersionCoolingHardwareManagement.v0_0_1.json @@ -0,0 +1,205 @@ +{ + "SchemaDefinition": "RedfishInteroperabilityProfile.v1_4_1", + "ProfileName": "OCPImmersionCoolingController", + "ProfileVersion": "0.0.1", + "Purpose": "Profile for the OCP Immersion Cooling Controller.", + "OwningEntity": "Open Compute Project", + "ContactInfo": "redfish@opencompute.org", + "RequiredProfiles": { + }, + "Resources": { + "Control": { + "MinVersion": "1.1.0", + "Purpose": "To control the Cooling Unit resource", + "PropertyRequirements": { + "Accuracy": { + "ReadRequirement": "Recommended" + }, + "Actions": { + "ReadRequirement": "Recommended" + }, + "AssociatedSensors": { + "ReadRequirement": "Recommended" + }, + "ControlLoop": { + "Purpose": "To define the Control Loop for the Thermal resource", + "PropertyRequirements": { + "Differential": { + "ReadRequirement": "Recommended", + "WriteRequirement": "Recommended" + }, + "Integral": { + "ReadRequirement": "Recommended", + "WriteRequirement": "Recommended" + }, + "Proportional": { + "ReadRequirement": "Recommended", + "WriteRequirement": "Recommended" + } + } + }, + "ControlType": { + "Purpose": "Supported Control Types", + "ReadRequirement": "Recommended", + "WriteRequirement": "Recommended" + }, + "DeadBand": { + "ReadRequirement": "Recommended", + "WriteRequirement": "Recommended" + }, + "Description": { + "ReadRequirement": "Recommended", + "WriteRequirement": "Recommended" + }, + "Id": {}, + "Increment": { + "ReadRequirement": "Recommended" + }, + "Location": { + "ReadRequirement": "Recommended", + "WriteRequirement": "Recommended" + }, + "Name": { + "ReadRequirement": "Recommended", + "WriteRequirement": "Recommended", + "Comparison": "AnyOf", + "Values": [ + "Air temperature, In", + "Air temperature, Out", + "Air temperature, Differential", + "Air pressure, Differential ", + "Water temperature, Out", + "Water temperature, Differential" + ] + }, + "Oem": { + "ReadRequirement": "Recommended", + "WriteRequirement": "Recommended" + }, + "OperatingMode": {}, + "PhysicalContext": { + "ReadRequirement": "Recommended", + "WriteRequirement": "Recommended" + }, + "PhysicalSubContext": { + "ReadRequirement": "Recommended", + "WriteRequirement": "Recommended" + }, + "Sensor": { + "ReadRequirement": "Recommended" + }, + "SetPoint": { + "ReadRequirement": "Mandatory", + "WriteRequirement": "Mandatory" + }, + "SetPointRangeMax": { + "ReadRequirement": "Recommended" + }, + "SetPointRangeMin": { + "ReadRequirement": "Recommended" + }, + "SetPointUnits": { + "ReadRequirement": "Recommended", + "WriteRequirement": "Recommended" + }, + "SetPointUpdateTime": { + "ReadRequirement": "Recommended", + "WriteRequirement": "Recommended" + }, + "Status": { + "ReadRequirement": "Recommended" + }, + "Links": {} + } + }, + "ControlCollection": { + "PropertyRequirements": { + "Members": { + "MinCount": 1 + } + } + }, + "Sensor": { + "MinVersion": "1.5.0", + "Purpose": "Required Temperature Sensors", + "ReadRequirement": "Mandatory", + "MinCount": 2, + "PropertyRequirements": { + "Name": { + "Comparison": "AnyOf", + "Values": [ + "Air temperature, In", + "Air temperature, Out" + ] + } + } + }, + "SensorCollection": { + "PropertyRequirements": { + "Members": { + "MinCount": 1 + } + } + }, + "Facility": { + "MinVersion": "1.4.0", + "Purpose": "The Facility that the cooling units belong to", + "ReadRequirement": "Mandatory", + "PropertyRequirements": { + "FacilityType": { + "ReadRequirement": "Mandatory", + "WriteRequirement": "Recommended" + }, + "AmbientMetrics": { + "ReadRequirement": "Recommended", + "WriteRequirement": "Recommended" + }, + "Description": { + "ReadRequirement": "Recommended", + "WriteRequirement": "Recommended" + }, + "Links": { + "ReadRequirement": "Recommended", + "WriteRequirement": "Recommended" + }, + "Location": { + "ReadRequirement": "Recommended", + "WriteRequirement": "Recommended" + }, + "Status": { + "ReadRequirement": "Recommended", + "WriteRequirement": "Recommended" + }, + "CoolingDomains": { + "ReadRequirement": "Recommended", + "WriteRequirement": "Recommended" + } + } + }, + "Resource": { + "Purpose": "Common Redfish resources" + }, + "CoolingLoop": { + "MinVersion": "1.0.0" + }, + "LoopConnection": { + "MinVersion": "1.0.0" + }, + "LoopConnectionCollection": { + "PropertyRequirements": { + "Members": { + "MinCount": 1 + } + } + }, + "CoolingUnit": { + "MinVersion": "1.0.0" + }, + "Circuit": { + "MinVersion": "1.4.0" + }, + "ServiceRoot": { + "MinVersion": "1.12.0" + } + } +} diff --git a/LiquidCooling/OCPImmersionCoolingBaseline.v0_0_1.json b/LiquidCooling/OCPImmersionCoolingBaseline.v0_0_1.json new file mode 100644 index 0000000..6df0b79 --- /dev/null +++ b/LiquidCooling/OCPImmersionCoolingBaseline.v0_0_1.json @@ -0,0 +1,381 @@ +{ + "SchemaDefinition": "RedfishInteroperabilityProfile.v1_4_1", + "ProfileName": "OCPImmersionCoolingController", + "ProfileVersion": "0.0.1", + "Purpose": "Profile for the OCP Immersion Cooling Controller.", + "OwningEntity": "Open Compute Project", + "ContactInfo": "redfish@opencompute.org", + "RequiredProfiles": { + "OCPCoolantDistributionUnit": { + "MinVersion": "1.0.0" + } + }, + "Resources": { + "ThermalEquipment": { + "URIs": [ + "/redfish/v1/ThermalEquipment" + ], + "PropertyRequirements": { + "ImmersionUnits": {} + } + }, + "CoolingUnit": { + "URIs": [ + "/redfish/v1/ThermalEquipment/ImmersionUnits/{CoolingUnitId}" + ], + "PropertyRequirements": { + "CoolantConnectorRedundancy": { + "ReadRequirement": "IfImplemented" + }, + "EquipmentType": { + "Comparison": "Equal", + "Values": [ + "ImmersionUnit" + ] + }, + "Name": { + "ReadRequirement": "Mandatory" + }, + "Manufacturer": { + "ReadRequirement": "Mandatory" + }, + "Model": { + "ReadRequirement": "Mandatory" + }, + "SerialNumber": { + "ReadRequirement": "Mandatory" + }, + "FirmwareVersion": { + "ReadRequirement": "Mandatory" + }, + "Version": { + "ReadRequirement": "Mandatory" + }, + "ProductionDate": { + "ReadRequirement": "Mandatory" + }, + "Location": { + "ReadRequirement": "Mandatory" + }, + "CoolingUnitMode": { + "ReadRequirement": "Mandatory" + }, + "Links": { + "ReadRequirement": "Recommended" + }, + "FilterRedundancy": { + "ReadRequirement": "IfImplemented" + }, + "Filters": { + "ReadRequirement": "IfImplemented" + }, + "PrimaryCoolantConnectors": {}, + "PumpRedundancy": { + "ReadRequirement": "IfImplemented" + }, + "Pumps": {}, + "Reservoirs": { + "ReadRequirement": "IfImplemented" + }, + "SecondaryCoolantConnectors": {}, + "Status": { + "PropertyRequirements": { + "Health": {}, + "State": {} + } + } + }, + "Actions": { + "SetMode": { + "ReadRequirement": "Mandatory", + "Purpose": "Turn the immersion tank cooling functions off (disable), implies that ITE power is shutdown as well", + "Parameters": { + "Mode": { + "ReadRequirement": "Mandatory" + } + } + } + } + }, + "Control": { + "MinVersion": "1.6.0", + "Purpose": "To control the Cooling Unit resource", + "PropertyRequirements": { + "Accuracy": { + "ReadRequirement": "Recommended" + }, + "Actions": { + "ReadRequirement": "Recommended" + }, + "AssociatedSensors": { + "ReadRequirement": "Recommended" + }, + "ControlLoop": { + "ReadRequirement": "Recommended", + "Purpose": "To define the Control Loop for the Thermal resource", + "PropertyRequirements": { + "Differential": { + "ReadRequirement": "Recommended", + "WriteRequirement": "Recommended" + }, + "Integral": { + "ReadRequirement": "Recommended", + "WriteRequirement": "Recommended" + }, + "Proportional": { + "ReadRequirement": "Recommended", + "WriteRequirement": "Recommended" + } + } + }, + "ControlType": { + "Purpose": "Supported Control Types", + "ReadRequirement": "Recommended", + "WriteRequirement": "Recommended" + }, + "DeadBand": { + "ReadRequirement": "Recommended", + "WriteRequirement": "Recommended" + }, + "Description": { + "ReadRequirement": "Recommended", + "WriteRequirement": "Recommended" + }, + "Id": {}, + "Increment": { + "ReadRequirement": "Recommended" + }, + "Location": { + "ReadRequirement": "Recommended", + "WriteRequirement": "Recommended" + }, + "Name": { + "ReadRequirement": "Recommended", + "WriteRequirement": "Recommended" + }, + "ControlMode": {}, + "PhysicalContext": { + "ReadRequirement": "Recommended", + "WriteRequirement": "Recommended" + }, + "PhysicalSubContext": { + "ReadRequirement": "Recommended", + "WriteRequirement": "Recommended" + }, + "Sensor": { + "ReadRequirement": "Recommended" + }, + "SetPoint": { + "ReadRequirement": "Mandatory", + "WriteRequirement": "Mandatory" + }, + "SetPointRangeMax": { + "ReadRequirement": "Recommended" + }, + "SetPointRangeMin": { + "ReadRequirement": "Recommended" + }, + "SetPointUnits": { + "ReadRequirement": "Recommended", + "WriteRequirement": "Recommended" + }, + "SetPointUpdateTime": { + "ReadRequirement": "Recommended", + "WriteRequirement": "Recommended" + }, + "Status": { + "ReadRequirement": "Recommended" + }, + "Links": { + "ReadRequirement": "Recommended" + } + } + }, + "ControlCollection": { + "PropertyRequirements": { + "Members": { + "MinCount": 1 + } + } + }, + "Sensor": { + "MinVersion": "1.5.0", + "Purpose": "Required Temperature Sensors", + "ReadRequirement": "Mandatory", + "MinCount": 2, + "PropertyRequirements": { + "Name": { + "ReadRequirement": "Mandatory" + } + } + }, + "SensorCollection": { + "PropertyRequirements": { + "Members": { + "MinCount": 1 + } + } + }, + "Facility": { + "MinVersion": "1.4.0", + "Purpose": "The Facility that the cooling units belong to", + "ReadRequirement": "Recommended", + "PropertyRequirements": { + "FacilityType": { + "ReadRequirement": "IfImplemented", + "WriteRequirement": "Recommended" + }, + "AmbientMetrics": { + "ReadRequirement": "Recommended", + "WriteRequirement": "Recommended" + }, + "Description": { + "ReadRequirement": "Recommended", + "WriteRequirement": "Recommended" + }, + "Links": { + "ReadRequirement": "Recommended", + "WriteRequirement": "Recommended" + }, + "Location": { + "ReadRequirement": "Recommended", + "WriteRequirement": "Recommended" + }, + "Status": { + "ReadRequirement": "Recommended", + "WriteRequirement": "Recommended" + }, + "CoolingDomains": { + "ReadRequirement": "Recommended", + "WriteRequirement": "Recommended" + } + } + }, + "Circuit": { + "MinVersion": "1.4.0" + }, + "CoolantConnector": { + "URIs": [ + "/redfish/v1/ThermalEquipment/ImmersionUnits/{CoolingUnitId}/PrimaryCoolantConnectors/{CoolantConnectorId}", + "/redfish/v1/ThermalEquipment/ImmersionUnits/{CoolingUnitId}/SecondaryCoolantConnectors/{CoolantConnectorId}" + ], + "PropertyRequirements": { + "Coolant": { + "PropertyRequirements": { + "CoolantType": {}, + "DensityKgPerCubicMeter": {}, + "SpecificHeatkJoulesPerKgK": {} + } + }, + "CoolantConnectorType": {}, + "FlowLitersPerMinute": {}, + "RatedFlowLitersPerMinute": {}, + "Status": { + "PropertyRequirements": { + "Health": {}, + "State": {} + } + }, + "DeltaPressurekPa": {}, + "DeltaTemperatureCelsius": {}, + "SupplyPressurekPa": {}, + "SupplyTemperatureCelsius": {}, + "HeatRemovedkW": {}, + "ReturnPressurekPa": {}, + "ReturnTemperatureCelsius": {} + } + }, + "Filter": { + "ReadRequirement": "IfImplemented", + "URIs": [ + "/redfish/v1/ThermalEquipment/ImmersionUnits/{CoolingUnitId}/Filters/{FilterId}" + ], + "PropertyRequirements": { + "HotPluggable": {}, + "Location": { + "PropertyRequirements": { + "PartLocation": { + "PropertyRequirements": { + "LocationOrdinalValue": { + "ReadRequirement": "Recommended" + }, + "LocationType": { + "ReadRequirement": "Recommended" + }, + "Orientation": { + "ReadRequirement": "Recommended" + }, + "Reference": { + "ReadRequirement": "Recommended" + }, + "ServiceLabel": {} + } + } + } + }, + "RatedServiceHours": {}, + "Replaceable": {}, + "ServicedDate": {}, + "ServiceHours": {}, + "Status": { + "PropertyRequirements": { + "Health": {}, + "State": {} + } + } + } + }, + "Pump": { + "ReadRequirement": "IfImplemented", + "URIs": [ + "/redfish/v1/ThermalEquipment/ImmersionUnits/{CoolingUnitId}/Pumps/{PumpId}" + ], + "PropertyRequirements": { + "Location": { + "PropertyRequirements": { + "PartLocation": { + "PropertyRequirements": { + "LocationOrdinalValue": { + "ReadRequirement": "Recommended" + }, + "LocationType": { + "ReadRequirement": "Recommended" + }, + "Orientation": { + "ReadRequirement": "Recommended" + }, + "Reference": { + "ReadRequirement": "Recommended" + }, + "ServiceLabel": {} + } + } + } + }, + "PumpSpeedPercent": {}, + "PumpType": {}, + "PumpMode": {}, + "ServiceHours": { + "ReadRequirement": "Recommended" + }, + "Status": { + "PropertyRequirements": { + "Health": {}, + "State": {} + } + } + }, + "Actions": { + "SetMode": { + "ReadRequirement": "Mandatory", + "Purpose": "Turn the immersion tank pump functions off (disable), implies that ITE power is shutdown as well", + "Parameters": { + "Mode": { + "ReadRequirement": "Mandatory" + } + } + } + } + } + } +} \ No newline at end of file diff --git a/LiquidCooling/OCPLiquidCoolingBaseline.v1_0_0.json b/LiquidCooling/OCPLiquidCoolingBaseline.v1_0_0.json index 05b780e..d9a55d3 100644 --- a/LiquidCooling/OCPLiquidCoolingBaseline.v1_0_0.json +++ b/LiquidCooling/OCPLiquidCoolingBaseline.v1_0_0.json @@ -173,7 +173,6 @@ "State": {} } }, - "UUID": {}, "Version": {} } },