Add support for nodeVolumeDetachTimeout and nodeDeletionTimeout (#57)

This commit is contained in:
Matt Pryor 2023-08-09 16:42:16 +01:00 committed by GitHub
parent 413957e36c
commit bb7d903e1a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 17 additions and 4 deletions

View File

@ -87,9 +87,9 @@ spec:
apiVersion: infrastructure.cluster.x-k8s.io/v1alpha6 apiVersion: infrastructure.cluster.x-k8s.io/v1alpha6
name: {{ include "openstack-cluster.controlplane.mt.name" . }} name: {{ include "openstack-cluster.controlplane.mt.name" . }}
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
{{- with .Values.controlPlane.nodeDrainTimeout }} nodeDrainTimeout: {{ .Values.controlPlane.nodeDrainTimeout }}
nodeDrainTimeout: {{ . }} nodeVolumeDetachTimeout: {{ .Values.controlPlane.nodeVolumeDetachTimeout }}
{{- end }} nodeDeletionTimeout: {{ .Values.controlPlane.nodeDeletionTimeout }}
kubeadmConfigSpec: {{ kubeadmConfigSpec: {{
include include
"openstack-cluster.controlplane.kubeadmConfigSpec" "openstack-cluster.controlplane.kubeadmConfigSpec"

View File

@ -61,4 +61,6 @@ spec:
kind: OpenStackMachineTemplate kind: OpenStackMachineTemplate
name: {{ include "openstack-cluster.nodegroup.mt.name" (list $ $nodeGroup) }} name: {{ include "openstack-cluster.nodegroup.mt.name" (list $ $nodeGroup) }}
nodeDrainTimeout: {{ $nodeGroup.nodeDrainTimeout }} nodeDrainTimeout: {{ $nodeGroup.nodeDrainTimeout }}
nodeVolumeDetachTimeout: {{ $nodeGroup.nodeVolumeDetachTimeout }}
nodeDeletionTimeout: {{ $nodeGroup.nodeDeletionTimeout }}
{{- end }} {{- end }}

View File

@ -152,8 +152,12 @@ controlPlane:
# availabilityZone: # availabilityZone:
# The time to wait for a node to finish draining before it can be removed # The time to wait for a node to finish draining before it can be removed
nodeDrainTimeout: 5m0s nodeDrainTimeout: 5m0s
# The time to wait for a node to detach all volumes before it can be removed
nodeVolumeDetachTimeout: 5m0s
# The time to wait for the node resource to be deleted in Kubernetes when a
# machine is marked for deletion
nodeDeletionTimeout: 5m0s
# The rollout strategy to use for the control plane nodes # The rollout strategy to use for the control plane nodes
# By default, the strategy allows the control plane to begin provisioning new nodes # By default, the strategy allows the control plane to begin provisioning new nodes
# without first tearing down old ones # without first tearing down old ones
rolloutStrategy: rolloutStrategy:
@ -203,6 +207,8 @@ controlPlane:
spec: spec:
# By default, unhealthy control plane nodes are always remediated # By default, unhealthy control plane nodes are always remediated
maxUnhealthy: 100% maxUnhealthy: 100%
# If a node takes longer than 10 mins to startup, remediate it
nodeStartupTimeout: 10m0s
# By default, consider a control plane node that has not been Ready # By default, consider a control plane node that has not been Ready
# for more than 5 mins unhealthy # for more than 5 mins unhealthy
unhealthyConditions: unhealthyConditions:
@ -241,6 +247,11 @@ nodeGroupDefaults:
# availabilityZone: # availabilityZone:
# The time to wait for a node to finish draining before it can be removed # The time to wait for a node to finish draining before it can be removed
nodeDrainTimeout: 5m0s nodeDrainTimeout: 5m0s
# The time to wait for a node to detach all volumes before it can be removed
nodeVolumeDetachTimeout: 5m0s
# The time to wait for the node resource to be deleted in Kubernetes when a
# machine is marked for deletion
nodeDeletionTimeout: 5m0s
# The rollout strategy to use for the node group # The rollout strategy to use for the node group
# By default, this is set to do a rolling update within the existing resource envelope # By default, this is set to do a rolling update within the existing resource envelope
# of the node group, even if that means the node group temporarily has zero nodes # of the node group, even if that means the node group temporarily has zero nodes