diff --git a/controllers/nodeupgrade_controller.go b/controllers/nodeupgrade_controller.go index 1d0bbe703fbc..4f2777985071 100644 --- a/controllers/nodeupgrade_controller.go +++ b/controllers/nodeupgrade_controller.go @@ -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) diff --git a/pkg/nodeupgrader/testdata/expected_rest_control_plane_upgrader_pod.yaml b/pkg/nodeupgrader/testdata/expected_rest_control_plane_upgrader_pod.yaml index 263cbbf5d99e..0841eddac9df 100755 --- a/pkg/nodeupgrader/testdata/expected_rest_control_plane_upgrader_pod.yaml +++ b/pkg/nodeupgrader/testdata/expected_rest_control_plane_upgrader_pod.yaml @@ -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 diff --git a/pkg/nodeupgrader/upgrader.go b/pkg/nodeupgrader/upgrader.go index f8c654bdeb18..538813604c3e 100644 --- a/pkg/nodeupgrader/upgrader.go +++ b/pkg/nodeupgrader/upgrader.go @@ -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 } diff --git a/pkg/nodeupgrader/upgrader_test.go b/pkg/nodeupgrader/upgrader_test.go index e35834d3d363..2f76a583f2e8 100644 --- a/pkg/nodeupgrader/upgrader_test.go +++ b/pkg/nodeupgrader/upgrader_test.go @@ -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)