From b1a068b0fcfeac586df28a8b3d65db33dc3e1aa5 Mon Sep 17 00:00:00 2001 From: Maciej Szulik Date: Wed, 13 May 2020 12:59:49 +0200 Subject: [PATCH] Set appropriate owner references when creating a job from cronjob --- .../src/k8s.io/kubectl/pkg/cmd/create/create_job.go | 7 ++++++- .../kubectl/pkg/cmd/create/create_job_test.go | 13 ++++++++++--- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/staging/src/k8s.io/kubectl/pkg/cmd/create/create_job.go b/staging/src/k8s.io/kubectl/pkg/cmd/create/create_job.go index 000951bc3c3..d8796074f48 100644 --- a/staging/src/k8s.io/kubectl/pkg/cmd/create/create_job.go +++ b/staging/src/k8s.io/kubectl/pkg/cmd/create/create_job.go @@ -256,7 +256,12 @@ func (o *CreateJobOptions) createJobFromCronJob(cronJob *batchv1beta1.CronJob) * Annotations: annotations, Labels: cronJob.Spec.JobTemplate.Labels, OwnerReferences: []metav1.OwnerReference{ - *metav1.NewControllerRef(cronJob, cronJob.GroupVersionKind()), + { + APIVersion: batchv1beta1.SchemeGroupVersion.String(), + Kind: cronJob.Kind, + Name: cronJob.GetName(), + UID: cronJob.GetUID(), + }, }, }, Spec: cronJob.Spec.JobTemplate.Spec, diff --git a/staging/src/k8s.io/kubectl/pkg/cmd/create/create_job_test.go b/staging/src/k8s.io/kubectl/pkg/cmd/create/create_job_test.go index df2df9ddeb9..8dca106e1ec 100644 --- a/staging/src/k8s.io/kubectl/pkg/cmd/create/create_job_test.go +++ b/staging/src/k8s.io/kubectl/pkg/cmd/create/create_job_test.go @@ -162,9 +162,16 @@ func TestCreateJobFromCronJob(t *testing.T) { expected: &batchv1.Job{ TypeMeta: metav1.TypeMeta{APIVersion: batchv1.SchemeGroupVersion.String(), Kind: "Job"}, ObjectMeta: metav1.ObjectMeta{ - Name: jobName, - Annotations: map[string]string{"cronjob.kubernetes.io/instantiate": "manual"}, - OwnerReferences: []metav1.OwnerReference{*metav1.NewControllerRef(cronJob, cronJob.GroupVersionKind())}, + Name: jobName, + Annotations: map[string]string{"cronjob.kubernetes.io/instantiate": "manual"}, + OwnerReferences: []metav1.OwnerReference{ + { + APIVersion: batchv1beta1.SchemeGroupVersion.String(), + Kind: cronJob.Kind, + Name: cronJob.GetName(), + UID: cronJob.GetUID(), + }, + }, }, Spec: batchv1.JobSpec{ Template: corev1.PodTemplateSpec{