[openstack-dev] [nova][ironic] Scheduler filtering based on instances

Ed Leafe ed at leafe.com
Fri Jul 31 16:32:47 UTC 2015


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

The scheduler in nova has a few filters (TypeAffinityFilter,
SameHostFilter, DifferentHostFilter) that rely on information about
the instances that already exist on a given host. Before Kilo, these
filters made direct DB calls in order to make their decisions. This
was changed in Kilo to have the HostManager pre-populate the host with
its instances, either from an in-memory view in the scheduler, or, if
that update option was turned off, by a single DB query per host per
request.

A few days ago, Jim Rollenhagen noticed that this instance query was
causing severe problems for an ironic installation. It was felt that
such a query made no sense for ironic, as there would typically be a
single 'host' for all ironic nodes, and that the query was returning
hundreds of instances, none of which were needed.

Our initial solution [1] was to simply disable instance queries in the
IronicHostManager, as they were never needed, and were painful to
execute. But subsequent discussion on IRC brought up some potential
(although not very likely) use cases where this might not be true. One
example was if there were two computes each talking to one of two
ironic installations, one might use the SameHostFilter to ensure that
a new ironic instance was placed in the same ironic environment as
another instance. While this seemed possible, the idea of querying
hundreds or thousands of instances to see if the target was in that
group seemed like overkill. I suggested that if this were ever
something that someone needed, creating a new filter would be a better
way forward than trying to retrofit the virt design onto ironic.

So we're looking for input on the wisdom of either approach, or ideas
for a different approach. If you have experience with real-world
ironic deployments, please share your insights.

[1] https://review.openstack.org/#/c/206736/

- -- 

- -- Ed Leafe
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
Comment: GPGTools - https://gpgtools.org
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQIcBAEBCgAGBQJVu6MvAAoJEKMgtcocwZqLnusP/1D0xrT86mF+FUM/75gVGMlr
xLD5DPRDBvLrrVIG7AqXAMAHx2pnVKuY5K5h6WLQkTItpvNTgv8MEDM8+Le+8EwA
42NCieQA0hzHULNzXwXRjLVBQ1BBUUtVuvTLslp7bUjsr9ftYfABaEeHA9uOPQmR
Z1oadQAwDoUPF2LyVLCWuw2Fo27ewUKcHBeouLlCeVtE/k9FcLByf9q67Ffru7sZ
TG9gI2UlWyUXSuijWJhzZPP1degEDC6+h774gSGdgsZVXk1+LGWfujg7iXcMZUr5
ZOWz3V8AjP3cWdTf38Hb2sjJEtskC8tCEDFfRiIZQCR3rSeJEfVTq0sglQWYuPSC
x6PqVp1pzED/o6VDtluseoLBbKOjmnR6LL7X163W9L56LXntwXaCiwq8rrijt1/c
89KYkVVbltXJC71CR6RSB+7iM9T8CmaN7Usg9sTKv/yGFQw2D8eZJZ/iCIATIU03
ThRpyPFFNPdoFctwoIFlN4JDrjPq/kxd34yiK/50MqXbbiURpLbkMJloqGWBuOtP
I9SAgK8tjAFr3dTJuZvBwzg/WOX4TBhwF91aoAizKnpyDU6Pw1FCTsLWEaAacsrU
ko4V/Ntf7ATr6QzF/v2a7ZV7iqIFX+tKkK/jGu/kI8HxIDB+T2UXuVa+aERLPSyg
wdg6BpK6ZS2GFd8Sj6bW
=juot
-----END PGP SIGNATURE-----



More information about the OpenStack-dev mailing list