Comment 0 for bug 1870096

Revision history for this message
Johannes Kulik (jkulik) wrote :

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)
* 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.

I've opened a review-request for fixing this bug here: https://review.opendev.org/#/c/713863/