<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=iso-8859-1">
<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;}
@font-face
        {font-family:Tahoma;
        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;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Balloon Text Char";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";}
span.EmailStyle17
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.BalloonTextChar
        {mso-style-name:"Balloon Text Char";
        mso-style-priority:99;
        mso-style-link:"Balloon Text";
        font-family:"Tahoma","sans-serif";}
span.EmailStyle20
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 70.85pt 70.85pt;}
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">Hi Sylvain,<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">I would go with keeping AZs exclusive. It is a well-established concept even if it is up to providers to implement what it actually means in terms of isolation.
 Some good use cases have been presented on this topic recently, but for me they suggest we should develop a better concept rather than bend the meaning of the old one. We certainly don’t have hosts in more than one AZ in HP Cloud and I think some of our users
 would be very surprised if we changed that.<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">Paul.<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>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<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""> Khanh-Toan Tran [mailto:khanh-toan.tran@cloudwatt.com]
<br>
<b>Sent:</b> 03 April 2014 15:53<br>
<b>To:</b> OpenStack Development Mailing List (not for usage questions)<br>
<b>Subject:</b> Re: [openstack-dev] [Nova] Hosts within two Availability Zones : possible or not ?<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">+1 for AZs not sharing hosts.
<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">Because it’s the only mechanism that allows us to segment the datacenter. Otherwise we cannot provide redundancy to client except using Region which is dedicated
 infrastructure and networked separated and anti-affinity filter which IMO is not pragmatic as it has tendency of abusive usage.  Why sacrificing this power so that users can select the types of his desired physical hosts ? The latter can be exposed using flavor
 metadata, which is a lot safer and more controllable than using AZs. If someone insists that we really need to let users choose the types of physical hosts, then I suggest creating a new hint, and use aggregates with it. Don’t sacrifice AZ exclusivity!<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">Btw, there is a datacenter design called “dual-room” [1] which I think best fit for AZs to make your cloud redundant even with one datacenter.<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">Best regards,<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">Toan<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">[1] IBM and Cisco: Together for a World Class Data Center, Page 141.
<a href="http://books.google.fr/books?id=DHjJAgAAQBAJ&pg=PA141#v=onepage&q&f=false">
http://books.google.fr/books?id=DHjJAgAAQBAJ&pg=PA141#v=onepage&q&f=false</a><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"><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>
<div style="border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm 4.0pt">
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span lang="FR" style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">De :</span></b><span lang="FR" style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> Sylvain Bauza [<a href="mailto:sylvain.bauza@gmail.com">mailto:sylvain.bauza@gmail.com</a>]
<br>
<b>Envoyé :</b> jeudi 3 avril 2014 15:52<br>
<b>À :</b> OpenStack Development Mailing List (not for usage questions)<br>
<b>Objet :</b> [openstack-dev] [Nova] Hosts within two Availability Zones : possible or not ?<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><span lang="FR"><o:p> </o:p></span></p>
<div>
<p class="MsoNormal"><span lang="FR">Hi,<o:p></o:p></span></p>
<div>
<p class="MsoNormal"><span lang="FR"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR">I'm currently trying to reproduce [1]. This bug requires to have the same host on two different aggregates, each one having an AZ.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR">IIRC, Nova API prevents hosts of being part of two distinct AZs [2], so IMHO this request should not be possible.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR">That said, there are two flaws where I can identify that no validation is done :<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR"> - when specifying an AZ in nova.conf, the host is overriding the existing AZ by its own<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR"> - when adding an host to an aggregate without AZ defined, and afterwards update the aggregate to add an AZ<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR">So, I need direction. Either we consider it is not possible to share 2 AZs for the same host and then we need to fix the two above scenarios, or we say it's nice to have 2 AZs for the same host and then we both remove the
 validation check in the API and we fix the output issue reported in the original bug [1].<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR">Your comments are welcome.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR">Thanks,<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR">-Sylvain<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR">[1] : <a href="https://bugs.launchpad.net/nova/+bug/1277230">https://bugs.launchpad.net/nova/+bug/1277230</a><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR">[2] : <a href="https://github.com/openstack/nova/blob/9d45e9cef624a4a972c24c47c7abd57a72d74432/nova/compute/api.py#L3378">https://github.com/openstack/nova/blob/9d45e9cef624a4a972c24c47c7abd57a72d74432/nova/compute/api.py#L3378</a><o:p></o:p></span></p>
</div>
</div>
</div>
</div>
</body>
</html>