[WIP] Add Redfish OOB driver to Drydock
Not yet ready for review. Change-Id: I354a630f36606f830d9abf2cad539651462c46cb
This commit is contained in:
parent
43b300cdc5
commit
49038f53d5
|
@ -0,0 +1,119 @@
|
|||
..
|
||||
This work is licensed under a Creative Commons Attribution 3.0 Unported
|
||||
License.
|
||||
|
||||
http://creativecommons.org/licenses/by/3.0/legalcode
|
||||
|
||||
==============================================
|
||||
Introduce Redfish based OOB Driver for Drydock
|
||||
==============================================
|
||||
|
||||
Proposal to add new OOB driver Redfish for Drydock.
|
||||
|
||||
Links
|
||||
=====
|
||||
|
||||
https://storyboard.openstack.org/#!/story/2003007
|
||||
|
||||
Problem description
|
||||
===================
|
||||
|
||||
Currently Drydock uses Phygmi as OOB driver to manage/configure servers.
|
||||
Phygmi is basically a python implementation for IPMI functionality. Currently
|
||||
phygmi supports few commands related to power on/off, boot, events and Lenovo
|
||||
OEM functions. Introducing a new IPMI command in pyghmi is complex and requires
|
||||
to know the low level details of the functionality like Network Function,
|
||||
Command and the data bits to be sent.
|
||||
|
||||
DMTF's have proposed a new Standard Platform management API Redfish using a
|
||||
data model representation inside of hypermedia RESTful interface. Vendors like
|
||||
Dell, HP supports Redfish and Rest API are exposed to perform any actions.
|
||||
Being a REST and model based standard makes it easy for the client side
|
||||
implementations.
|
||||
|
||||
Impacted components
|
||||
===================
|
||||
|
||||
The following Airship components would be impacted by this solution:
|
||||
|
||||
#. Drydock - new oob driver Redfish
|
||||
|
||||
Proposed change
|
||||
===============
|
||||
|
||||
Implement new OOB driver for Drydock.
|
||||
Implement the existing OOB actions for Redfish
|
||||
- ValidateOobServices
|
||||
- ConfigNodePxe
|
||||
- SetNodeBoot
|
||||
- PowerOffNode
|
||||
- PowerOnNode
|
||||
- PowerCycleNode
|
||||
- InterrogateOob
|
||||
|
||||
To use the Redfish driver as OOB, the OOB type in Host profile need to be
|
||||
set as ``redfish``
|
||||
|
||||
Sample Host profile with OOB type redfish::
|
||||
|
||||
---
|
||||
schema: drydock/HostProfile/v1
|
||||
metadata:
|
||||
schema: metadata/Document/v1
|
||||
name: global
|
||||
storagePolicy: cleartext
|
||||
labels:
|
||||
hosttype: global_hostprofile
|
||||
layeringDefinition:
|
||||
abstract: true
|
||||
layer: global
|
||||
data:
|
||||
oob:
|
||||
type: 'redfish'
|
||||
network: 'oob'
|
||||
account: 'tier4'
|
||||
|
||||
Security impact
|
||||
---------------
|
||||
|
||||
None
|
||||
|
||||
Performance impact
|
||||
------------------
|
||||
|
||||
None
|
||||
|
||||
Implementation
|
||||
==============
|
||||
|
||||
* Add redfish driver to drydock configuration parameter ``oob_driver``
|
||||
|
||||
* Implement base Redfish driver derived from oob_driver.OobDriver with
|
||||
oob_types_supported `redfish`
|
||||
|
||||
* Implement an abstract Redfish client class that takes care of intricacies
|
||||
of data models from different vendors.
|
||||
TODO: Mention the servers/firmware that will be supported as part of this
|
||||
blueprint
|
||||
|
||||
* Implement OOB action classes specified in Proposed change
|
||||
|
||||
Assignee(s)
|
||||
-----------
|
||||
|
||||
Primary assignee:
|
||||
Hemanth Nakkina
|
||||
|
||||
Other contributors:
|
||||
PradeepKumar KS
|
||||
Gurpreet Singh
|
||||
|
||||
Dependencies
|
||||
============
|
||||
|
||||
None
|
||||
|
||||
References
|
||||
==========
|
||||
|
||||
.. _Redfish_standard: https://www.dmtf.org/standards/redfish
|
Loading…
Reference in New Issue