-
Notifications
You must be signed in to change notification settings - Fork 53
Description
Current Behaviour
When some of the nodes become unreachable, there can be many reasons for that, it is necessary for claudie to be able to remove them safely from the cluster.
Currently on unreachable nodes for loadbalancer claudie only allows to delete the whole nodepool or the whole loadbalancer cluster, not individual nodes.
see:
| func tryReachLbNodes(logger zerolog.Logger, lbs map[string]map[string][]string, state *spec.ClusterState) (events []*spec.TaskEvent, apply bool) { |
Expected Behaviour
Claudie should be able to delete individual nodes, even from loadbalancer clusters, when they're unreachable.
As for how this should be handled, if there are any unreachable nodes and in the desired state the nodepool count is less than in the current state it should prefer to delete the unreachable node from the nodepoool of the loadbalancer, if this is not the case then it should just default to deleting the node as usuall.
Steps To Reproduce
- Spawn infrastructure with loadbalancer using claudie
- Make one of the nodes in the loadbalancer unreachable.
- See that claudie forces you to either delete the whole loadbalancer or the whole nodepool
If this is the Api server loadbalancer than this will result in a block from claudie as it cannot move forward when the Api server is unreachable.