<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=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:Wingdings;
panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
{font-family:SimSun;
panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:"\@SimSun";
panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri",sans-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;}
p
{mso-style-priority:99;
mso-margin-top-alt:auto;
margin-right:0in;
mso-margin-bottom-alt:auto;
margin-left:0in;
font-size:12.0pt;
font-family:"Times New Roman",serif;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
{mso-style-priority:34;
margin-top:0in;
margin-right:0in;
margin-bottom:0in;
margin-left:.5in;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
span.EmailStyle17
{mso-style-type:personal-compose;
font-family:"Calibri",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;
font-family:"Calibri",sans-serif;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
/* List Definitions */
@list l0
{mso-list-id:1544059348;
mso-list-type:hybrid;
mso-list-template-ids:770748016 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l0:level1
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:38.65pt;
text-indent:-.25in;
font-family:Symbol;}
@list l0:level2
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:74.65pt;
text-indent:-.25in;
font-family:"Courier New";}
@list l0:level3
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:110.65pt;
text-indent:-.25in;
font-family:Wingdings;}
@list l0:level4
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:146.65pt;
text-indent:-.25in;
font-family:Symbol;}
@list l0:level5
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:182.65pt;
text-indent:-.25in;
font-family:"Courier New";}
@list l0:level6
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:218.65pt;
text-indent:-.25in;
font-family:Wingdings;}
@list l0:level7
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:254.65pt;
text-indent:-.25in;
font-family:Symbol;}
@list l0:level8
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:290.65pt;
text-indent:-.25in;
font-family:"Courier New";}
@list l0:level9
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:326.65pt;
text-indent:-.25in;
font-family:Wingdings;}
ol
{margin-bottom:0in;}
ul
{margin-bottom:0in;}
--></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">Another use cases for maintenance node are:<o:p></o:p></p>
<p class="MsoListParagraph" style="margin-left:38.65pt;text-indent:-.25in;mso-list:l0 level1 lfo1">
<![if !supportLists]><span style="font-family:Symbol"><span style="mso-list:Ignore">·<span style="font:7.0pt "Times New Roman"">
</span></span></span><![endif]>HW component replacement, e.g. NIC, or disk<o:p></o:p></p>
<p class="MsoListParagraph" style="margin-left:38.65pt;text-indent:-.25in;mso-list:l0 level1 lfo1">
<![if !supportLists]><span style="font-family:Symbol"><span style="mso-list:Ignore">·<span style="font:7.0pt "Times New Roman"">
</span></span></span><![endif]>FW upgrade/downgrade – we should be able to use ironic FW management API/CLI for it.<o:p></o:p></p>
<p class="MsoListParagraph" style="margin-left:38.65pt;text-indent:-.25in;mso-list:l0 level1 lfo1">
<![if !supportLists]><span style="font-family:Symbol"><span style="mso-list:Ignore">·<span style="font:7.0pt "Times New Roman"">
</span></span></span><![endif]>HW configuration change. Like re-provision server, like changing RAID configuration. Again, we should be able to use ironic FW management API/CLI for it.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Thanks,<o:p></o:p></p>
<p class="MsoNormal">Arkady <o:p></o:p></p>
<p>-----Original Message-----<br>
From: Jim Rollenhagen [mailto:jim@jimrollenhagen.com] <br>
Sent: Tuesday, November 24, 2015 9:39 AM<br>
To: OpenStack Development Mailing List (not for usage questions) <br>
Subject: Re: [openstack-dev] [ironic]Ironic operations on nodes in maintenance mode<br>
<br>
On Mon, Nov 23, 2015 at 03:35:58PM -0800, Shraddha Pandhe wrote:<br>
> Hi,<br>
> <br>
> I would like to know how everyone is using maintenance mode and what <br>
> is expected from admins about nodes in maintenance. The reason I am <br>
> bringing up this topic is because, most of the ironic operations, <br>
> including manual cleaning are not allowed for nodes in maintenance. Thats a problem for us.<br>
> <br>
> The way we use it is as follows:<br>
> <br>
> We allow users to put nodes in maintenance mode (indirectly) if they <br>
> find something wrong with the node. They also provide a maintenance <br>
> reason along with it, which gets stored as "user_reason" under <br>
> maintenance_reason. So basically we tag it as user specified reason.<br>
> <br>
> To debug what happened to the node our operators use manual cleaning <br>
> to re-image the node. By doing this, they can find out all the issues <br>
> related to re-imaging (dhcp, ipmi, image transfer, etc). This <br>
> debugging process applies to all the nodes that were put in <br>
> maintenance either by user, or by system (due to power cycle failure or due to cleaning failure).<br>
<br>
Interesting; do you let the node go through cleaning between the user nuking the instance and doing this manual cleaning stuff?<br>
<br>
At Rackspace, we leverage the fact that maintenance mode will not allow the node to proceed through the state machine. If a user reports a hardware issue, we maintenance the node on their behalf, and when they delete it, it boots the agent for cleaning and
begins heartbeating.<br>
Heartbeats are ignored in maintenance mode, which gives us time to investigate the hardware, fix things, etc. When the issue is resolved, we remove maintenance mode, it goes through cleaning, then back in the pool.<br>
<br>
We used to enroll nodes in maintenance mode, back when the API put them in the available state immediately, to avoid them being scheduled to until we knew they were good to go. The enroll state solved this for us.<br>
<br>
Last, we use maintenance mode on available nodes if we want to temporarily pull them from the pool for a manual process or some testing. This can also be solved by the manageable state.<br>
<br>
// jim<br>
<br>
__________________________________________________________________________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: OpenStack-dev-request@lists.openstack.org?subject:unsubscribe<br>
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev<o:p></o:p></p>
</div>
</body>
</html>