<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:宋体;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:宋体;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"\@宋体";
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Verdana;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 90.0pt 72.0pt 90.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">I think it is a good idea to use OpenStack to manage the steps of 1) and 2).
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">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.)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Regards,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Ligong Duan<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> Rico Lin [mailto:rico.lin.guanyu@gmail.com]
<br>
<b>Sent:</b> Monday, December 12, 2016 4:19 PM<br>
<b>To:</b> OpenStack Development Mailing List (not for usage questions)<br>
<b>Subject:</b> [openstack-dev] [ironic][heat][mistral][magnum] Manage Ironic resource in Orchestration.<o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">Think about bare metal (ironic) deployment, we can do directly ironic call, or use nova to deploy.<br clear="all">
<o:p></o:p></p>
<div>
<p class="MsoNormal">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.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">If we counting Ironic action into three parts:<o:p></o:p></p>
</div>
<p class="MsoNormal">1. Create the node in the ironic DB<br>
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)<br>
3. Select a node and drive a workflow that deploys an image on it.<o:p></o:p></p>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">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.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">The use case in my head was ironic+magnum case:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Ironic resource handles state we need, then through magnum resource, nova will deploy that baremetal node and config it as part of COE.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<div>
<p class="MsoNormal">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.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">And which projects might be a good fit if it's not a good idea to do in heat?<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">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.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Any idea or use cases?<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">[1] <a href="https://review.openstack.org/#/c/393108">https://review.openstack.org/#/c/393108</a><o:p></o:p></p>
</div>
<p class="MsoNormal">-- <o:p></o:p></p>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<table class="MsoNormalTable" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="padding:0cm 0cm 0cm 0cm">
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Verdana","sans-serif";color:black">May The Force of Open</span><span style="font-size:10.0pt;font-family:"Verdana","sans-serif";color:red">Stack</span><span style="font-size:10.0pt;font-family:"Verdana","sans-serif";color:black"> Be
 With You,</span><span style="font-size:13.5pt;font-family:"Verdana","sans-serif";color:black"> <o:p></o:p></span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>