From 41c5bca3496b516ddf52618deb44a421b89a49f1 Mon Sep 17 00:00:00 2001 From: nobuhikosawai Date: Fri, 9 Jul 2021 00:50:54 +0900 Subject: [PATCH] kubectl: update set command description to include cronjob resource (#102503) * kubectl: update set command description to include cronjob resource * kubectl: update set command description to include statefulset resource * kubectl: update set env description to remove job from resources that can update container env * kubectl set tests: add cronjob resource and remove job resource * go fmt --- .../src/k8s.io/kubectl/pkg/cmd/set/set_env.go | 2 +- .../kubectl/pkg/cmd/set/set_env_test.go | 26 +++++++------ .../k8s.io/kubectl/pkg/cmd/set/set_image.go | 2 +- .../kubectl/pkg/cmd/set/set_image_test.go | 38 ++++++++++--------- 4 files changed, 38 insertions(+), 30 deletions(-) diff --git a/staging/src/k8s.io/kubectl/pkg/cmd/set/set_env.go b/staging/src/k8s.io/kubectl/pkg/cmd/set/set_env.go index 7986df4357e..597ca4fdc76 100644 --- a/staging/src/k8s.io/kubectl/pkg/cmd/set/set_env.go +++ b/staging/src/k8s.io/kubectl/pkg/cmd/set/set_env.go @@ -45,7 +45,7 @@ import ( var ( validEnvNameRegexp = regexp.MustCompile("[^a-zA-Z0-9_]") envResources = ` - pod (po), replicationcontroller (rc), deployment (deploy), daemonset (ds), job, replicaset (rs)` + pod (po), replicationcontroller (rc), deployment (deploy), daemonset (ds), statefulset (sts), cronjob (cj), replicaset (rs)` envLong = templates.LongDesc(i18n.T(` Update environment variables on a pod template. diff --git a/staging/src/k8s.io/kubectl/pkg/cmd/set/set_env_test.go b/staging/src/k8s.io/kubectl/pkg/cmd/set/set_env_test.go index 4a610d892a6..319196a4aa1 100644 --- a/staging/src/k8s.io/kubectl/pkg/cmd/set/set_env_test.go +++ b/staging/src/k8s.io/kubectl/pkg/cmd/set/set_env_test.go @@ -435,16 +435,20 @@ func TestSetEnvRemote(t *testing.T) { args: []string{"statefulset", "nginx", "env=prod"}, }, { - name: "test batchv1 Job", - object: &batchv1.Job{ + name: "set image batchv1 CronJob", + object: &batchv1.CronJob{ ObjectMeta: metav1.ObjectMeta{Name: "nginx"}, - Spec: batchv1.JobSpec{ - Template: corev1.PodTemplateSpec{ - Spec: corev1.PodSpec{ - Containers: []corev1.Container{ - { - Name: "nginx", - Image: "nginx", + Spec: batchv1.CronJobSpec{ + JobTemplate: batchv1.JobTemplateSpec{ + Spec: batchv1.JobSpec{ + Template: corev1.PodTemplateSpec{ + Spec: corev1.PodSpec{ + Containers: []corev1.Container{ + { + Name: "nginx", + Image: "nginx", + }, + }, }, }, }, @@ -452,8 +456,8 @@ func TestSetEnvRemote(t *testing.T) { }, }, groupVersion: batchv1.SchemeGroupVersion, - path: "/namespaces/test/jobs/nginx", - args: []string{"job", "nginx", "env=prod"}, + path: "/namespaces/test/cronjobs/nginx", + args: []string{"cronjob", "nginx", "env=prod"}, }, { name: "test corev1 replication controller", diff --git a/staging/src/k8s.io/kubectl/pkg/cmd/set/set_image.go b/staging/src/k8s.io/kubectl/pkg/cmd/set/set_image.go index 27a8da9ed15..aa114216381 100644 --- a/staging/src/k8s.io/kubectl/pkg/cmd/set/set_image.go +++ b/staging/src/k8s.io/kubectl/pkg/cmd/set/set_image.go @@ -66,7 +66,7 @@ type SetImageOptions struct { var ( imageResources = i18n.T(` - pod (po), replicationcontroller (rc), deployment (deploy), daemonset (ds), replicaset (rs)`) + pod (po), replicationcontroller (rc), deployment (deploy), daemonset (ds), statefulset (sts), cronjob (cj), replicaset (rs)`) imageLong = templates.LongDesc(i18n.T(` Update existing container image(s) of resources. diff --git a/staging/src/k8s.io/kubectl/pkg/cmd/set/set_image_test.go b/staging/src/k8s.io/kubectl/pkg/cmd/set/set_image_test.go index fd7eeefdc0d..6ebe623e7b1 100644 --- a/staging/src/k8s.io/kubectl/pkg/cmd/set/set_image_test.go +++ b/staging/src/k8s.io/kubectl/pkg/cmd/set/set_image_test.go @@ -559,22 +559,26 @@ func TestSetImageRemote(t *testing.T) { args: []string{"statefulset", "nginx", "*=thingy"}, }, { - name: "set image batchv1 Job", - object: &batchv1.Job{ + name: "set image batchv1 CronJob", + object: &batchv1.CronJob{ ObjectMeta: metav1.ObjectMeta{Name: "nginx"}, - Spec: batchv1.JobSpec{ - Template: corev1.PodTemplateSpec{ - Spec: corev1.PodSpec{ - Containers: []corev1.Container{ - { - Name: "nginx", - Image: "nginx", - }, - }, - InitContainers: []corev1.Container{ - { - Name: "busybox", - Image: "busybox", + Spec: batchv1.CronJobSpec{ + JobTemplate: batchv1.JobTemplateSpec{ + Spec: batchv1.JobSpec{ + Template: corev1.PodTemplateSpec{ + Spec: corev1.PodSpec{ + Containers: []corev1.Container{ + { + Name: "nginx", + Image: "nginx", + }, + }, + InitContainers: []corev1.Container{ + { + Name: "busybox", + Image: "busybox", + }, + }, }, }, }, @@ -582,8 +586,8 @@ func TestSetImageRemote(t *testing.T) { }, }, groupVersion: batchv1.SchemeGroupVersion, - path: "/namespaces/test/jobs/nginx", - args: []string{"job", "nginx", "*=thingy"}, + path: "/namespaces/test/cronjobs/nginx", + args: []string{"cronjob", "nginx", "*=thingy"}, }, { name: "set image corev1.ReplicationController",