<div dir="ltr">Hi Yue,<div><br></div><div>Not sure I understood your question exactly.  You can definitely build your own datasource and have it do whatever you want.  The one I created had all the vm-placement logic that was contained in policy_engines/vmplacement.py.  And in the commit it shows how to invoke the different functions on that datasource from the command line using curl.</div><div><br></div><div>BTW I added the openstack-dev mailing list to this thread.  It's good to send this kind of note to openstack-dev and start the subject line with [Congress] so the Congress team sees it.</div><div><br></div><div>Tim</div><div><br></div><div><br></div><br><div class="gmail_quote"><div dir="ltr">On Thu, May 12, 2016 at 7:47 PM Yue Xin <<a href="mailto:xinyuefeiyang@gmail.com">xinyuefeiyang@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi Tim and all,<div><br></div><div>Thank you so much. It helps a lot.</div><div>But I still have some confusion here. The vmplace driver trigger the vm placement by combine the driver and vm together。is there any way to have congress communicate with a separate one?(seperate driver and module)</div><div><br></div><div>Thank you very much</div></div><div class="gmail_extra"><br clear="all"><div><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><font size="4" face="monospace, monospace"><b>Regards,</b></font><div><font size="4" face="monospace, monospace"><b>Yue</b></font></div></div></div></div></div></div></div></div></div><div class="gmail_extra">
<br><div class="gmail_quote">On 11 May 2016 at 21:22, Tim Hinrichs <span dir="ltr"><<a>tim@styra.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi Yue,<div><br></div><div>I got the vm-placement code added to a datasource that seems to spin up and is working.  You can get the vm-placement datasource driver from here:</div><div><br></div><div><a href="https://review.openstack.org/#/c/315303/" target="_blank">https://review.openstack.org/#/c/315303/</a><br></div><div><br></div><div>The commit message explains how to use it.  (You already know how to configure Congress to use a new datasource driver.  So you do the same thing with this new file.)</div><span><font color="#888888"><div><br></div><div>Tim</div></font></span></div><div><div><br><div class="gmail_quote"><div dir="ltr">On Tue, May 10, 2016 at 6:50 AM Yue Xin <<a>xinyuefeiyang@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi all,<div><br></div><div>Thank you so much for your kindness feedback.</div><div><br></div><div>I will try to put vm_placement.py in the same directory with others.(pervious I didn't find the location of other drivers, now I figured out they are in /opt/stack/congress/congress/datasources/).</div><div><br></div><div>I am not quite sure about the congress version, I download the "<a rel="nofollow" href="https://goo.gl/o062Kc" style="color:rgb(0,136,204);text-decoration:none;padding-right:13px;font-family:'Arial Unicode MS',Arial,sans-serif;font-size:14px;line-height:20px;background-image:url("");background-repeat:no-repeat" target="_blank">Tokyo Hands On Lab virtual machine</a>" directly to work on virtualbox. </div><div><br></div><div>My vm_placement_driver.py is quite simple right now(not sure about how it works). I have attached it below. I will work on it this week, if any progress, I will let you know.</div><div><br></div><div>Thanks</div><div><br></div></div><div class="gmail_extra"><br clear="all"><div><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><font size="4" face="monospace, monospace"><b>Regards,</b></font><div><font size="4" face="monospace, monospace"><b>Yue</b></font></div></div></div></div></div></div></div></div></div><div class="gmail_extra">
<br><div class="gmail_quote">On 9 May 2016 at 18:27, Tim Hinrichs <span dir="ltr"><<a>tim@styra.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi all,<div><br></div><div>Yue wants to use the vm-placement module.  It's intended to be an additional policy-engine, but maybe we can load it as if it were a new datasource.  Anyone know if that would work?  </div><div><br></div><div>Yue: I CCed the rest of the team.  When you configure Congress, you are giving it the path to the datasource: congress.datasources.vm_placement_driver says to grab congress/datasources/vm_placement_driver.py.  So put your file at that location within the Congress repo.  (Make sure it's in the same directory as all the other drivers.)  If that doesn't work, could you tell us w<span style="line-height:1.5">hich version of Congress you are using (the Hands-on-lab from Vancouver?)?  Could you attach the vm_placement_driver.py file you are using?</span><span style="line-height:1.5"> </span></div><div><br></div><div>Tim<br><br><div class="gmail_quote"><br></div></div><br><div class="gmail_quote"><span><div dir="ltr">On Mon, May 9, 2016 at 3:13 PM Yue Xin <<a>xinyuefeiyang@gmail.com</a>> wrote:<br></div></span><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi Tim,<div><br></div><span><div>Thank you very much for your reply.</div><div><br></div><div> I have written an demo vm-placement driver, and tried to put it into the demo. But I have no clue where to put it. </div><div><br></div><div>I added an line in "devstack/lib/congress" to tell congress there is a new driver added</div></span><div><img src="http:///mail/u/0/s/?view=att&th=154a6b2375756bb9&attid=0.1&disp=emb&realattid=ii_1549791ce43401c3&zw&atsh=1" alt="image.png" style="max-width:100%"><br></div><span><div><br></div><div>but when I use the command "<span style="color:rgb(0,0,0);font-family:'Courier New';font-size:13.3333px;white-space:pre-wrap;background-color:transparent">opeopenstack congress datasource create --config username=admin --config tenant_name=admin  --config auth_url=<a href="http://127.0.0.1:5000/v2.0" target="_blank">http://127.0.0.1:5000/v2.0</a> --config password=password -ope-config poll_time=5 vm_placement vm_placement</span>" </div><div><br></div><div>the response is"<b><i>driver not found(Http 404)"</i></b></div><div><br></div><div>I guess it is because I didn't put the vm_placement_driver.py in the right place.</div><div><br></div><div>Can you give me some suggestion where to put the added driver?</div><div><br></div><div>Thank you very much</div></span></div><span><div class="gmail_extra"><br clear="all"><div><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><font size="4" face="monospace, monospace"><b>Regards,</b></font><div><font size="4" face="monospace, monospace"><b>Yue</b></font></div></div></div></div></div></div></div></div></div><div class="gmail_extra">
<br><div class="gmail_quote">On 6 May 2016 at 19:23, Tim Hinrichs <span dir="ltr"><<a>tim@styra.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi Yue,<div><br></div><div>1. The hands on lab definitely doesn't discuss the VM-placement functionality.  That functionality is definitely experimental.<span style="line-height:1.5">  If I remember right, the basic algorithms are there, but we didn't hook everything up and fill out all the details that you would need to try it out through the normal API.  If you'd like, I'm happy to help talk you through doing that.</span></div><div><br></div><div><span style="line-height:1.5">2. Congress can trigger any actions defined within its datasources, which are Python code that are part of Congress.  So you can always create a new datasource driver that contains a method that invokes a 3rd party module, configure Congress to use that driver, and write policy to execute the new method under whatever conditions you like.  The Hands on lab shows you how to write policies that execute actions.  Below are the relevant docs.</span></div><div><span style="line-height:1.5"><br></span></div><div><span style="line-height:1.5">Writing a new datasource driver.</span></div><div><a href="http://docs.openstack.org/developer/congress/cloudservices.html#drivers" target="_blank">http://docs.openstack.org/developer/congress/cloudservices.html#drivers</a><br></div><div><br></div><div>Writing policy to invoke actions.</div><div><a href="http://docs.openstack.org/developer/congress/enforcement.html#manual-reactive-enforcement" target="_blank">http://docs.openstack.org/developer/congress/enforcement.html#manual-reactive-enforcement</a></div><span><font color="#888888"><div><br></div><div>Tim</div><div><br></div></font></span></div><div><div><br><div class="gmail_quote"><div dir="ltr">On Fri, May 6, 2016 at 4:58 AM Yue Xin <<a>xinyuefeiyang@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi Tim,<div><br></div><div>Hope everything goes on well.</div><div><br></div><div>I am a student working on congress, but I am new to it, so I have downloaded the Tokyo Hands on Lab virtual machine. I am not sure is it integrated the vm placement, how to test whether the vm placement is available or not. </div><div><br></div><div>Besides is it possible for congress to trigger a third party module? May I ask for some clue.</div><div><br></div><div>Thank you very much.</div><div><br></div><div><div><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><font size="4" face="monospace, monospace"><b>Regards,</b></font><div><font size="4" face="monospace, monospace"><b>Yue</b></font></div></div></div></div></div></div></div></div>
</div></div>
</blockquote></div>
</div></div></blockquote></div><br></div></span></blockquote></div></div>
</blockquote></div><br></div></blockquote></div>
</div></div></blockquote></div><br></div>
<br><br>-- <br><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><font size="4" face="monospace, monospace"><b>Regards,</b></font><div><font size="4" face="monospace, monospace"><b>Yue</b></font></div></div></div></div></div></div><br>
</blockquote></div></div>