From a53017ecc4be49eb7fee485b0ea01c0848f2d028 Mon Sep 17 00:00:00 2001 From: Markus Rudy Date: Fri, 8 Dec 2023 18:22:23 +0100 Subject: [PATCH] upgrade-agent: set explicit k8s version `kubeadm upgrade plan` takes an optional positional argument for the target Kubernetes version [1], which is documented as > To skip the internet check, pass in the optional [version] parameter In light of RFC 015, we should not do an "internet check" for latest versions, but stick to the version we're actually targeting with the upgrade. Thus, we explicitly pass the version as an argument. [1]: https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm-upgrade/#cmd-upgrade-plan --- upgrade-agent/internal/server/server.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/upgrade-agent/internal/server/server.go b/upgrade-agent/internal/server/server.go index d0a2ecced..f85c18bed 100644 --- a/upgrade-agent/internal/server/server.go +++ b/upgrade-agent/internal/server/server.go @@ -110,9 +110,9 @@ func (s *Server) ExecuteUpdate(ctx context.Context, updateRequest *upgradeproto. return nil, status.Errorf(codes.Internal, "unable to install the kubeadm binary: %s", err) } - upgradeCmd := exec.CommandContext(ctx, "kubeadm", "upgrade", "plan") + upgradeCmd := exec.CommandContext(ctx, "kubeadm", "upgrade", "plan", updateRequest.WantedKubernetesVersion) if out, err := upgradeCmd.CombinedOutput(); err != nil { - return nil, status.Errorf(codes.Internal, "unable to execute kubeadm upgrade plan: %s: %s", err, string(out)) + return nil, status.Errorf(codes.Internal, "unable to execute kubeadm upgrade plan %s: %s: %s", updateRequest.WantedKubernetesVersion, err, string(out)) } applyCmd := exec.CommandContext(ctx, "kubeadm", "upgrade", "apply", "--yes", updateRequest.WantedKubernetesVersion)