Implement ironic resources

Add spec for implement ironic resources in heat.
blueprint: ironic-resource

Change-Id: I98c71e9d7fda1d61d29fcca3911ecfc76c8c322e
This commit is contained in:
ricolin 2016-11-03 14:28:49 +08:00 committed by Rico Lin
parent 8e865c99e9
commit 1b680b5b99

View File

@ -0,0 +1,101 @@
..
This work is licensed under a Creative Commons Attribution 3.0 Unported
License.
http://creativecommons.org/licenses/by/3.0/legalcode
..
This template should be in ReSTructured text. The filename in the git
repository should match the launchpad URL, for example a URL of
https://blueprints.launchpad.net/heat/+spec/awesome-thing should be named
awesome-thing.rst . Please do not delete any of the sections in this
template. If you have nothing to say for a whole section, just write: None
For help with syntax, see http://sphinx-doc.org/rest.html
To test out your formatting, see http://www.tele3.cz/jbar/rest/rest.html
==========================
Implement ironic resources
==========================
https://blueprints.launchpad.net/heat/+spec/ironic-resource
Add ironic resources in heat. This allow manage ironic through heat.
Also allow other project's inner usage for ironic, like magnum, and tripleO
might get benifits from it.
Problem description
===================
We didn't have ways to fully control and manage ironic resources from
orchestration service. For some service like Magnum, will have to use nova
to create instance through heat without full manageability of ironic
resources.
Proposed change
===============
* Add Chassis and Port resources
These are admin only resources.
We already have a draft version of resource implement [1].
* Add Node resource
This is an admin only resource.
This resource will not be duprecated to nova-ironic.
Actually more like a management set around nova-ironic.
Will not implement deloy functionality in resource.
For references, We already have a draft version of resource
implement [1]. You can also find WIP implementation around
mistral [2] in tripleo. And a ansible-playbook solution here
[3] and nova ironic driver solution [4] for further references.
* Add warning messge in Node resource
This is an admin only resource.
Add warning message when admin try to use Node instead of nova Server
resource.
* Add ironic manageability resources in ironic resources
These are admin only resources.
This include some status change like ironic node-set-xxx
[1] https://review.openstack.org/#/q/project:openstack/heat+branch:master+topic:bp/ironic-resource,n,z
[2] https://review.openstack.org/#/c/313048/
[3] https://github.com/openstack/bifrost
[4] https://github.com/openstack/nova/blob/master/nova/virt/ironic/driver.py
Alternatives
------------
None
Implementation
==============
Assignee(s)
-----------
Primary assignee:
rico-lin <rico.lin.guanyu@gmail.com>
Steven Hardy <shardy@redhat.com>
Milestones
----------
Target Milestone for completion:
ocata-1
Work Items
----------
* Add Chassis, Node, and Port resources
* Add warning messge in Node resource
* Add ironic manageability resource in ironic resources
Dependencies
============
None