<div dir="ltr"><div style="color:rgb(0,0,0);font-family:Calibri,sans-serif;font-size:14px">Hi Tim: moving our thread to the mailer. Excited to collaborate!</div><div style="color:rgb(0,0,0);font-family:Calibri,sans-serif;font-size:14px"><br></div><div style="color:rgb(0,0,0);font-family:Calibri,sans-serif;font-size:14px"><br></div><div style="color:rgb(0,0,0);font-family:Calibri,sans-serif;font-size:14px"><br></div><div style="color:rgb(0,0,0);font-family:Calibri,sans-serif;font-size:14px"><div style="font-family:Calibri;font-size:11pt;border-width:1pt medium medium;border-style:solid none none;padding:3pt 0in 0in;border-top-color:rgb(181,196,223)"><span style="font-weight:bold">From: </span>Debo~ Dutta <<a href="mailto:dedutta@cisco.com" style="color:purple">dedutta@cisco.com</a>><br><span style="font-weight:bold">Date: </span>Wednesday, February 11, 2015 at 4:48 PM<br><span style="font-weight:bold">To: </span>Tim Hinrichs <<a href="mailto:thinrichs@vmware.com" style="color:purple">thinrichs@vmware.com</a>><br><span style="font-weight:bold">Cc: </span>"Yathiraj Udupi (yudupi)" <<a href="mailto:yudupi@cisco.com" style="color:purple">yudupi@cisco.com</a>>, Gokul B Kandiraju <<a href="mailto:gokul@us.ibm.com" style="color:purple">gokul@us.ibm.com</a>>, Prabhakar Kudva <<a href="mailto:kudva@us.ibm.com" style="color:purple">kudva@us.ibm.com</a>>, "<a href="mailto:ruby.krishnaswamy@orange.com" style="color:purple">ruby.krishnaswamy@orange.com</a>" <<a href="mailto:ruby.krishnaswamy@orange.com" style="color:purple">ruby.krishnaswamy@orange.com</a>>, "<a href="mailto:dilikris@in.ibm.com" style="color:purple">dilikris@in.ibm.com</a>" <<a href="mailto:dilikris@in.ibm.com" style="color:purple">dilikris@in.ibm.com</a>>, Norival Figueira <<a href="mailto:nfigueir@Brocade.com" style="color:purple">nfigueir@Brocade.com</a>>, Ramki Krishnan <<a href="mailto:ramk@Brocade.com" style="color:purple">ramk@Brocade.com</a>>, "Xinyuan Huang (xinyuahu)" <<a href="mailto:xinyuahu@cisco.com" style="color:purple">xinyuahu@cisco.com</a>>, "Rishabh Jain -X (rishabja - AAP3 INC at Cisco)" <<a href="mailto:rishabja@cisco.com" style="color:purple">rishabja@cisco.com</a>><br><span style="font-weight:bold">Subject: </span>Re: Nova solver scheduler and Congress<br></div><div><br></div><div><div style="word-wrap:break-word"><div>Hi Tim </div><div><br></div><div>To address your particular questions: </div><ol><li>translate some policy language into constraints for the LP/CVP and we had left that to congress hoping to integrate when the policy efforts in openstack were ready (our initial effort was pre congress) </li><li>For migrations: we are currently doing that – its about incremental constraints into the same solver. Hence its a small deal …. </li></ol><div>Joining forces is a terrific idea. Would love to join the IRC call and see how we can build cool stuff in the community together. I hope we don’t have to replicate the vm placement engine while the work that was done in the community does something very similar (and be adapted)</div><div><br></div><div>debo</div><div><br></div><span id="OLK_SRC_BODY_SECTION"><div style="font-family:Calibri;font-size:11pt;border-width:1pt medium medium;border-style:solid none none;padding:3pt 0in 0in;border-top-color:rgb(181,196,223)"><span style="font-weight:bold">From: </span>Tim Hinrichs <<a href="mailto:thinrichs@vmware.com" style="color:purple">thinrichs@vmware.com</a>><br><span style="font-weight:bold">Date: </span>Wednesday, February 11, 2015 at 4:43 PM<br><span style="font-weight:bold">To: </span>Debo~ Dutta <<a href="mailto:dedutta@cisco.com" style="color:purple">dedutta@cisco.com</a>><br><span style="font-weight:bold">Cc: </span>"Yathiraj Udupi (yudupi)" <<a href="mailto:yudupi@cisco.com" style="color:purple">yudupi@cisco.com</a>>, Gokul B Kandiraju <<a href="mailto:gokul@us.ibm.com" style="color:purple">gokul@us.ibm.com</a>>, Prabhakar Kudva <<a href="mailto:kudva@us.ibm.com" style="color:purple">kudva@us.ibm.com</a>>, "<a href="mailto:ruby.krishnaswamy@orange.com" style="color:purple">ruby.krishnaswamy@orange.com</a>" <<a href="mailto:ruby.krishnaswamy@orange.com" style="color:purple">ruby.krishnaswamy@orange.com</a>>, "<a href="mailto:dilikris@in.ibm.com" style="color:purple">dilikris@in.ibm.com</a>" <<a href="mailto:dilikris@in.ibm.com" style="color:purple">dilikris@in.ibm.com</a>>, Norival Figueira <<a href="mailto:nfigueir@Brocade.com" style="color:purple">nfigueir@Brocade.com</a>>, Ramki Krishnan <<a href="mailto:ramk@Brocade.com" style="color:purple">ramk@Brocade.com</a>>, "Xinyuan Huang (xinyuahu)" <<a href="mailto:xinyuahu@cisco.com" style="color:purple">xinyuahu@cisco.com</a>>, "Rishabh Jain -X (rishabja - AAP3 INC at Cisco)" <<a href="mailto:rishabja@cisco.com" style="color:purple">rishabja@cisco.com</a>><br><span style="font-weight:bold">Subject: </span>Re: Nova solver scheduler and Congress<br></div><div><br></div><div><div style="word-wrap:break-word">Hi Debo,<div><br></div><div>The 2 efforts share great similarities, which was why we investigated the state of solver-scheduler.  From what I understand, (i) solver-scheduler doesn’t currently have a policy language and (ii) it doesn’t do migrations.  (I realize these are both in the works.)  We needed both and wanted to make progress before those were complete.</div><div><br></div><div>In the long run, it may make perfect sense to replace our vm-placement engine with yours.  So joining forces sounds like a good idea.  At the very *least* we ought to keep up to date with each other’s progress.  </div><div><br></div><div>I’m starting to wonder if we ought to schedule a (bi-) weekly IRC for this topic.</div><div><br></div><div>Tim</div><div> <br><div><div>On Feb 11, 2015, at 4:35 PM, Debo Dutta (dedutta) <<a href="mailto:dedutta@cisco.com" style="color:purple">dedutta@cisco.com</a>> wrote:</div><br class=""><blockquote type="cite"><div style="word-wrap:break-word"><div>Hi Tim </div><div><br></div><div>This looks awesome. Trying to figure out how this approach is different from the solver scheduler effort we did? We would be happy to fold our solver scheduler effort into this (that way you also get code up and running)</div><div><br></div><div>Will also respond on the thread. </div><div><br></div><div>thx</div><div>debo</div><div><br></div><span id="OLK_SRC_BODY_SECTION"><div style="font-family:Calibri;font-size:11pt;border-width:1pt medium medium;border-style:solid none none;padding:3pt 0in 0in;border-top-color:rgb(181,196,223)"><span style="font-weight:bold">From: </span>Tim Hinrichs <<a href="mailto:thinrichs@vmware.com" style="color:purple">thinrichs@vmware.com</a>><br><span style="font-weight:bold">Date: </span>Wednesday, February 11, 2015 at 4:11 PM<br><span style="font-weight:bold">To: </span>"Yathiraj Udupi (yudupi)" <<a href="mailto:yudupi@cisco.com" style="color:purple">yudupi@cisco.com</a>><br><span style="font-weight:bold">Cc: </span>Gokul B Kandiraju <<a href="mailto:gokul@us.ibm.com" style="color:purple">gokul@us.ibm.com</a>>, Prabhakar Kudva <<a href="mailto:kudva@us.ibm.com" style="color:purple">kudva@us.ibm.com</a>>, "<a href="mailto:ruby.krishnaswamy@orange.com" style="color:purple">ruby.krishnaswamy@orange.com</a>" <<a href="mailto:ruby.krishnaswamy@orange.com" style="color:purple">ruby.krishnaswamy@orange.com</a>>, "<a href="mailto:dilikris@in.ibm.com" style="color:purple">dilikris@in.ibm.com</a>" <<a href="mailto:dilikris@in.ibm.com" style="color:purple">dilikris@in.ibm.com</a>>, Norival Figueira <<a href="mailto:nfigueir@Brocade.com" style="color:purple">nfigueir@Brocade.com</a>>, Ramki Krishnan <<a href="mailto:ramk@Brocade.com" style="color:purple">ramk@Brocade.com</a>>, "Xinyuan Huang (xinyuahu)" <<a href="mailto:xinyuahu@cisco.com" style="color:purple">xinyuahu@cisco.com</a>>, "Rishabh Jain -X (rishabja - AAP3 INC at Cisco)" <<a href="mailto:rishabja@cisco.com" style="color:purple">rishabja@cisco.com</a>>, Debo~ Dutta <<a href="mailto:dedutta@cisco.com" style="color:purple">dedutta@cisco.com</a>><br><span style="font-weight:bold">Subject: </span>Re: Nova solver scheduler and Congress<br></div><div><br></div><div><div style="word-wrap:break-word">Hi Yathiraj,<div><br></div><div>The group is getting big enough that we’ve decided to move the entire discussion to the openstack-dev mailing list.  I sent a note today with the google doc we’re working on.  We’re trying to include [Congress][Delegation] in the subject line of relevant posts.  Here’s the gdoc.</div><div><br></div><div><a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__docs.google.com_document_d_1ksDilJYXV-2D5AXWON8PLMedDKr9NpS8VbT0jIy-5FMIEtI_edit-3Fusp-3Dsharing&d=AwMF-g&c=Sqcl0Ez6M0X8aeM67LKIiDJAXVeAw-YihVMNtXt-uEs&r=B6BWd4kFfgOzAREgThxkmTZKy7dDXE2-eBAmL0PBK7s&m=no-emyiErtYa3_zneDNhY78LG0mCHc0bgMpXi1StZ7A&s=rLY2ACQqD5EQn3MgOnoX8M_zr9254v-FqhF56wfGpic&e=" style="color:rgb(149,79,114)">https://docs.google.com/document/d/1ksDilJYXV-5AXWON8PLMedDKr9NpS8VbT0jIy_MIEtI/edit?usp=sharing</a></div><div><br></div><div>Tim</div><div><br><div><div>On Feb 10, 2015, at 11:10 AM, Yathiraj Udupi (yudupi) <<a href="mailto:yudupi@cisco.com" style="color:purple">yudupi@cisco.com</a>> wrote:</div><br class=""><blockquote type="cite"><div style="word-wrap:break-word"><div>Hi Tim, </div><div><br></div><div>Thanks for your response.  I think Congress will have to appreciate different APIs interacting with multiple components in the OpenStack ecosystem.  So I will be happy to help figure out the integration plan in general from the Congress side. </div><div><br></div><div>I will  be very interested and glad to participate in the discussions of designing these interfaces in Congress.   Please share any preliminary designs you may have.   I had participated in one of the Congress mid-cycle meet ups, and I am interested in the upcoming work on these kind of enforcement aspects (reactive, proactive) of Congress.  In terms of Nova scheduling via Solver scheduler, it will also help us be ready with the integration points. </div><div><br></div><div>Let’s be in sync. </div><div><br></div><div>Thanks,</div><div>Yathi. </div><div><br></div><div><br></div><span id="OLK_SRC_BODY_SECTION"><div>On 2/10/15, 11:03 AM, "Tim Hinrichs" <<a href="mailto:thinrichs@vmware.com" style="color:purple">thinrichs@vmware.com</a>> wrote:</div><div><br></div><blockquote id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE" type="cite" style="border-left-color:rgb(181,196,223);border-left-width:5px;border-left-style:solid;padding:0px 0px 0px 5px;margin:0px 0px 0px 5px"><div style="word-wrap:break-word">Hi Yathiraj,<div><br></div><div>Thanks for the help!</div><div><br></div><div>The reason I asked is that we’re trying to figure out the basic interface for how two policy engines (in general) ought to interact.  We were hoping Congress and solver-scheduler had very similar APIs, which would make that interface relatively simple.  But it sounds like the two systems have pretty different APIs.  So for now we’ll keep working on that interface, and once we have something worked out we’ll touch base with you to think through how an integration might work.     </div><div><br></div><div>Tim</div><div><br></div><div><div><div>On Feb 6, 2015, at 11:45 AM, Yathiraj Udupi (yudupi) <<a href="mailto:yudupi@cisco.com" style="color:purple">yudupi@cisco.com</a>> wrote:</div><br class=""><blockquote type="cite"><div style="word-wrap:break-word"><div>Hi Tim, </div><div><br></div><div>Thanks for reaching out.   Currently available documentation is all in the project README - <a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_stackforge_nova-2Dsolver-2Dscheduler_blob_master_README.md&d=AwMF-g&c=Sqcl0Ez6M0X8aeM67LKIiDJAXVeAw-YihVMNtXt-uEs&r=B6BWd4kFfgOzAREgThxkmTZKy7dDXE2-eBAmL0PBK7s&m=4W62lNEl8JKjwUKKASTM0fjHUVJATmMpEsCoYaeA_OQ&s=1rPI8hfdD9f8_B9_14xALPUjAuJJnWVJRhugMJ16IIk&e=" style="color:purple">https://github.com/stackforge/nova-solver-scheduler/blob/master/README.md</a>  Towards the end there are some examples. </div><div> </div><div>To answer your specific questions:</div><div><div><br></div><div>1) How do we change the Nova server-placement policy?  An API call?  A file on the Nova server?  </div></div><div>- Currently the server placement policies are all defined in solver scheduler in the form of pluggable constraint or cost modules.  So imagine there will be a policy to place a compute VM close to on a storage volume host, there is a volume affinity cost module - <a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_stackforge_nova-2Dsolver-2Dscheduler_blob_master_nova_scheduler_solvers_costs_volume-5Faffinity-5Fcost.py&d=AwMF-g&c=Sqcl0Ez6M0X8aeM67LKIiDJAXVeAw-YihVMNtXt-uEs&r=B6BWd4kFfgOzAREgThxkmTZKy7dDXE2-eBAmL0PBK7s&m=4W62lNEl8JKjwUKKASTM0fjHUVJATmMpEsCoYaeA_OQ&s=T34XhGj816dbMWcnLKU0Oda99ku1twIhUWN_SLTHPkQ&e=" style="color:purple">https://github.com/stackforge/nova-solver-scheduler/blob/master/nova/scheduler/solvers/costs/volume_affinity_cost.py</a> and you will feed the necessary inputs for the policy via scheduler hints that are induced during the nova API calls, in this case of the volume cost,  the scheduler hint will be to provide the specific volume id. </div><div>- So all these constraint and cost classes are defined the nova conf file, so all applicable policies are included statically at the moment, and inputs to the policies are via scheduler hints. </div><div>- We are yet to commit the code to dynamically set these policies at run-time, so we can choose what policies to include. </div><div><br></div><div>2) What policy language does solver-scheduler use?</div><div>- We haven’t yet added support for a formal policy language, but everything is implemented as pluggable modules now, and a policy will be simply defining what constraints or costs to use, for what scenarios.  We plan to use simple policy rules to define this, and will be added soon in the roadmap.  </div><div><br></div><div>3) I presume solver-scheduler *provisions* servers according to policy.  Does it also *migrate* servers when they begin to violate policy?</div><div>Yes for provisioning according to policy,  Support for migration is coming soon, and will utilize the nova migration workflow based on a policy violation detected by a constraint validator. </div><div><br></div><div>Congress could feed some of these policies in terms of selecting our solver scheduler constraints and costs for specific scenarios, and also feed the necessary scheduler hints.  So based on the Congress policy, we can select our constraints and costs, and enable nova server placement accordingly.  </div><div><br></div><div>Including our small solver scheduler team here from Cisco, we will be glad to work with the community. </div><div><br></div><div>Thanks,</div><div>Yathi. </div><div><br></div><div><br></div><div><br></div><span id="OLK_SRC_BODY_SECTION"><div>On 2/5/15, 4:22 PM, "Tim Hinrichs" <<a href="mailto:thinrichs@vmware.com" style="color:purple">thinrichs@vmware.com</a>> wrote:</div><div><br></div><blockquote id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE" type="cite" style="border-left-color:rgb(181,196,223);border-left-width:5px;border-left-style:solid;padding:0px 0px 0px 5px;margin:0px 0px 0px 5px"><div style="word-wrap:break-word">Hi Yathiraj,<div><br></div><div>I had a couple of questions about the nova solver scheduler.  We’re looking into driving server-placement via policy through Congress and wanted to understand more about how solver-scheduler works.  If it’s easier to just point me to docs or examples, that’d be great!</div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div>Thanks!</div><div>Tim</div><div><br></div><div><br></div></div></blockquote></span></div></blockquote></div><br></div></div></blockquote></span></div></blockquote></div><br></div></div></div></span></div></blockquote></div></div></div></div></span></div></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Feb 11, 2015 at 9:01 AM, Tim Hinrichs <span dir="ltr"><<a href="mailto:thinrichs@vmware.com" target="_blank">thinrichs@vmware.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">



