Skip to content

Commit

Permalink
Add K8s version args to secondary control plane nodes in node upgrader (
Browse files Browse the repository at this point in the history
#9319)

From K8s 1.32 node upgrader scheduled in secondary control plane nodes
will need the K8s version to add some version specific flags.

Signed-off-by: Rahul Ganesh <[email protected]>
Co-authored-by: Rahul Ganesh <[email protected]>
  • Loading branch information
rahulbabu95 and Rahul Ganesh authored Feb 26, 2025
1 parent afc92e3 commit a573b75
Show file tree
Hide file tree
Showing 4 changed files with 6 additions and 4 deletions.
2 changes: 1 addition & 1 deletion controllers/nodeupgrade_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -184,7 +184,7 @@ func (r *NodeUpgradeReconciler) reconcile(ctx context.Context, log logr.Logger,
if nodeUpgrade.Spec.FirstNodeToBeUpgraded {
upgraderPod = upgrader.UpgradeFirstControlPlanePod(node.Name, upgraderImage, nodeUpgrade.Spec.KubernetesVersion, *nodeUpgrade.Spec.EtcdVersion)
} else {
upgraderPod = upgrader.UpgradeSecondaryControlPlanePod(node.Name, upgraderImage)
upgraderPod = upgrader.UpgradeSecondaryControlPlanePod(node.Name, upgraderImage, nodeUpgrade.Spec.KubernetesVersion)
}
} else {
upgraderPod = upgrader.UpgradeWorkerPod(node.Name, upgraderImage)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,8 @@ spec:
- node
- --type
- RestCP
- --k8sVersion
- v1.28.3-eks-1-28-9
command:
- nsenter
image: public.ecr.aws/eks-anywhere/node-upgrader:latest
Expand Down
4 changes: 2 additions & 2 deletions pkg/nodeupgrader/upgrader.go
Original file line number Diff line number Diff line change
Expand Up @@ -45,9 +45,9 @@ func UpgradeFirstControlPlanePod(nodeName, image, kubernetesVersion, etcdVersion
}

// UpgradeSecondaryControlPlanePod returns an upgrader pod that can be deployed on the remaining control plane nodes.
func UpgradeSecondaryControlPlanePod(nodeName, image string) *corev1.Pod {
func UpgradeSecondaryControlPlanePod(nodeName, image, kubernetesVersion string) *corev1.Pod {
p := upgraderPod(nodeName, image, true)
p.Spec.InitContainers = containersForUpgrade(true, image, nodeName, "upgrade", "node", "--type", "RestCP")
p.Spec.InitContainers = containersForUpgrade(true, image, nodeName, "upgrade", "node", "--type", "RestCP", "--k8sVersion", kubernetesVersion)
return p
}

Expand Down
2 changes: 1 addition & 1 deletion pkg/nodeupgrader/upgrader_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ func TestUpgradeFirstControlPlanePod(t *testing.T) {

func TestUpgradeSecondaryControlPlanePod(t *testing.T) {
g := NewWithT(t)
pod := nodeupgrader.UpgradeSecondaryControlPlanePod(nodeName, upgraderImage)
pod := nodeupgrader.UpgradeSecondaryControlPlanePod(nodeName, upgraderImage, kubernetesVersion)
g.Expect(pod).ToNot(BeNil())

data, err := yaml.Marshal(pod)
Expand Down

0 comments on commit a573b75

Please sign in to comment.