21 lines
1.1 KiB
Diff
21 lines
1.1 KiB
Diff
--- a/nova/scheduler/filters/affinity_filter.py
|
|
+++ b/nova/scheduler/filters/affinity_filter.py
|
|
@@ -143,9 +143,9 @@ class _GroupAffinityFilter(filters.BaseHostFilter):
|
|
def host_passes(self, host_state, spec_obj):
|
|
# Only invoke the filter if 'affinity' is configured
|
|
- policies = (spec_obj.instance_group.policies
|
|
- if spec_obj.instance_group else [])
|
|
+ policies = set(spec_obj.instance_group.policies
|
|
+ if spec_obj.instance_group else [])
|
|
if self.policy_name not in policies:
|
|
return True
|
|
|
|
- group_hosts = (spec_obj.instance_group.hosts
|
|
- if spec_obj.instance_group else [])
|
|
+ group_hosts = set(spec_obj.instance_group.hosts
|
|
+ if spec_obj.instance_group else [])
|
|
LOG.debug("Group affinity: check if %(host)s in "
|
|
"%(configured)s", {'host': host_state.host,
|
|
'configured': group_hosts})
|
|
if group_hosts:
|
|
return host_state.host in group_hosts
|