[openstack-dev] [nova] volume affinity filter for nova scheduler

Alexey Ovchinnikov aovchinnikov at mirantis.com
Wed Jul 3 14:24:03 UTC 2013


Hi everyone,

for some time I have been working on an implementation of a filter that
would allow to force instances to hosts which contain specific volumes.
A blueprint can be found here:
https://blueprints.launchpad.net/nova/+spec/volume-affinity-filter
and an implementation here:
https://review.openstack.org/#/c/29343/

The filter works for LVM driver and now it picks either a host containing
specified volume
or nothing (thus effectively failing instance scheduling). Now it fails
primarily when it can't find the volume. It has been
pointed to me that sometimes it may be desirable not to fail instance
scheduling but to run it anyway. However this softer behaviour fits better
for weighter function. Thus I have registered a blueprint for the
weighter function:
https://blueprints.launchpad.net/nova/+spec/volume-affinity-weighter-function

I was thinking about both the filter and the weighter working together. The
former
could be used in cases when we strongly need storage space associated with
an
instance and need them placed on the same host. The latter could be used
when
storage space is nice to have and preferably on the same host
with an instance, but not so crucial as to have the instance running.

During reviewing a question appeared whether we need the filter and
wouldn't things be better
if we removed it and had only the weighter function instead. I am not yet
convinced
that the filter is useless and needs to be replaced with the weighter,
so I am asking for your opinion on this matter. Do you see usecases for the
filter,
or the weighter will answer all needs?

With kind regards,
Alexey.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20130703/440856a3/attachment.html>


More information about the OpenStack-dev mailing list