d28a61b2c0
* Remove @Redfish.Copyright, it's not an allowed field. * Remove unused fields such as AssetTag. * Mark fields used in inspection and other optional features as optional. * Add missing VirtualMedia on System and VirtualMedia fields. * Add missing Thermal information and its subresources. * Clarify which fields on System are links. * Add Purpose field to all fields and actions. * Expand the BIOS object with the actual requirements. * Add ServiceRoot and services we use. * Add missing resources related to RAID. Change-Id: I35f8f49e4c70e736b685c3eeebf79326592b6314
562 lines
23 KiB
JSON
562 lines
23 KiB
JSON
{
|
|
"License": "Apache License, Version 2.0. For full text, see link: http://www.apache.org/licenses/LICENSE-2.0",
|
|
"SchemaDefinition": "RedfishInteroperabilityProfile.v1_8_0",
|
|
"ProfileName": "OpenStackIronicProfile",
|
|
"ProfileVersion": "1.1.0",
|
|
"Purpose": "Specifies the OpenStack Ironic vendor-independent Redfish service requirements, typically offered by a baseboard management controller (BMC).",
|
|
"OwningEntity": "Ironic community",
|
|
"ContactInfo": "openstack-discuss@lists.openstack.org",
|
|
"Protocol": {
|
|
"MinVersion": "1.6.0"
|
|
},
|
|
"Resources": {
|
|
"Bios": {
|
|
"Purpose": "Allows reading or changing BIOS settings.",
|
|
"ReadRequirement": "Recommended",
|
|
"PropertyRequirements": {
|
|
"Attributes": {
|
|
"Purpose": "Current BIOS settings."
|
|
},
|
|
"AttributeRegistry": {
|
|
"Purpose": "Name of the registry with the schema of BIOS settings.",
|
|
"ReadRequirement": "Recommended"
|
|
},
|
|
"@Redfish.Settings": {
|
|
"PropertyRequirements": {
|
|
"ETag": {
|
|
"ReadRequirement": "Recommended"
|
|
},
|
|
"Messages": {
|
|
"Purpose": "Used to determine success or failure.",
|
|
"ReadRequirement": "Recommended"
|
|
},
|
|
"SettingsObject": {
|
|
"Purpose": "Provides a link to the actually updated object.",
|
|
"Comparison": "LinkToResource",
|
|
"Values": ["Bios"]
|
|
},
|
|
"SupportedApplyTimes": {
|
|
"Purpose": "Determines whether update is immediate or needs a reboot.",
|
|
"ReadRequirement": "Recommended",
|
|
"MinSupportValues": [
|
|
"OnReset"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"ActionRequirements": {
|
|
"ResetBios": {
|
|
"Purpose": "Reset BIOS settings to their factory values.",
|
|
"ReadRequirement": "Recommended"
|
|
}
|
|
}
|
|
},
|
|
"Chassis": {
|
|
"Purpose": "Allows collecting sensors data from the chassis.",
|
|
"ReadRequirement": "Recommended",
|
|
"PropertyRequirements": {
|
|
"Power": {
|
|
"Purpose": "Provides a link to the power information.",
|
|
"ReadRequirement": "Recommended",
|
|
"Comparison": "LinkToResource",
|
|
"Values": ["Power"]
|
|
},
|
|
"Thermal": {
|
|
"Purpose": "Provides a link to the thermal information.",
|
|
"ReadRequirement": "Recommended",
|
|
"Comparison": "LinkToResource",
|
|
"Values": ["Thermal"]
|
|
},
|
|
"UUID": {
|
|
"Purpose": "Used as an ID for indicators.",
|
|
"ReadRequirement": "Recommended"
|
|
}
|
|
}
|
|
},
|
|
"ComputerSystemCollection": {
|
|
"Purpose": "At least one system is expected.",
|
|
"PropertyRequirements": {
|
|
"Members": {
|
|
"MinCount": 1
|
|
}
|
|
}
|
|
},
|
|
"ComputerSystem": {
|
|
"Purpose": "Provides bare-metal node management.",
|
|
"PropertyRequirements": {
|
|
"Bios": {
|
|
"Purpose": "Reference to the corresponding Bios resource.",
|
|
"ReadRequirement": "Recommended"
|
|
},
|
|
"BiosVersion": {
|
|
"Purpose": "Version of the system firmware.",
|
|
"ReadRequirement": "Recommended"
|
|
},
|
|
"Boot": {
|
|
"Purpose": "Allows changing boot devices and modes, which is fundamental for bare-metal provisioning.",
|
|
"PropertyRequirements": {
|
|
"BootSourceOverrideEnabled": {
|
|
"Purpose": "Manages whether the next boot device will be permanent or one-time.",
|
|
"WriteRequirement": "Mandatory",
|
|
"MinSupportValues": [
|
|
"Once",
|
|
"Continuous"
|
|
]
|
|
},
|
|
"BootSourceOverrideMode": {
|
|
"Purpose": "Allows switching boot mode to/from UEFI.",
|
|
"WriteRequirement": "Mandatory"
|
|
},
|
|
"BootSourceOverrideTarget": {
|
|
"Purpose": "Allows changing the next boot device.",
|
|
"WriteRequirement": "Mandatory",
|
|
"MinSupportValues": [
|
|
"Pxe",
|
|
"Hdd",
|
|
"Cd"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"EthernetInterfaces": {
|
|
"Purpose": "Provides a link to the node's network interfaces.",
|
|
"ReadRequirement": "Recommended",
|
|
"Comparison": "LinkToResource",
|
|
"Values": ["EthernetInterfaceCollection"]
|
|
},
|
|
"IndicatorLED": {
|
|
"Purpose": "Enables the bare-metal indicator API.",
|
|
"WriteRequirement": "Recommended",
|
|
"ReadRequirement": "Recommended",
|
|
"Comparison": "AnyOf",
|
|
"Values": [
|
|
"Lit",
|
|
"Off",
|
|
"Blinking"
|
|
]
|
|
},
|
|
"Links": {
|
|
"PropertyRequirements": {
|
|
"Chassis": {
|
|
"Purpose": "Provides sensor data.",
|
|
"ReadRequirement": "Recommended"
|
|
},
|
|
"ManagedBy": {
|
|
"Purpose": "Provides a link from the node to its BMC."
|
|
}
|
|
}
|
|
},
|
|
"Manufacturer": {
|
|
"Purpose": "Provides the 'vendor' property.",
|
|
"ReadRequirement": "Recommended"
|
|
},
|
|
"MemorySummary": {
|
|
"Purpose": "Provides memory data during out-of-band inspection.",
|
|
"ReadRequirement": "Recommended",
|
|
"PropertyRequirements": {
|
|
"TotalSystemMemoryGiB": {}
|
|
}
|
|
},
|
|
"PowerState": {
|
|
"Purpose": "Provides the current power state."
|
|
},
|
|
"Processors": {
|
|
"Purpose": "Provides a link to the node's CPUs.",
|
|
"ReadRequirement": "Recommended",
|
|
"Comparison": "LinkToResource",
|
|
"Values": ["ProcessorCollection"]
|
|
},
|
|
"SecureBoot": {
|
|
"Purpose": "Provides a link to the node's secure boot settings.",
|
|
"ReadRequirement": "Recommended",
|
|
"Comparison": "LinkToResource",
|
|
"Values": ["SecureBoot"]
|
|
},
|
|
"SimpleStorage": {
|
|
"Purpose": "Provides disk data during out-of-band inspection.",
|
|
"ReadRequirement": "Recommended",
|
|
"Comparison": "LinkToResource",
|
|
"Values": ["SimpleStorageCollection"]
|
|
},
|
|
"Storage": {
|
|
"Purpose": "Enables hardware RAID management.",
|
|
"ReadRequirement": "Recommended",
|
|
"Comparison": "LinkToResource",
|
|
"Values": ["StorageCollection"]
|
|
},
|
|
"VirtualMedia": {
|
|
"Purpose": "Enables provisioning using virtual media.",
|
|
"ReadRequirement": "IfImplemented",
|
|
"Comparison": "LinkToResource",
|
|
"Values": ["VirtualMediaCollection"]
|
|
}
|
|
},
|
|
"ActionRequirements": {
|
|
"Reset": {
|
|
"Purpose": "Provides an ability to execute power actions on the node.",
|
|
"Parameters": {
|
|
"ResetType": {
|
|
"ParameterValues": [
|
|
"On",
|
|
"ForceOff",
|
|
"ForceRestart"
|
|
],
|
|
"RecommendedValues": [
|
|
"GracefulShutdown",
|
|
"GracefulRestart",
|
|
"Nmi"
|
|
],
|
|
"ReadRequirement": "Mandatory"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"Drive": {
|
|
"ReadRequirement": "Recommended",
|
|
"Purpose": "Provides information about individual drives when configuring hardware RAID.",
|
|
"PropertyRequirements": {
|
|
"CapacityBytes": {
|
|
"ReadRequirement": "Recommended"
|
|
},
|
|
"MediaType": {},
|
|
"Protocol": {},
|
|
"Status": {
|
|
"PropertyRequirements": {
|
|
"Health": {},
|
|
"State": {}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"EthernetInterface": {
|
|
"Purpose": "Enables enrolling ports during inspection.",
|
|
"ReadRequirement": "Recommended",
|
|
"URIs": [
|
|
"/redfish/v1/Systems/{ComputerSystemId}/EthernetInterfaces/{EthernetInterfaceId}"
|
|
],
|
|
"PropertyRequirements": {
|
|
"MACAddress": {
|
|
"Purpose": "MAC address is mandatory on ports."
|
|
},
|
|
"Status": {
|
|
"PropertyRequirements": {
|
|
"Health": {
|
|
"Purpose": "Only healthy interfaces are considered."
|
|
},
|
|
"State": {
|
|
"Purpose": "Enables filtering only enabled interfaces."
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"Manager": {
|
|
"Purpose": "Provides access to the properties of the BMC.",
|
|
"ReadRequirement": "Recommended",
|
|
"PropertyRequirements": {
|
|
"FirmwareVersion": {
|
|
"Purpose": "Provides the current firmware version of the BMC.",
|
|
"ReadRequirement": "Recommended"
|
|
}
|
|
}
|
|
},
|
|
"Power": {
|
|
"Purpose": "Provides the current power information in the sensor data.",
|
|
"ReadRequirement": "Recommended",
|
|
"PropertyRequirements": {
|
|
"PowerSupplies": {
|
|
"Purpose": "Provides a list of the installed power supplies.",
|
|
"PropertyRequirements": {
|
|
"LastPowerOutputWatts": {
|
|
"ReadRequirement": "Recommended"
|
|
},
|
|
"LineInputVoltage": {
|
|
"ReadRequirement": "Recommended"
|
|
},
|
|
"PowerCapacityWatts": {
|
|
"ReadRequirement": "Recommended"
|
|
},
|
|
"SerialNumber": {
|
|
"ReadRequirement": "Recommended"
|
|
},
|
|
"Status": {
|
|
"PropertyRequirements": {
|
|
"Health": {
|
|
"Purpose": "Health status to report in the sensors data.",
|
|
"ReadRequirement": "Recommended"
|
|
},
|
|
"State": {
|
|
"Purpose": "Power state to report in the sensors data.",
|
|
"ReadRequirement": "Recommended"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"Processor": {
|
|
"Purpose": "Provides CPU data during out-of-band inspection.",
|
|
"ReadRequirement": "Recommended",
|
|
"PropertyRequirements": {
|
|
"ProcessorArchitecture": {
|
|
"Purpose": "Used to determine the CPU architecture of the machine."
|
|
},
|
|
"TotalThreads": {
|
|
"Purpose": "Used to estimate the core count."
|
|
}
|
|
}
|
|
},
|
|
"SecureBoot": {
|
|
"Purpose": "Allows turning secure boot mode on and off.",
|
|
"ReadRequirement": "Recommended",
|
|
"PropertyRequirements": {
|
|
"SecureBootEnable": {
|
|
"Purpose": "Allows reading and changing the secure boot state.",
|
|
"WriteRequirement": "Recommended"
|
|
}
|
|
},
|
|
"ActionRequirements": {
|
|
"ResetKeys": {
|
|
"Purpose": "Allows resetting secure boot keys via a step.",
|
|
"ReadRequirement": "Recommended"
|
|
}
|
|
}
|
|
},
|
|
"ServiceRoot": {
|
|
"Purpose": "Provides links to all collections and services.",
|
|
"PropertyRequirements": {
|
|
"Systems": {
|
|
"Purpose": "Provides a link to systems.",
|
|
"Comparison": "LinkToResource",
|
|
"Values": ["ComputerSystemCollection"]
|
|
},
|
|
"SessionService": {
|
|
"Purpose": "Provides a link to the session service.",
|
|
"ReadRequirement": "Recommended",
|
|
"Comparison": "LinkToResource",
|
|
"Values": ["SessionService"]
|
|
},
|
|
"TaskService": {
|
|
"Purpose": "Provides a link to the task service.",
|
|
"ReadRequirement": "Recommended",
|
|
"Comparison": "LinkToResource",
|
|
"Values": ["TaskService"]
|
|
},
|
|
"UpdateService": {
|
|
"Purpose": "Provides a link to the update service.",
|
|
"ReadRequirement": "Recommended",
|
|
"Comparison": "LinkToResource",
|
|
"Values": ["UpdateService"]
|
|
}
|
|
}
|
|
},
|
|
"SessionService": {
|
|
"Purpose": "Allows using sessions for authentication instead of HTTP basic authentication.",
|
|
"ReadRequirement": "Recommended"
|
|
},
|
|
"SimpleStorage": {
|
|
"Purpose": "Provides information about disks during inspection as well as disk sensors.",
|
|
"ReadRequirement": "Recommended",
|
|
"PropertyRequirements": {
|
|
"Devices": {
|
|
"PropertyRequirements": {
|
|
"CapacityBytes": {
|
|
"Purpose": "Disk capacity.",
|
|
"ReadRequirement": "Recommended"
|
|
},
|
|
"Model": {
|
|
"Purpose": "Device model to report in the sensors data.",
|
|
"ReadRequirement": "Recommended"
|
|
},
|
|
"Name": {
|
|
"Purpose": "Device name to report in the sensors data.",
|
|
"ReadRequirement": "Recommended"
|
|
},
|
|
"Status": {
|
|
"PropertyRequirements": {
|
|
"Health": {
|
|
"Purpose": "Health status to report in the sensors data.",
|
|
"ReadRequirement": "Recommended"
|
|
},
|
|
"State": {
|
|
"Purpose": "Device state to report in the sensors data.",
|
|
"ReadRequirement": "Recommended"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"Storage": {
|
|
"Purpose": "Allows configuring hardware RAID.",
|
|
"ReadRequirement": "Recommended",
|
|
"MinVersion": "1.6.0",
|
|
"PropertyRequirements": {
|
|
"Drives": {
|
|
"Purpose": "Provides a link to attached drives.",
|
|
"Comparison": "LinkToResource",
|
|
"Values": ["DriveCollection"]
|
|
},
|
|
"StorageControllers": {
|
|
"Purpose": "Provides information about storage controllers.",
|
|
"MinCount": 1,
|
|
"PropertyRequirements": {
|
|
"SupportedRAIDTypes": {
|
|
"ReadRequirement": "Recommended",
|
|
"Purpose": "Defines which RAID types are supported."
|
|
}
|
|
}
|
|
},
|
|
"Volumes": {
|
|
"Purpose": "Provides a link to existing volumes.",
|
|
"Comparison": "LinkToResource",
|
|
"Values": ["VolumeCollection"]
|
|
}
|
|
}
|
|
},
|
|
"TaskService": {
|
|
"Purpose": "Provides task management.",
|
|
"ReadRequirement": "Recommended"
|
|
},
|
|
"Thermal": {
|
|
"Purpose": "Provides thermal information of a chassis as part of the sensors data.",
|
|
"ReadRequirement": "Recommended",
|
|
"MinVersion": "1.0.1",
|
|
"PropertyRequirements": {
|
|
"Fans": {
|
|
"PropertyRequirements": {
|
|
"MaxReadingRange": {
|
|
"ReadRequirement": "Recommended"
|
|
},
|
|
"MinReadingRange": {
|
|
"ReadRequirement": "Recommended"
|
|
},
|
|
"Reading": {},
|
|
"ReadingUnits": {},
|
|
"SerialNumber": {
|
|
"ReadRequirement": "Recommended"
|
|
},
|
|
"Status": {
|
|
"PropertyRequirements": {
|
|
"Health": {
|
|
"Purpose": "Health status to report in the sensors data.",
|
|
"ReadRequirement": "Recommended"
|
|
},
|
|
"State": {
|
|
"Purpose": "Device state to report in the sensors data.",
|
|
"ReadRequirement": "Recommended"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"Temperatures": {
|
|
"PropertyRequirements": {
|
|
"MaxReadingRangeTemp": {
|
|
"ReadRequirement": "Recommended"
|
|
},
|
|
"MinReadingRangeTemp": {
|
|
"ReadRequirement": "Recommended"
|
|
},
|
|
"ReadingCelsius": {},
|
|
"PhysicalContext": {
|
|
"ReadRequirement": "Recommended"
|
|
},
|
|
"SensorNumber": {
|
|
"ReadRequirement": "Recommended"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"UpdateService": {
|
|
"ReadRequirement": "Recommended",
|
|
"ActionRequirements": {
|
|
"SimpleUpdate": {
|
|
"Purpose": "Enables firmware updates.",
|
|
"Parameters": {
|
|
"ImageURI": {},
|
|
"Targets": {
|
|
"ReadRequirement": "Recommended"
|
|
},
|
|
"TransferProtocol": {}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"VirtualMedia": {
|
|
"Purpose": "Enables provisioning using virtual media.",
|
|
"PropertyRequirements": {
|
|
"Image": {
|
|
"Purpose": "URL of the image to attach.",
|
|
"WriteRequirement": "Recommended"
|
|
},
|
|
"Inserted": {
|
|
"ReadRequirement": "Recommended",
|
|
"WriteRequirement": "Recommended"
|
|
},
|
|
"MediaTypes": {
|
|
"Purpose": "Supported media types for this virtual media slot."
|
|
},
|
|
"WriteProtected": {
|
|
"ReadRequirement": "Recommended",
|
|
"WriteRequirement": "Recommended"
|
|
}
|
|
},
|
|
"ActionRequirements": {
|
|
"EjectMedia": {
|
|
"Purpose": "Enables ejecting virtual media devices."
|
|
},
|
|
"InsertMedia": {
|
|
"Purpose": "Enables inserting virtual media devices.",
|
|
"Parameters": {
|
|
"Image": {},
|
|
"Inserted": {
|
|
"ReadRequirement": "Recommended"
|
|
},
|
|
"TransferMethod": {
|
|
"ReadRequirement": "Recommended"
|
|
},
|
|
"TransferProtocolType": {
|
|
"ReadRequirement": "Recommended"
|
|
},
|
|
"WriteProtected": {
|
|
"ReadRequirement": "Recommended"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"Volume": {
|
|
"Purpose": "Provides access to RAID volumes.",
|
|
"ReadRequirement": "Recommended",
|
|
"MinVersion": "1.3.1",
|
|
"PropertyRequirements": {
|
|
"CapacityBytes": {},
|
|
"Name": {},
|
|
"RAIDType": {
|
|
"ReadRequirement": "Recommended"
|
|
}
|
|
}
|
|
},
|
|
"VolumeCollection": {
|
|
"Purpose": "Allows listing and creating RAID volumes.",
|
|
"ReadRequirement": "Recommended",
|
|
"CreateResource": true,
|
|
"PropertyRequirements": {
|
|
"@Redfish.OperationApplyTimeSupport": {}
|
|
}
|
|
}
|
|
},
|
|
"Registries": {
|
|
"Base": {
|
|
"MinVersion": "1.0.0",
|
|
"Messages": {}
|
|
}
|
|
}
|
|
}
|