<div dir="ltr">Hi Phil,<div><br></div><div class="gmail_extra"><br><br><div class="gmail_quote">2014-04-07 18:48 GMT+02:00 Day, Phil <span dir="ltr"><<a href="mailto:philip.day@hp.com" target="_blank">philip.day@hp.com</a>></span>:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div lang="EN-US" link="blue" vlink="purple">
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Hi Sylvain,<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">There was a similar thread on this recently – which might be worth reviewing: <a href="http://lists.openstack.org/pipermail/openstack-dev/2014-March/031006.html" target="_blank">http://lists.openstack.org/pipermail/openstack-dev/2014-March/031006.html</a><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Some interesting use cases were posted, and a I don’t think a conclusion was reached, which seems to suggest this might be a good case for a session in Atlanta.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u></span></p></div></div></blockquote><div><br></div><div><br></div><div>The funny fact is that I was already part of this discussion as owner of a bug related to it (see the original link I provided).</div>
<div>That's only when reviewing the code by itself that I found some discrepancies and raised the question here, before committing.</div><div><br></div><div> <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div lang="EN-US" link="blue" vlink="purple"><div><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Personally I’m not sure that selecting more than one AZ really makes a lot of sense – they are generally objects which are few in number and large in scale,
so if for example there are 3 AZs and you want to create two servers in different AZs, does it really help if you can do the sequence:<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p><u></u><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><span>-<span style="font:7.0pt "Times New Roman"">
</span></span></span><u></u><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Create a server in any AZ<u></u><u></u></span></p>
<p><u></u><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><span>-<span style="font:7.0pt "Times New Roman"">
</span></span></span><u></u><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Find the AZ the server is in<u></u><u></u></span></p>
<p><u></u><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><span>-<span style="font:7.0pt "Times New Roman"">
</span></span></span><u></u><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Create a new server in any of the two remaining AZs<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Rather than just picking two from the list to start with ?<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">If you envisage a system with many AZs, and thereby allow users some pretty find grained choices about where to place their instances, then I think you’ll end
up with capacity management issues.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">If the use case is more to get some form of server isolation, then server-groups might be worth looking at, as these are dynamic and per user.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">I can see a case for allowing more than one set of mutually exclusive host aggregates – at the moment that’s a property implemented just for the set of aggregates
that are designated as AZs, and generalizing that concept so that there can be other sets (where host overlap is allowed between sets, but not within a set) might be useful.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Phil<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> </span></p></div></div></blockquote><div><br></div><div>That's a good point for discussing at the Summit. I don't have yet an opinion on this, I'm just trying to stabilize things now :-)</div>
<div>At the moment, I'm pretty close to submit a change which will fix two things :</div><div> - the decisional will be the same for both adding a server to an aggregate and update metadata from an existing aggregate (there was duplicate code leading to a few differences)</div>
<div> - when checking existing AZs for one host, we will also get the aggregates to know if the default AZ is related to an existing aggregate with the same name or just something unrelated</div><div><br></div><div>Thanks,</div>
<div>-Sylvain</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="EN-US" link="blue" vlink="purple"><div><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u></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 #e1e1e1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:"Calibri","sans-serif"">From:</span></b><span style="font-size:11.0pt;font-family:"Calibri","sans-serif""> Murray, Paul (HP Cloud Services)
<br></span></p><div><div class="h5">
<b>Sent:</b> 03 April 2014 16:34<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 ?<u></u><u></u></div></div><p></p>
</div>
</div><div><div class="h5">
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Hi Sylvain,<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></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.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Paul.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></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 [<a href="mailto:khanh-toan.tran@cloudwatt.com" target="_blank">mailto:khanh-toan.tran@cloudwatt.com</a>]
<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 ?<u></u><u></u></span></p>
</div>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">+1 for AZs not sharing hosts.
<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></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!<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></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.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Best regards,<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Toan<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></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" target="_blank">
http://books.google.fr/books?id=DHjJAgAAQBAJ&pg=PA141#v=onepage&q&f=false</a><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></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" target="_blank">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 ?<u></u><u></u></span></p>
</div>
</div>
<p class="MsoNormal"><span lang="FR"><u></u> <u></u></span></p>
<div>
<p class="MsoNormal"><span lang="FR">Hi,<u></u><u></u></span></p>
<div>
<p class="MsoNormal"><span lang="FR"><u></u> <u></u></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.<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR"><u></u> <u></u></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.<u></u><u></u></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 :<u></u><u></u></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<u></u><u></u></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<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR"><u></u> <u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR"><u></u> <u></u></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].<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR"><u></u> <u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR"><u></u> <u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR">Your comments are welcome.<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR">Thanks,<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR">-Sylvain<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR"><u></u> <u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR"><u></u> <u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR">[1] : <a href="https://bugs.launchpad.net/nova/+bug/1277230" target="_blank">https://bugs.launchpad.net/nova/+bug/1277230</a><u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR"><u></u> <u></u></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" target="_blank">https://github.com/openstack/nova/blob/9d45e9cef624a4a972c24c47c7abd57a72d74432/nova/compute/api.py#L3378</a><u></u><u></u></span></p>
</div>
</div>
</div>
</div></div></div>
</div>
</div>
<br>_______________________________________________<br>
OpenStack-dev mailing list<br>
<a href="mailto:OpenStack-dev@lists.openstack.org">OpenStack-dev@lists.openstack.org</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
<br></blockquote></div><br></div></div>