From c696943da3d90d45e6ab1d29e5250f95e26b3367 Mon Sep 17 00:00:00 2001 From: SataQiu <1527062125@qq.com> Date: Mon, 10 May 2021 12:55:28 +0800 Subject: [PATCH] improve version compatibility of yurtctl Signed-off-by: SataQiu <1527062125@qq.com> --- pkg/yurtctl/cmd/convert/convert.go | 26 ++++++++++++++++---------- pkg/yurtctl/cmd/convert/edgenode.go | 24 +++++++++++++++--------- pkg/yurtctl/constants/constants.go | 2 +- 3 files changed, 32 insertions(+), 20 deletions(-) diff --git a/pkg/yurtctl/cmd/convert/convert.go b/pkg/yurtctl/cmd/convert/convert.go index b2b5d073a5c..6803418c404 100644 --- a/pkg/yurtctl/cmd/convert/convert.go +++ b/pkg/yurtctl/cmd/convert/convert.go @@ -349,16 +349,22 @@ func (co *ConvertOptions) RunConvert() (err error) { if err != nil { return err } - if err = kubeutil.RunServantJobs(co.clientSet, map[string]string{ - "provider": string(co.Provider), - "action": "convert", - "yurtctl_servant_image": co.YurctlServantImage, - "yurthub_image": co.YurhubImage, - "yurthub_healthcheck_timeout": co.YurthubHealthCheckTimeout.String(), - "joinToken": joinToken, - "pod_manifest_path": co.PodMainfestPath, - "kubeadm_conf_path": co.KubeadmConfPath, - }, edgeNodeNames, true); err != nil { + + ctx := map[string]string{ + "provider": string(co.Provider), + "action": "convert", + "yurtctl_servant_image": co.YurctlServantImage, + "yurthub_image": co.YurhubImage, + "joinToken": joinToken, + "pod_manifest_path": co.PodMainfestPath, + "kubeadm_conf_path": co.KubeadmConfPath, + } + + if co.YurthubHealthCheckTimeout != defaultYurthubHealthCheckTimeout { + ctx["yurthub_healthcheck_timeout"] = co.YurthubHealthCheckTimeout.String() + } + + if err = kubeutil.RunServantJobs(co.clientSet, ctx, edgeNodeNames, true); err != nil { klog.Errorf("fail to run ServantJobs: %s", err) return } diff --git a/pkg/yurtctl/cmd/convert/edgenode.go b/pkg/yurtctl/cmd/convert/edgenode.go index 2100086702d..845b1f8bd94 100644 --- a/pkg/yurtctl/cmd/convert/edgenode.go +++ b/pkg/yurtctl/cmd/convert/edgenode.go @@ -223,15 +223,21 @@ func (c *ConvertEdgeNodeOptions) RunConvertEdgeNode() (err error) { if err != nil { return err } - if err = kubeutil.RunServantJobs(c.clientSet, map[string]string{ - "action": "convert", - "yurtctl_servant_image": c.YurctlServantImage, - "yurthub_image": c.YurthubImage, - "yurthub_healthcheck_timeout": c.YurthubHealthCheckTimeout.String(), - "joinToken": joinToken, - "pod_manifest_path": c.PodMainfestPath, - "kubeadm_conf_path": c.KubeadmConfPath, - }, c.EdgeNodes, true); err != nil { + + ctx := map[string]string{ + "action": "convert", + "yurtctl_servant_image": c.YurctlServantImage, + "yurthub_image": c.YurthubImage, + "joinToken": joinToken, + "pod_manifest_path": c.PodMainfestPath, + "kubeadm_conf_path": c.KubeadmConfPath, + } + + if c.YurthubHealthCheckTimeout != defaultYurthubHealthCheckTimeout { + ctx["yurthub_healthcheck_timeout"] = c.YurthubHealthCheckTimeout.String() + } + + if err = kubeutil.RunServantJobs(c.clientSet, ctx, c.EdgeNodes, true); err != nil { klog.Errorf("fail to run ServantJobs: %s", err) return err } diff --git a/pkg/yurtctl/constants/constants.go b/pkg/yurtctl/constants/constants.go index 07f90ce8c39..ba429076250 100644 --- a/pkg/yurtctl/constants/constants.go +++ b/pkg/yurtctl/constants/constants.go @@ -187,7 +187,7 @@ spec: - /bin/sh - -c args: - - "cp /usr/local/bin/yurtctl /tmp && nsenter -t 1 -m -u -n -i -- /var/tmp/yurtctl convert edgenode --yurthub-image {{.yurthub_image}} --yurthub-healthcheck-timeout {{.yurthub_healthcheck_timeout}} --join-token {{.joinToken}} && rm /tmp/yurtctl" + - "cp /usr/local/bin/yurtctl /tmp && nsenter -t 1 -m -u -n -i -- /var/tmp/yurtctl convert edgenode --yurthub-image {{.yurthub_image}} {{if .yurthub_healthcheck_timeout}}--yurthub-healthcheck-timeout {{.yurthub_healthcheck_timeout}} {{end}}--join-token {{.joinToken}} && rm /tmp/yurtctl" securityContext: privileged: true volumeMounts: