Questions about the dynamic CRS

@dakralex are there plans or ideas about some additions for usecases like:

* Company has a multi-room setup with for example 2 nodes in room1 and 2 nodes in room2 and a quorum node in room 3
* Theres a ha node affinity rule for room1 (node restrict to node1 and node2) for vms that should run in room 1
* Theres a ha node affinity rule for room2 (node restrict to node3 and node4) for vms that should run in room 2
* Ressource affinity rule for splitting application-clusters like (active active db-cluster) to run on different hosts (keep separate)

This is already possible. But what customers have asked a few times is can it be set so vms should stay in their specific rooms BUT if a room fails, they should automatically be allowed to run on the other room as well -> like automatically disabling the node restriction.

Like situation aware cluster ressource schedules? or maybe some kind of feature to modify CRS-rules on specific events? so the rules stay the same but can be automatically adjusted on specific szenarios?

Currently im telling the customers they can always manually change rules in that case, but it lacks the automatism.

Whats your opionion on that?
 
Hi, sorry for the late reply!

This is already possible. But what customers have asked a few times is can it be set so vms should stay in their specific rooms BUT if a room fails, they should automatically be allowed to run on the other room as well -> like automatically disabling the node restriction.
At least for two rooms this is already possible with non-strict node affinity rules as these will fallback to the other available cluster nodes if none of the specified nodes are available anymore. However, an HA resource cannot be specified in a (positive/negative) resource affinity rule and a node affinity rule with multiple node priority classes (e.g. for more than two rooms) at the same time at the moment.

The main reason why this is not allowed at the moment is because the HA stack does check whether these affinity rules can cause any inconsistencies and whether these affinity rules can be applied deterministically at all times. This would be rather computationally expensive to do with multiple node priority classes as this would need cross-checking with all permutations of nodes being online or offline.

However it would be interesting to investigate in being able to have either an event-based system, which allows to change the behavior of the affinity rules in a controlled way, or decompose the current node affinity rules in a better way to be able to compute the feasibility of multi-priority class node affinity rules in conjunction with resource affinity rules more efficiently to be able to accommodate such scenarios.

Do you have more insights to more concrete examples about these use cases?
 
  • Like
Reactions: jsterr