Create 'redfish' driver Redfish Interop Profile

Co-Authored-By: Digambar Patil <digmabar.patil@dell.com>
Co-Authored-By: Mike Raineri <michael.raineri@gmail.com>
Co-Authored-By: Pranjali Shrivastava <pranjali.shrivastava@dell.com>
Co-Authored-By: Dhuldev Valekar <dhuldev.valekar@dell.com>
Story: 2007345
Task: 38889
Change-Id: I058ceadab33f6969157b89aca5ba34ebd0be2a93
This commit is contained in:
Richard Pioso 2020-08-31 19:37:38 -04:00 committed by Aija Jauntēva
parent 5d5ae59538
commit fdcf3ad9ed
2 changed files with 251 additions and 0 deletions

View File

@ -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"
}
}
}
}
}
}
}

View File

@ -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