Instance affinity filters do not work in a heterogeneous cloud with Ironic computes
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
Mirantis OpenStack | Status tracked in 10.0.x | |||||
10.0.x |
Fix Committed
|
Medium
|
Roman Podoliaka | |||
9.x |
Fix Released
|
High
|
Roman Podoliaka |
Bug Description
Upstream bug: https:/
Description
===========
In a heterogeneous cloud with both libvirt and ironic compute nodes instance affinity filters like DifferentHostFilter or SameHostFilter do not filter hosts out when scheduling a subsequent instance.
Steps to reproduce
==================
Make sure you have at least two libvirt compute nodes and one ironic node.
Make sure DifferentHostFilter and SameHostFilter are configured as nova-scheduler filters in nova.conf, filters scheduler is used.
1. Boot a libvirt instance A.
2. Check the host name of the compute node instance A is running on (nova show from an admin user).
3. Boot a libvirt instance B passing a different_
4. Check the host name of the compute node instance B is running on (nova show from an admin user).
Expected result
===============
Instances A and B are running on two different compute nodes.
Actual result
=============
Instances A and B are running on the same compute node.
nova-scheduler logs shows that DifferentHost filter was run, but did not filter out one of the hosts: Filter DifferentHostFilter returned 2 host(s) get_filtered_
Environment
===========
MOS 9.1
2 libvirt compute nodes
1 ironic compute node
FiltersScheduler is used
DifferentHostFilter and SameHostFilter filters are enabled in nova.conf
Root cause analysis
===================
Debugging shown that IronicHostManager is configured to be used by nova-scheduler instead of the default host manager, when Ironic compute are deployed in the same cloud together with libvirt compute nodes.
IronicHostManager overrides the _get_instance_
This should really be Medium, but this currently breaks a few Tempest tests which we run regularly and treat failures as High issues.