[openstack-dev] [nova][placement] Scheduler VM distribution

Andrey Volkov avolkov at mirantis.com
Thu Apr 19 14:27:57 UTC 2018


Hello,

>From my understanding, we have a race between the scheduling
process and host weight update.

I made a simple experiment. On the 50 fake host environment
it was asked to boot 40 VMs those should be placed 1 on each host.
The hosts are equal to each other in terms of inventory.

img=6fedf6a1-5a55-4149-b774-b0b4dccd2ed1
flavor=1
for i in {1..40}; do
nova boot --flavor $flavor --image $img --nic none vm-$i;
sleep 1;
done

The following distribution was gotten:

mysql> select resource_provider_id, count(*) from allocations where
resource_class_id = 0 group by 1;

+----------------------+----------+
| resource_provider_id | count(*) |
+----------------------+----------+
|                    1 |        2 |
|                   18 |        2 |
|                   19 |        3 |
|                   20 |        3 |
|                   26 |        2 |
|                   29 |        2 |
|                   33 |        3 |
|                   36 |        2 |
|                   41 |        1 |
|                   49 |        3 |
|                   51 |        2 |
|                   52 |        3 |
|                   55 |        2 |
|                   60 |        3 |
|                   61 |        2 |
|                   63 |        2 |
|                   67 |        3 |
+----------------------+----------+
17 rows in set (0.00 sec)

And the question is:
If we have an atomic resource allocation what is the reason
to use compute_nodes.* for weight calculation?

There is a custom log of behavior I described: http://ix.io/18cw

-- 
Thanks,

Andrey Volkov,
Software Engineer, Mirantis, Inc.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20180419/595bb4f1/attachment.html>


More information about the OpenStack-dev mailing list