Hey all,<div><br></div><div>many thanks for your replies so far.</div><div><br></div><div>In general, I must say that there really is an absolute need for explicit provisioning, that is, deciding by the admin what single host to prefer (but still to reject when there're just no resources left of course).</div>
<div><br></div><div>- Filter like SameHost filter only works when there is already a host, and then you've to look up and built up the correlation first (not a big problem, but doesn't feel comfortable).</div><div>
- IsolatedHosts filter doesn't make that much sense, as we are using one general "template-%{TIMESTAMP}" to bootstrap some node and then set up everything else inside, and we usually still may have more than one VM on that compute node (e.g. a memcached VM and a postfix VM).</div>
<div>- availability zones, so I got told, are deprecated already (dunno) and I can't give every compute node a different availability zone, as - tbh - that's what I have hostnames for :-)</div><div><br></div><div>
Philip, I'd really like to dive into developing such a plugin, let's call it HostnameFilter-plugin, that the operator can pass one (or a set of) hostname(s) that are allowed to spawn the VM on.</div><div>However, I just wrote Python once, and even dislike the syntax a bit, not saying I hate it, but still :-)</div>
<div><br></div><div>Is there any guide (/tutorial) for reference (or hello_world nova scheduler plugin) I can look at to learn on how to write such a plugin?</div><div><br></div><div>Many thanks for your replies so far,</div>
<div>Christian Parpart.<br><br><div class="gmail_quote">On Tue, Oct 16, 2012 at 4:22 PM, Day, Phil <span dir="ltr"><<a href="mailto:philip.day@hp.com" target="_blank">philip.day@hp.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">






<div lang="EN-GB" link="blue" vlink="purple">
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Hi Christian,<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">For a more general solution you might want to look at the code that supports passing in “—availabilty_zone=az:host” (look for forced_host in compute/api.py). 
 Currently this is limited to admin, but I think that should be changed to be a specific action that can be controlled by policy (we have a change in preparation for this).<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">Cheers,<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> <u></u></span></p>
<p class="MsoNormal"><b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> openstack-bounces+philip.day=<a href="mailto:hp.com@lists.launchpad.net" target="_blank">hp.com@lists.launchpad.net</a> [mailto:<a href="mailto:openstack-bounces%2Bphilip.day" target="_blank">openstack-bounces+philip.day</a>=<a href="mailto:hp.com@lists.launchpad.net" target="_blank">hp.com@lists.launchpad.net</a>]
<b>On Behalf Of </b>GMI M<br>
<b>Sent:</b> 16 October 2012 15:13<br>
<b>To:</b> Christian Parpart<br>
<b>Cc:</b> <<a href="mailto:openstack@lists.launchpad.net" target="_blank">openstack@lists.launchpad.net</a>><br>
<b>Subject:</b> Re: [Openstack] looking for a Nova scheduler filter plugin to boot nodes on named hosts<u></u><u></u></span></p><div><div class="h5">
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal" style="margin-bottom:12.0pt">Hi Christian,<br>
<br>
I think you might be able to use the existing filters in Essex.<br>
For example, you can add the following lines in the nova.conf of the controller host (or where nova-scheduler runs) and restart nova-scheduler:<br>
<br>
isolated_hosts="nova7"<br>
isolated_images="sadsd1e35dfe63"<br>
<br>
This will allow you to run the image with ID "sadsd1e35dfe63" only on the compute host "nova7".<br>
You can also pass a list of compute servers in the isolated_hosts, if you have the need.<br>
<br>
I certainly see the use-case for this feature, for example when you want to run Windows based instances and you don't want to buy a Windows datacenter license for each nova-compute host, but only for a few that will run Windows instances.<br>

<br>
I hope this helps you.<br>
<br>
<br>
<br>
<br>
<u></u><u></u></p>
<div>
<p class="MsoNormal">On Mon, Oct 15, 2012 at 7:45 PM, Christian Parpart <<a href="mailto:trapni@gmail.com" target="_blank">trapni@gmail.com</a>> wrote:<u></u><u></u></p>
<p class="MsoNormal">Hi all,<u></u><u></u></p>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">I am looking for a (Essex) Nova scheduler plugin that parses the scheduler_hints to get a hostname of the<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">hypervisor to spawn the actual VM on, rejecting any other node.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">This allows us to explicitely spawn a VM on a certain host (yes, there are really usecases where you want that). :-)<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">I was trying to build my own and searching around since I couldn't believe I was the only one, but didn't find one yet.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Does anyone of you maybe have the skills to actually write that simple plugin, or even maybe knows where such<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">a plugin has already been developed?<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Many thanks in advance,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Christian Parpart.<u></u><u></u></p>
</div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><br>
_______________________________________________<br>
Mailing list: <a href="https://launchpad.net/%7Eopenstack" target="_blank">https://launchpad.net/~openstack</a><br>
Post to     : <a href="mailto:openstack@lists.launchpad.net" target="_blank">openstack@lists.launchpad.net</a><br>
Unsubscribe : <a href="https://launchpad.net/%7Eopenstack" target="_blank">https://launchpad.net/~openstack</a><br>
More help   : <a href="https://help.launchpad.net/ListHelp" target="_blank">https://help.launchpad.net/ListHelp</a><u></u><u></u></p>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
</div></div></div>
</div>

</blockquote></div><br></div>