<html><head></head><body><div class="ydp5168d339yahoo-style-wrap" style="font-family: times new roman, new york, times, serif; font-size: 16px;"><div></div>
        <div dir="ltr" data-setdir="false">Thanks Matt for the excellent suggestions in this email and the prior one.</div><div dir="ltr" data-setdir="false">I am currently trying to eliminate them one by one and will update.</div><div dir="ltr" data-setdir="false"><br></div><div dir="ltr" data-setdir="false">Yes, by  forced host I do mean creating the server with an availability zone in the </div><div dir="ltr" data-setdir="false">ZONE:NODE format.   Yes, I understand the scheduler filters aren't run but why should that be</div><div dir="ltr" data-setdir="false">an issue? </div><div dir="ltr" data-setdir="false"><br></div><div dir="ltr" data-setdir="false">For now, I am tracing all the logs from the PaaS layer all the way to Openstack nova placement API to</div><div dir="ltr" data-setdir="false">see if there is anything unusual.</div><div dir="ltr" data-setdir="false"><br></div><div dir="ltr" data-setdir="false">Thanks,</div><div dir="ltr" data-setdir="false">Fred.</div><div><br></div>
        
        </div><div id="ydp810b83c1yahoo_quoted_4187830788" class="ydp810b83c1yahoo_quoted">
            <div style="font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;color:#26282a;">
                
                <div>
                    On Thursday, November 14, 2019, 10:07:15 AM PST, Matt Riedemann <mriedemos@gmail.com> wrote:
                </div>
                <div><br></div>
                <div><br></div>
                <div><div dir="ltr">On 11/14/2019 10:09 AM, <a shape="rect" href="mailto:fsbiz@yahoo.com" rel="nofollow" target="_blank">fsbiz@yahoo.com</a> wrote:<br clear="none">> The requests coming in are "forced host" requests.  The PaaS layer <br clear="none">> maintains<br clear="none">> an inventory of actual bare-metal available nodes and a user has to <br clear="none">> explicitly select<br clear="none">> a baremetal node.  The PaaS layer then makes a nova api call for an <br clear="none">> instance to be created<br clear="none">> on that specific baremetal node.<br clear="none"><br clear="none">To be clear, by forced host you mean creating the server with an <br clear="none">availability zone in the format ZONE:HOST:NODE or ZONE:NODE where NODE <br clear="none">is the ironic node UUID, correct?<br clear="none"><br clear="none"><a shape="rect" href="https://docs.openstack.org/nova/latest/admin/availability-zones.html#using-availability-zones-to-select-hosts" rel="nofollow" target="_blank">https://docs.openstack.org/nova/latest/admin/availability-zones.html#using-availability-zones-to-select-hosts</a><br clear="none"><br clear="none">Yeah that's a problem because then the scheduler filters aren't run.<br clear="none"><br clear="none">A potential alternative is to create the server using a <br clear="none">hypervisor_hostname query hint that will run through the JsonFilter:<br clear="none"><br clear="none"><a shape="rect" href="https://docs.openstack.org/nova/latest/admin/configuration/schedulers.html#jsonfilter" rel="nofollow" target="_blank">https://docs.openstack.org/nova/latest/admin/configuration/schedulers.html#jsonfilter</a><br clear="none"><br clear="none">Then at least you're not forcing the node and run the scheduler filters.<br clear="none"><br clear="none">I forget exactly how the scheduler code works in Queens with respect to <br clear="none">forced hosts/nodes on server create but the scheduler still has to <br clear="none">allocate resources in placement. It looks like we work around that in <br clear="none">Queens by disabling the limit we place on getting allocation candidates <br clear="none">from placement:<br clear="none"><br clear="none"><a shape="rect" href="https://review.opendev.org/#/c/584616/" rel="nofollow" target="_blank">https://review.opendev.org/#/c/584616/</a><br clear="none"><br clear="none">My guess is your PaaS layer has bugs in it since it's allowing users to <br clear="none">select hosts that are already consumed, or it's just racy. Anyway, this <br clear="none">is why nova uses placement since Pike for atomic consumption of <br clear="none">resources during scheduling.<div class="ydp810b83c1yqt3640445518" id="ydp810b83c1yqtfd91913"><br clear="none"><br clear="none">-- <br clear="none"><br clear="none">Thanks,</div><br clear="none"><br clear="none">Matt<div class="ydp810b83c1yqt3640445518" id="ydp810b83c1yqtfd03320"><br clear="none"><br clear="none"></div></div></div>
            </div>
        </div></body></html>