<div dir="ltr"><pre style="margin-top:1.5em;margin-bottom:1.5em;padding:0px;border:0px;font-size:12.0012px;font-family:"andale mono","lucida console",monospace;vertical-align:baseline;white-space:pre-wrap;font-stretch:normal;line-height:1.5;color:rgb(83,83,83)">>><i> Nisha is raising the question about whether or not we're making
</i>>><i> incorrect assumptions about how people are using nova/ironic and they
</i>>><i> want to use the non-Exact filters for VCPU/MEMORY_MB/DISK_GB, which as
</i>>><i> far as I have ever heard is not recommended/supported upstream as it can
</i>>><i> lead to resource tracking issues in Nova that eventually lead to
</i>>><i> scheduling failures later because of the scheduler thinking a node is
</i>>><i> available for more than one instance when it's really not.
</i>
>This came up in the Nova PTG room yesterday and I wanted to reply on the
>thread with what I understood about it, for those who weren't in the
>session. In general, it's recommended to use the exact filters (1 flavor
>per Ironic node hardware config) as there's no concept of partially
>claiming a baremetal node.
>But, with the old non-exact filters, you _could_ get away with creating
>fewer flavors than you have hardware configs and get "fuzzy matching" on
>Ironic nodes, to get nodes whose configs are "close enough" but not
>exact. This might be helpful in situations where you have some oddball
>configs you don't want to have separate flavors for.
>I was thinking, if it's possible to assign more than one resource class
>to an Ironic node, maybe you could get similar behavior to the old
>non-exact filters. So if you have an oddball config, you could tag it as
>multiple resource classes that it's "close enough" to for a match. But
>I'm not sure whether it's possible for an Ironic node to be tagged with
>more than one resource class.</pre><pre style="margin-top:1.5em;margin-bottom:1.5em;padding:0px;border:0px;font-size:12.0012px;font-family:"andale mono","lucida console",monospace;vertical-align:baseline;white-space:pre-wrap;font-stretch:normal;line-height:1.5;color:rgb(83,83,83)"><br></pre><pre style="margin-top:1.5em;margin-bottom:1.5em;padding:0px;border:0px;font-size:12.0012px;font-family:"andale mono","lucida console",monospace;vertical-align:baseline;white-space:pre-wrap;font-stretch:normal;line-height:1.5;color:rgb(83,83,83)"><pre style="margin-top:1.5em;margin-bottom:1.5em;padding:0px;border:0px;font-size:12.0012px;font-family:"andale mono","lucida console",monospace;vertical-align:baseline;white-space:pre-wrap;font-stretch:normal;line-height:1.5">><i> Nisha is raising the question about whether or not we're making
</i>><i> incorrect assumptions about how people are using nova/ironic and they
</i>><i> want to use the non-Exact filters for VCPU/MEMORY_MB/DISK_GB, which as
</i>><i> far as I have ever heard is not recommended/supported upstream as it can
</i>><i> lead to resource tracking issues in Nova that eventually lead to
</i>><i> scheduling failures later because of the scheduler thinking a node is
</i>><i> available for more than one instance when it's really not.
</i>
The concern I have with one single custom resource class for an Ironic node is that it takes away some of the options that were available before, such as scheduling based on resource quantity and non-exact match filters (RamFilter, DiskFilter, and CoreFilter). Nova scheduling becomes too restrictive for Ironic. </pre><pre style="margin-top:1.5em;margin-bottom:1.5em;padding:0px;border:0px;font-size:12.0012px;font-family:"andale mono","lucida console",monospace;vertical-align:baseline;white-space:pre-wrap;font-stretch:normal;line-height:1.5"> I know some users are using these options before Pike with no issues. <span style="font-size:12.0012px"> Therefore, it's a mystery to me whether the non-exact filter for Ironic really has issues. Even if it has problems, it seems to me there are ways to address the problem. For instance, Ironic virt driver can report a node is not available if it's in active state (if it hasn't done so), or report all resources are consumed when a node is claimed. Alternatively, Nova scheduler can report all resources are consumed for an Ironic node if Nova is willing to make such change. Thanks! </span></pre><pre style="margin-top:1.5em;margin-bottom:1.5em;padding:0px;border:0px;font-size:12.0012px;font-family:"andale mono","lucida console",monospace;vertical-align:baseline;white-space:pre-wrap;font-stretch:normal;line-height:1.5"><span style="font-size:12.0012px"><br></span></pre><pre style="margin-top:1.5em;margin-bottom:1.5em;padding:0px;border:0px;font-size:12.0012px;font-family:"andale mono","lucida console",monospace;vertical-align:baseline;white-space:pre-wrap;font-stretch:normal;line-height:1.5"><span style="font-size:12.0012px"> </span></pre></pre></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Sep 7, 2017 at 12:48 PM, Nisha Agarwal <span dir="ltr"><<a href="mailto:agarwalnisha1980@gmail.com" target="_blank">agarwalnisha1980@gmail.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 Ironic Operators,<div><br></div><div>From Pike, ironic nodes get scheduled based on just the resource class from nova. Do you guys see any concerns over this "rigid resource class only ironic scheduling"?<br><div><br></div><div>To be more specific, at your datacentre/production environment what all filters are configured in nova.conf (configuration file for nova) for scheduling an ironic node? Do you use RamFilter/DiskFilter/<wbr>CoreFilter in the "use_baremetal_filters" for ironic nodes scheduling from nova?</div><div><br></div><div>Thanks and Regards</div><span class="HOEnZb"><font color="#888888"><div>Nisha</div><div><div><br></div>
</div></font></span></div></div>
<br>______________________________<wbr>______________________________<wbr>______________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.<wbr>openstack.org?subject:<wbr>unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/<wbr>cgi-bin/mailman/listinfo/<wbr>openstack-dev</a><br>
<br></blockquote></div><br></div>