Skip to content

Commit 918be86

Browse files
fao89slagle
authored andcommitted
Requeue when TLS secret isn't found
closes OSPRH-7090 and partially OSPRH-9089 Jira: OSPRH-9089 Signed-off-by: Fabricio Aguiar <[email protected]> (cherry picked from commit d1c32e5)
1 parent e526dc2 commit 918be86

File tree

2 files changed

+12
-8
lines changed

2 files changed

+12
-8
lines changed

modules/certmanager/certificate.go

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ func (c *Certificate) CreateOrPatch(
103103
ctx context.Context,
104104
h *helper.Helper,
105105
owner client.Object,
106-
) (ctrl.Result, error) {
106+
) (ctrl.Result, controllerutil.OperationResult, error) {
107107
var err error
108108
cert := &certmgrv1.Certificate{
109109
ObjectMeta: metav1.ObjectMeta{
@@ -131,15 +131,15 @@ func (c *Certificate) CreateOrPatch(
131131
if err != nil {
132132
if k8s_errors.IsNotFound(err) {
133133
h.GetLogger().Info(fmt.Sprintf("Certificate %s not found, reconcile in %s", cert.Name, c.timeout))
134-
return ctrl.Result{RequeueAfter: c.timeout}, nil
134+
return ctrl.Result{RequeueAfter: c.timeout}, op, nil
135135
}
136-
return ctrl.Result{}, err
136+
return ctrl.Result{}, op, err
137137
}
138138
if op != controllerutil.OperationResultNone {
139139
h.GetLogger().Info(fmt.Sprintf("Route %s - %s", cert.Name, op))
140140
}
141141

142-
return ctrl.Result{}, nil
142+
return ctrl.Result{}, op, nil
143143
}
144144

145145
// Delete - delete a certificate.
@@ -156,7 +156,7 @@ func (c *Certificate) Delete(
156156
return nil
157157
}
158158

159-
// EnsureCert - creates a certificate, ensures the sercret has the required key/cert and return the secret
159+
// EnsureCert - creates a certificate, ensures the secret has the required key/cert and return the secret
160160
func EnsureCert(
161161
ctx context.Context,
162162
helper *helper.Helper,
@@ -233,7 +233,7 @@ func EnsureCert(
233233
)
234234

235235
cert := NewCertificate(certReq, 5)
236-
ctrlResult, err := cert.CreateOrPatch(ctx, helper, owner)
236+
ctrlResult, op, err := cert.CreateOrPatch(ctx, helper, owner)
237237
if err != nil {
238238
return nil, ctrlResult, err
239239
} else if (ctrlResult != ctrl.Result{}) {
@@ -243,6 +243,10 @@ func EnsureCert(
243243
// get cert secret
244244
certSecret, _, err := secret.GetSecret(ctx, helper, certSecretName, namespace)
245245
if err != nil {
246+
if k8s_errors.IsNotFound(err) && op == controllerutil.OperationResultCreated {
247+
helper.GetLogger().Info(fmt.Sprintf("Secret %s not found, reconcile in %s", certSecretName, cert.timeout))
248+
return nil, ctrl.Result{RequeueAfter: cert.timeout}, nil
249+
}
246250
return nil, ctrl.Result{}, err
247251
}
248252

modules/certmanager/test/functional/certmanager_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ var _ = Describe("certmanager module", func() {
158158
timeout,
159159
)
160160

161-
_, err := c.CreateOrPatch(ctx, h, nil)
161+
_, _, err := c.CreateOrPatch(ctx, h, nil)
162162
Expect(err).ShouldNot(HaveOccurred())
163163
cert := th.GetCert(names.CertName)
164164
Expect(cert.Spec.CommonName).To(Equal("keystone-public-openstack.apps-crc.testing"))
@@ -188,7 +188,7 @@ var _ = Describe("certmanager module", func() {
188188
timeout,
189189
)
190190

191-
_, err := c.CreateOrPatch(ctx, h, nil)
191+
_, _, err := c.CreateOrPatch(ctx, h, nil)
192192
Expect(err).ShouldNot(HaveOccurred())
193193
cert := th.GetCert(names.CertName)
194194
Expect(cert).NotTo(BeNil())

0 commit comments

Comments
 (0)