From ea6e5e53de03b791c2d30781e29ba9a0c5e0cbf6 Mon Sep 17 00:00:00 2001 From: Jordan Liggitt Date: Tue, 2 Jun 2020 13:53:26 -0400 Subject: [PATCH] Make kubectl tolerate other versions of the CSR API --- .../k8s.io/kubectl/pkg/cmd/certificates/certificates.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/staging/src/k8s.io/kubectl/pkg/cmd/certificates/certificates.go b/staging/src/k8s.io/kubectl/pkg/cmd/certificates/certificates.go index 9c652051dc3..399790c6ff5 100644 --- a/staging/src/k8s.io/kubectl/pkg/cmd/certificates/certificates.go +++ b/staging/src/k8s.io/kubectl/pkg/cmd/certificates/certificates.go @@ -222,7 +222,7 @@ func (o *CertificateOptions) modifyCertificateCondition(builder *resource.Builde WithScheme(scheme.Scheme, scheme.Scheme.PrioritizedVersionsAllGroups()...). ContinueOnError(). FilenameParam(false, &o.FilenameOptions). - ResourceNames("certificatesigningrequest", o.csrNames...). + ResourceNames("certificatesigningrequests.v1beta1.certificates.k8s.io", o.csrNames...). RequireObject(true). Flatten(). Latest(). @@ -232,7 +232,10 @@ func (o *CertificateOptions) modifyCertificateCondition(builder *resource.Builde return err } for i := 0; ; i++ { - csr := info.Object.(*certificatesv1beta1.CertificateSigningRequest) + csr, ok := info.Object.(*certificatesv1beta1.CertificateSigningRequest) + if !ok { + return fmt.Errorf("can only handle certificates.k8s.io/v1beta1 certificate signing requests") + } csr, hasCondition := modify(csr) if !hasCondition || force { _, err = clientSet.CertificateSigningRequests().UpdateApproval(context.TODO(), csr, metav1.UpdateOptions{})