When using soft-affinity to schedule instances on the same host, the weight is unexpectedly low if a server was previously scheduled to any server-group with more members on a host.
Steps to reproduce
==================
Do not restart nova-scheduler in the process or the bug doesn't appear.
* Create a server-group with soft-affinity (let's call it A)
* Create 6 servers in server-group A, one after the other so they end up on the same host.
* Create another server-group with soft-affinity (B)
* Create 1 server in server-group B
* Create 1 server in server-group B and look at the scheduler's weights assigned to the hosts by the ServerGroupSoftAffinityWeigher.
Expected result
===============
The weight assigned to the host by the ServerGroupSoftAffinityWeigher should be 1, as the maximum number of instances for server-group B is on that host (the one we created there before).
Actual result
=============
The weight assigned to the host by the ServerGroupSoftAffinityWeigher is 0.2, as the maximum number of instances ever encountered on a host is 5.
Environment
===========
We noticed this on a queens version of nova a year ago. Can't give the exact commit anymore, but the code still looks broken in current master.
Description
===========
When using soft-affinity to schedule instances on the same host, the weight is unexpectedly low if a server was previously scheduled to any server-group with more members on a host.
Steps to reproduce
==================
Do not restart nova-scheduler in the process or the bug doesn't appear.
* Create a server-group with soft-affinity (let's call it A) AffinityWeigher .
* Create 6 servers in server-group A, one after the other so they end up on the same host.
* Create another server-group with soft-affinity (B)
* Create 1 server in server-group B
* Create 1 server in server-group B and look at the scheduler's weights assigned to the hosts by the ServerGroupSoft
Expected result
===============
The weight assigned to the host by the ServerGroupSoft AffinityWeigher should be 1, as the maximum number of instances for server-group B is on that host (the one we created there before).
Actual result AffinityWeigher is 0.2, as the maximum number of instances ever encountered on a host is 5.
=============
The weight assigned to the host by the ServerGroupSoft
Environment
===========
We noticed this on a queens version of nova a year ago. Can't give the exact commit anymore, but the code still looks broken in current master.
I've opened a review-request for fixing this bug here: https:/ /review. opendev. org/#/c/ 713863/