[pve-devel] [PATCH ha-manager 09/15] manager: apply colocation rules when selecting service nodes

Fiona Ebner f.ebner at proxmox.com
Mon Apr 28 16:33:57 CEST 2025


Am 28.04.25 um 14:26 schrieb Fiona Ebner:
> Am 25.03.25 um 16:12 schrieb Daniel Kral:
>> +
>> +	    delete $allowed_nodes->{$node};
>> +	}
>> +    } elsif (scalar keys %$possible_nodes) {
>> +	# limit to the possible nodes the service should be on, if there are any.
>> +	for my $node (keys %$allowed_nodes) {
>> +	    next if exists($possible_nodes->{$node});
>> +
>> +	    delete $allowed_nodes->{$node};
> 
> This seems wrong. Non-strict rules should not limit the allowed nodes.
> See below for more on this.

Ah, if there are no possible nodes at all, then the allowed nodes are
not modified at all. This is what makes the loose tests work. This
"secret" here really needs to be properly documented ;)

It still would be nice to think about which kind of interaction with
scoring we want exactly. Currently it's the number 1 I mentioned, i.e.
"prefer loose colocation over scoring no matter what". Can be fine to
start out too, just means we'd need to introduce an option/tunable if we
ever want to change it.




More information about the pve-devel mailing list