summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZuul <zuul@review.opendev.org>2022-11-25 16:51:52 +0000
committerGerrit Code Review <review@openstack.org>2022-11-25 16:51:52 +0000
commit7d00f62fc58eae0d9530cc6e622a851f5fe72ab7 (patch)
treeda035f349e4bfc465d070c446500d573163474c5
parentc04344ca605f919a280a256e347db2bd8a08f2e1 (diff)
parentfdcf3ad9edeaa4c3d573be14cf7473f5cdbd4ddb (diff)
downloadironic-7d00f62fc58eae0d9530cc6e622a851f5fe72ab7.tar.gz
Merge "Create 'redfish' driver Redfish Interop Profile"
-rw-r--r--redfish-interop-profiles/OpenStackIronicProfile.v1_0_0.json214
-rw-r--r--redfish-interop-profiles/README.rst37
2 files changed, 251 insertions, 0 deletions
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 000000000..2efef4007
--- /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 000000000..fa8bd6095
--- /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