<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:Wingdings;
panose-1:5 0 0 0 0 0 0 0 0 0;}
@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: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.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
{mso-style-priority:34;
margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:36.0pt;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman","serif";}
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";
mso-fareast-language:EN-US;}
@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=FR link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span lang=EN-US>> In that model, we would pass a bunch of information about multiple<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>> resources to the solver scheduler, have it perform scheduling *and<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>> reserve the resources*, then return some kind of resource reservation<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>> tokens back to the caller for each resource. The caller could then<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>> allocate each resource, pass in the reservation token indicating both<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>> that the resources had already been reserved as well as what the specific<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>> resource that had been reserved (the compute-host in the case of an<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>> instance, for example).<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Here the same problem comes back as with Heat. You can tell Climate to regroup some VMs together. However, the bottom line is that we have no way to “pass a bunch of information about multiple<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>resources to the solver scheduler”, since the current scheduler API does not allow it. It only accept a command of unique type of resources (flavor) and immediately calculates a provisioning plan for this command. Thus if we want to retains this process and wait for the integrity of all information (by passing several commands, probably with reservation token or a group ID as now) before calculating the provisioning plan, then we have to change the design of the scheduler completely, making it stateful, which, IMO, is much more complicated than adding a new API.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>> </span><span lang=EN-US>Please be aware that Climate [1] already exists for managing resources<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>> reservations. That doesn't make sense and has been discussed during<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>> last summit that reservations should be managed by Nova, but rather<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>> by another service.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>No argument here </span><span lang=EN-US style='font-size:11.0pt;font-family:Wingdings;color:#1F497D'>J</span><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US 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=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>De :</span></b><span lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> Sylvain Bauza [mailto:sylvain.bauza@gmail.com] <br><b>Envoyé :</b> mardi 11 février 2014 10:39<br><b>À :</b> OpenStack Development Mailing List (not for usage questions)<br><b>Objet :</b> Re: [openstack-dev] [Nova][Scheduler] Policy Based Scheduler and Solver Scheduler<o:p></o:p></span></p></div></div><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><div><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><div><p class=MsoNormal style='margin-bottom:12.0pt'><span lang=EN-US><o:p> </o:p></span></p><div><p class=MsoNormal>2014-02-10 18:45 GMT+01:00 Chris Friesen <<a href="mailto:chris.friesen@windriver.com" target="_blank">chris.friesen@windriver.com</a>>:<o:p></o:p></p><div><p class=MsoNormal><o:p> </o:p></p></div><p class=MsoNormal>In that model, we would pass a bunch of information about multiple resources to the solver scheduler, have it perform scheduling *and reserve the resources*, then return some kind of resource reservation tokens back to the caller for each resource. The caller could then allocate each resource, pass in the reservation token indicating both that the resources had already been reserved as well as what the specific resource that had been reserved (the compute-host in the case of an instance, for example).<span style='color:#888888'><br><br>Chris</span><o:p></o:p></p><div><div><p class=MsoNormal><o:p> </o:p></p></div></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Please be aware that Climate [1] already exists for managing resources reservations. That doesn't make sense and has been discussed during last summit that reservations should be managed by Nova, but rather by another service.<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>-Sylvain <o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>[1] : <a href="https://launchpad.net/climate">https://launchpad.net/climate</a><o:p></o:p></p></div></div></div></div></div></div></body></html>