<div style="word-wrap:break-word">
Hi all,
<div><br>
</div>
<div>A (growing) group of folks are interested in working on the problem of delegating policy from Congress to domain-specific policy engines.  We started looking at an NFV use case: migrating VMs to reduce energy consumption.  In particular we’re looking into
 building a VM-placement policy engine built on top of a linear programming solver.  Here’s a doc with some working notes where we’re trying to figure out how to do the translation from Congress policy to the linear program.</div>
<div><br>
</div>
<div>
<div style="word-wrap:break-word">
<div style="word-wrap:break-word">
<a href="https://docs.google.com/document/d/1ksDilJYXV-5AXWON8PLMedDKr9NpS8VbT0jIy_MIEtI/edit?usp=sharing" style="color:rgb(149,79,114)" target="_blank">https://docs.google.com/document/d/1ksDilJYXV-5AXWON8PLMedDKr9NpS8VbT0jIy_MIEtI/edit?usp=sharing</a></div><span class="HOEnZb"><font color="#888888">
</font></span></div><span class="HOEnZb"><font color="#888888">
</font></span></div><span class="HOEnZb"><font color="#888888">
<div><br>
</div>
<div>Tim</div>
</font></span></div>

<br>__________________________________________________________________________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</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><br clear="all"><div><br></div>-- <br><div class="gmail_signature">-Debo~<br></div>
</div>