[openstack-dev] [ironic][heat][mistral][magnum] Manage Ironic resource in Orchestration.

Ligong LG1 Duan duanlg1 at lenovo.com
Mon Dec 12 09:46:07 UTC 2016

I think it is a good idea to use OpenStack to manage the steps of 1) and 2).
Currently we are using Ansible playbook to implement 1) and 2) and then using Magnum to provision a container COE on baremetals. And it would be better if we use Heat or Mistral to implement the same but if we want to implement it in Heat, first we need to implement an IronicClient in Heat engine if there is no IronicClient in Heat. (I remember that there was a discussion on IronicClient in Heat but not sure whether it has been implemented.)

Ligong Duan

From: Rico Lin [mailto:rico.lin.guanyu at gmail.com]
Sent: Monday, December 12, 2016 4:19 PM
To: OpenStack Development Mailing List (not for usage questions)
Subject: [openstack-dev] [ironic][heat][mistral][magnum] Manage Ironic resource in Orchestration.

Think about bare metal (ironic) deployment, we can do directly ironic call, or use nova to deploy.
Right now I have a spec about implemented Ironic resources [1] in Heat. Including Chassis, Port and some state setting feature for Node (including node-set-xxx). In heat team discussion, we tend to not implement Node deployment feature.

If we counting Ironic action into three parts:
1. Create the node in the ironic DB
2. Do a series of steps to get the node in a state where it's ready for deployment (this may include introspection via ironic-inspector, or just changing the state)
3. Select a node and drive a workflow that deploys an image on it.

We can do in Heat is to use Nova on (3) and hope someone already handles on (1) and (2). If we consider (1) and (2) also part of Heat resources, we can actually make entire management done in heat template.

The use case in my head was ironic+magnum case:
Ironic resource handles state we need, then through magnum resource, nova will deploy that baremetal node and config it as part of COE.

The open question is if heat really implemented such feature, who will benefit from it and how are they going to use it? We certainly don't want to implement something that no one will use it or not even think it's a good idea.
And which projects might be a good fit if it's not a good idea to do in heat?
We can also think about the possibility of implement it with putting it in Nova resource in heat if it's a baremetal case, Heat+Mistral, or just Mistral will do.
Any idea or use cases?

[1] https://review.openstack.org/#/c/393108
May The Force of OpenStack Be With You,

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20161212/18dd0dc9/attachment.html>

More information about the OpenStack-dev mailing list