<div dir="ltr"><div>Hello,</div><div><br></div><div>From my understanding, we have a race between the scheduling </div><div>process and host weight update.</div><div><br></div><div>I made a simple experiment. On the 50 fake host environment</div><div>it was asked to boot 40 VMs those should be placed 1 on each host.</div><div>The hosts are equal to each other in terms of inventory.</div><div><br></div><div>img=6fedf6a1-5a55-4149-b774-b0b4dccd2ed1</div><div>flavor=1</div><div>for i in {1..40}; do</div><div>nova boot --flavor $flavor --image $img --nic none vm-$i;</div><div>sleep 1;</div><div>done</div><div><br></div><div>The following distribution was gotten:</div><div><br></div><div>mysql> select resource_provider_id, count(*) from allocations where resource_class_id = 0 group by 1;</div><div><br></div><div><font face="monospace, monospace">+----------------------+----------+</font></div><div><font face="monospace, monospace">| resource_provider_id | count(*) |</font></div><div><font face="monospace, monospace">+----------------------+----------+</font></div><div><font face="monospace, monospace">|                    1 |        2 |</font></div><div><font face="monospace, monospace">|                   18 |        2 |</font></div><div><font face="monospace, monospace">|                   19 |        3 |</font></div><div><font face="monospace, monospace">|                   20 |        3 |</font></div><div><font face="monospace, monospace">|                   26 |        2 |</font></div><div><font face="monospace, monospace">|                   29 |        2 |</font></div><div><font face="monospace, monospace">|                   33 |        3 |</font></div><div><font face="monospace, monospace">|                   36 |        2 |</font></div><div><font face="monospace, monospace">|                   41 |        1 |</font></div><div><font face="monospace, monospace">|                   49 |        3 |</font></div><div><font face="monospace, monospace">|                   51 |        2 |</font></div><div><font face="monospace, monospace">|                   52 |        3 |</font></div><div><font face="monospace, monospace">|                   55 |        2 |</font></div><div><font face="monospace, monospace">|                   60 |        3 |</font></div><div><font face="monospace, monospace">|                   61 |        2 |</font></div><div><font face="monospace, monospace">|                   63 |        2 |</font></div><div><font face="monospace, monospace">|                   67 |        3 |</font></div><div><font face="monospace, monospace">+----------------------+----------+</font></div><div>17 rows in set (0.00 sec)</div><div><br></div><div>And the question is:</div><div>If we have an atomic resource allocation what is the reason </div><div>to use compute_nodes.* for weight calculation?</div><div><br></div><div>There is a custom log of behavior I described: <a href="http://ix.io/18cw">http://ix.io/18cw</a></div><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div>Thanks,</div><div><br></div><div>Andrey Volkov,</div><div>Software Engineer, <span style="font-size:12.8px">Mirantis, Inc.</span></div></div></div></div></div></div>
</div>