From cbf8da319760057bfa9ca7477e3493c651bc5083 Mon Sep 17 00:00:00 2001 From: Haoxiang Zhou Date: Fri, 26 Jun 2020 09:42:32 +0100 Subject: [PATCH] Handle case where revision of cert not set yet Signed-off-by: Haoxiang Zhou --- cmd/ctl/pkg/status/certificate/certificate.go | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/cmd/ctl/pkg/status/certificate/certificate.go b/cmd/ctl/pkg/status/certificate/certificate.go index dde0d0105..21074473b 100644 --- a/cmd/ctl/pkg/status/certificate/certificate.go +++ b/cmd/ctl/pkg/status/certificate/certificate.go @@ -189,8 +189,15 @@ func formatTimeString(t *metav1.Time) string { func findMatchingCR(reqs *cmapi.CertificateRequestList, crt *cmapi.Certificate) (*cmapi.CertificateRequest, error) { possibleMatches := []*cmapi.CertificateRequest{} + + // CertificateRequest revisions begin from 1. If no revision is set on the + // status then assume no revision yet set. + nextRevision := 1 + if crt.Status.Revision != nil { + nextRevision = *crt.Status.Revision + 1 + } for _, req := range reqs.Items { - if predicate.CertificateRequestRevision(*crt.Status.Revision+1)(&req) && + if predicate.CertificateRequestRevision(nextRevision)(&req) && predicate.ResourceOwnedBy(crt)(&req) { possibleMatches = append(possibleMatches, &req) }