diff --git a/redfish-interop-profiles/OpenStackIronicProfile.v1_0_0.json b/redfish-interop-profiles/OpenStackIronicProfile.v1_0_0.json new file mode 100644 index 0000000000..2efef40076 --- /dev/null +++ b/redfish-interop-profiles/OpenStackIronicProfile.v1_0_0.json @@ -0,0 +1,214 @@ +{ + "@Redfish.Copyright": "Copyright (c) 2020-2022 Dell Inc. or its subsidiaries.", + "@Redfish.License": "Apache License, Version 2.0. For full text, see link: http://www.apache.org/licenses/LICENSE-2.0", + "SchemaDefinition": "RedfishInteroperabilityProfile.v1_5_1", + "ProfileName": "OpenStackIronicProfile", + "ProfileVersion": "1.0.0", + "Purpose": "Specifies the OpenStack Ironic vendor-independent Redfish service requirements, typically offered by a baseboard management controller (BMC).", + "OwningEntity": "Dell Inc.", + "ContactInfo": "michael.raineri@dell.com, aija.jaunteva@dell.com", + "Protocol": { + "MinVersion": "1.6.0" + }, + "Resources": { + "Bios": { + "PropertyRequirements": { + "Attributes": {} + }, + "ActionRequirements": { + "ResetBios": {} + } + }, + "ComputerSystem": { + "PropertyRequirements": { + "AssetTag": { + "ReadRequirement": "Recommended" + }, + "Bios": {}, + "BiosVersion": { + "ReadRequirement": "Recommended" + }, + "Boot": { + "PropertyRequirements": { + "BootSourceOverrideEnabled": { + "WriteRequirement": "Mandatory", + "MinSupportValues": [ + "Disabled", + "Once", + "Continuous" + ] + }, + "BootSourceOverrideMode": { + "WriteRequirement": "Mandatory", + "MinSupportValues": [ + "UEFI" + ] + }, + "BootSourceOverrideTarget": { + "WriteRequirement": "Mandatory", + "MinSupportValues": [ + "Pxe", + "Hdd", + "Cd", + "BiosSetup" + ] + } + } + }, + "IndicatorLED": { + "WriteRequirement": "Mandatory", + "MinSupportValues": [ + "Lit", + "Off", + "Blinking" + ] + }, + "Links": { + "PropertyRequirements": { + "Chassis": {}, + "ManagedBy": {} + } + }, + "MemorySummary": { + "PropertyRequirements": { + "TotalSystemMemoryGiB": {} + } + }, + "PowerState": {}, + "Processors": {}, + "SimpleStorage": { + "ReadRequirement": "Conditional", + "ConditionalRequirements": [ + { + "Purpose": "Either SimpleStorage or Storage must be present, even if the system is disk-less.", + "CompareProperty": "Storage", + "CompareType": "Absent", + "ReadRequirement": "Mandatory" + } + ] + }, + "Status": { + "PropertyRequirements": { + "Health": {}, + "State": {} + } + }, + "Storage": { + "ReadRequirement": "Conditional", + "ConditionalRequirements": [ + { + "Purpose": "Either SimpleStorage or Storage must be present, even if the system is disk-less.", + "CompareProperty": "SimpleStorage", + "CompareType": "Absent", + "ReadRequirement": "Mandatory" + } + ] + }, + "SystemType": {} + }, + "ActionRequirements": { + "Reset": { + "Parameters": { + "ResetType": { + "ParameterValues": [ + "On", + "ForceOff", + "GracefulShutdown", + "GracefulRestart", + "ForceRestart", + "Nmi" + ] + } + } + } + } + }, + "Drive": { + "ReadRequirement": "IfPopulated", + "Purpose": "Either SimpleStorage or Storage must be present, even if the system is disk-less.", + "PropertyRequirements": { + "CapacityBytes": { + "ReadRequirement": "IfPopulated" + }, + "Status": { + "PropertyRequirements": { + "Health": {}, + "State": {} + } + } + } + }, + "EthernetInterface": { + "URIs": [ + "/redfish/v1/Systems/{ComputerSystemId}/EthernetInterfaces/{EthernetInterfaceId}" + ], + "PropertyRequirements": { + "MACAddress": {}, + "Status": { + "PropertyRequirements": { + "Health": {}, + "State": {} + } + } + } + }, + "Processor": { + "PropertyRequirements": { + "ProcessorArchitecture": {}, + "Status": { + "PropertyRequirements": { + "Health": {}, + "State": {} + } + }, + "TotalThreads": {} + } + }, + "SimpleStorage": { + "ReadRequirement": "IfPopulated", + "Purpose": "Either SimpleStorage or Storage must be present, even if the system is disk-less.", + "PropertyRequirements": { + "Devices": { + "PropertyRequirements": { + "CapacityBytes": { + "ReadRequirement": "IfPopulated" + }, + "Status": { + "PropertyRequirements": { + "Health": {}, + "State": {} + } + } + } + } + } + }, + "VirtualMedia": { + "PropertyRequirements": { + "Image": {}, + "Inserted": { + "ReadRequirement": "Recommended" + }, + "MediaTypes": { + "ReadRequirement": "Recommended" + }, + "WriteProtected": { + "ReadRequirement": "Recommended" + } + }, + "ActionRequirements": { + "EjectMedia": {}, + "InsertMedia": { + "Parameters": { + "Inserted": { + "ReadRequirement": "Recommended" + }, + "WriteProtected": { + "ReadRequirement": "Recommended" + } + } + } + } + } + } +} \ No newline at end of file diff --git a/redfish-interop-profiles/README.rst b/redfish-interop-profiles/README.rst new file mode 100644 index 0000000000..fa8bd60952 --- /dev/null +++ b/redfish-interop-profiles/README.rst @@ -0,0 +1,37 @@ +================================= +Redfish Interoperability Profile +================================= + +Overview +-------- + +The Redfish Interoperability Profile is a JSON document written in a +particular format that serves two purposes. + +* It enables the creation of a human-readable document that merges the + profile requirements with the Redfish schema into a single document + for developers or users. +* It allows a conformance test utility to test a Redfish Service + implementation for conformance with the profile. + +The JSON document structure is intended to align easily with JSON payloads +retrieved from Redfish Service implementations, to allow for easy comparisons +and conformance testing. Many of the properties defined within this structure +have assumed default values that correspond with the most common use case, so +that those properties can be omitted from the document for brevity. + +Validation of Profiles using DMTF tool +--------------------------------------- + +An open source utility has been created by the Redfish Forum to verify that +a Redfish Service implementation conforms to the requirements included in a +Redfish Interoperability Profile. The Redfish Interop Validator is available +for download from the DMTF's organization on Github at +https://github.com/DMTF/Redfish-Interop-Validator. Refer to instructions in +README on how to configure and run validation. + + +Reference +--------- + +https://github.com/DMTF/Redfish-Interop-Validator