From 597a359c38e5bbd457db670e775d9e2dc176bab7 Mon Sep 17 00:00:00 2001 From: Maciej Szulik Date: Fri, 10 Mar 2017 12:07:50 +0100 Subject: [PATCH] Error out when cronjob generator not specified, but cronjobs are not available --- pkg/kubectl/cmd/BUILD | 1 + pkg/kubectl/cmd/run.go | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/pkg/kubectl/cmd/BUILD b/pkg/kubectl/cmd/BUILD index 23e36b23799..2223c6ef3d7 100644 --- a/pkg/kubectl/cmd/BUILD +++ b/pkg/kubectl/cmd/BUILD @@ -72,6 +72,7 @@ go_library( "//pkg/api/validation:go_default_library", "//pkg/apis/apps/v1beta1:go_default_library", "//pkg/apis/batch/v1:go_default_library", + "//pkg/apis/batch/v2alpha1:go_default_library", "//pkg/apis/certificates:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", "//pkg/apis/policy:go_default_library", diff --git a/pkg/kubectl/cmd/run.go b/pkg/kubectl/cmd/run.go index 33f5db611cb..4c7a7609c65 100644 --- a/pkg/kubectl/cmd/run.go +++ b/pkg/kubectl/cmd/run.go @@ -35,6 +35,7 @@ import ( "k8s.io/kubernetes/pkg/api" appsv1beta1 "k8s.io/kubernetes/pkg/apis/apps/v1beta1" batchv1 "k8s.io/kubernetes/pkg/apis/batch/v1" + batchv2alpha1 "k8s.io/kubernetes/pkg/apis/batch/v2alpha1" extensionsv1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" coreclient "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/core/internalversion" conditions "k8s.io/kubernetes/pkg/client/unversioned" @@ -241,6 +242,11 @@ func Run(f cmdutil.Factory, cmdIn io.Reader, cmdOut, cmdErr io.Writer, cmd *cobr generatorName = cmdutil.DeploymentV1Beta1GeneratorName } + if generatorName == cmdutil.CronJobV2Alpha1GeneratorName && + !contains(resourcesList, batchv2alpha1.SchemeGroupVersion.WithResource("cronjobs")) { + return fmt.Errorf("CronJob generator specified, but batch/v2alpha1.CronJobs are not available") + } + generators := f.Generators("run") generator, found := generators[generatorName] if !found {