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.
__________________________________________________________________________ OpenStack Development Mailing List (not for usage questions) Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev