<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 14 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* 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;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        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;}
--></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">Hi Devs,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Masakari [1] provides Virtual Machine High Availability (VMHA) service for OpenStack clouds by automatically recovering the KVM-based Virtual Machine(VM)s from failure events such as VM process down, provisioning process down, and nova-compute
 host failure. It also provides API service to manage and control the automated rescue mechanism.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Masakari use cases:<o:p></o:p></p>
<p class="MsoNormal">-------------------<o:p></o:p></p>
<p class="MsoNormal">1. Allow evacuation of an instance which is in resized state.<o:p></o:p></p>
<p class="MsoNormal">2. If instance was in stopped state before resizing then after evacuation it should remain in stopped state instead of active state.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Problem from Nova:<o:p></o:p></p>
<p class="MsoNormal">------------------<o:p></o:p></p>
<p class="MsoNormal">Nova does not allow evacuation of an instance which is in resized state.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Implementation in masakari:<o:p></o:p></p>
<p class="MsoNormal">---------------------------<o:p></o:p></p>
<p class="MsoNormal">In masakari, we are setting an instance to an error state if the vmstate is resized before evacuating it to a new host. Once an instance (which was in resized state) is evacuated then it becomes active on the new host. The main problem
 with this implementation from user’s point of view is the instance goes into active state after evacuation, it should be in stopped state if the prior action on the instance before resizing was stop. In masakari, It’s possible to set the vm state to stopped
 state after evacuation but for a short period the instance will go into the active state which is unacceptable.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><b>Proposing changes to Nova:<o:p></o:p></b></p>
<p class="MsoNormal">In the current nova code, if the instance is in stopped state before evacuation, then it remains in the stopped state after evacuation is complete. On the similar lines, we are proposing nova should allow instance to be evacuated in resized
 state and after evacuation the instance should remain in stopped state if the prior action on the instance is stopped before resizing.  If the vmstate is resized, the old vmstate in instance_systemmetadata will be either active/stop. Based on this old vmstate,
 nova compute can decide whether to set the vm state to active or stopped during evacuation.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Please let me know your opinion about allowing evacuation of instances in resized state in nova.<o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal">[1] <span style="color:#1F497D"><a href="https://github.com/openstack/masakari">https://github.com/openstack/masakari</a><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal">Thank you,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Abhishek Kekane<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<br clear="both">
______________________________________________________________________<BR>
Disclaimer: This email and any attachments are sent in strictest confidence<BR>
for the sole use of the addressee and may contain legally privileged,<BR>
confidential, and proprietary data. If you are not the intended recipient,<BR>
please advise the sender by replying promptly to this email and then delete<BR>
and destroy this email and any attachments without any further use, copying<BR>
or forwarding.<BR>
</body>
</html>