@@ -29,12 +29,13 @@ import (
2929 "github.com/openstack-k8s-operators/lib-common/modules/common/secret"
3030 "github.com/openstack-k8s-operators/lib-common/modules/common/service"
3131 "github.com/openstack-k8s-operators/lib-common/modules/common/util"
32+ appsv1 "k8s.io/api/apps/v1"
3233 corev1 "k8s.io/api/core/v1"
34+ k8s_errors "k8s.io/apimachinery/pkg/api/errors"
3335 "k8s.io/apimachinery/pkg/types"
3436 "k8s.io/utils/ptr"
3537 ctrl "sigs.k8s.io/controller-runtime"
3638 "sigs.k8s.io/controller-runtime/pkg/client"
37- "sigs.k8s.io/controller-runtime/pkg/reconcile"
3839)
3940
4041const (
@@ -167,7 +168,7 @@ func (a *APIService) ValidateCertSecrets(
167168 ctx context.Context ,
168169 h * helper.Helper ,
169170 namespace string ,
170- ) (string , ctrl. Result , error ) {
171+ ) (string , error ) {
171172 var svc GenericService
172173 certHashes := map [string ]env.Setter {}
173174 for _ , endpt := range []service.Endpoint {service .EndpointInternal , service .EndpointPublic } {
@@ -187,20 +188,18 @@ func (a *APIService) ValidateCertSecrets(
187188 svc = a .Internal
188189 }
189190
190- hash , ctrlResult , err := svc .ValidateCertSecret (ctx , h , namespace )
191+ hash , err := svc .ValidateCertSecret (ctx , h , namespace )
191192 if err != nil {
192- return "" , ctrlResult , err
193- } else if (ctrlResult != ctrl.Result {}) {
194- return "" , ctrlResult , nil
193+ return "" , err
195194 }
196195 certHashes ["cert-" + endpt .String ()] = env .SetValue (hash )
197196 }
198197
199198 certsHash , err := util .HashOfInputHashes (certHashes )
200199 if err != nil {
201- return "" , ctrl. Result {}, err
200+ return "" , err
202201 }
203- return certsHash , ctrl. Result {}, nil
202+ return certsHash , nil
204203}
205204
206205// ToService - convert tls.APIService to tls.Service
@@ -225,51 +224,51 @@ func (s *GenericService) ValidateCertSecret(
225224 ctx context.Context ,
226225 h * helper.Helper ,
227226 namespace string ,
228- ) (string , ctrl. Result , error ) {
227+ ) (string , error ) {
229228 hash := ""
230229
231230 endptTLSCfg , err := s .ToService ()
232231 if err != nil {
233- return "" , ctrl. Result {}, err
232+ return "" , err
234233 }
235234
236235 if endptTLSCfg .SecretName != "" {
237236 // validate the cert secret has the expected keys
238- var ctrlResult reconcile.Result
239- hash , ctrlResult , err = endptTLSCfg .ValidateCertSecret (ctx , h , namespace )
237+ hash , err = endptTLSCfg .ValidateCertSecret (ctx , h , namespace )
240238 if err != nil {
241- return "" , ctrlResult , err
242- } else if (ctrlResult != ctrl.Result {}) {
243- return "" , ctrlResult , nil
239+ return "" , err
244240 }
245241 }
246242
247- return hash , ctrl. Result {}, nil
243+ return hash , nil
248244}
249245
250246// ValidateCACertSecret - validates the content of the cert secret to make sure "tls-ca-bundle.pem" key exists
251247func ValidateCACertSecret (
252248 ctx context.Context ,
253249 c client.Client ,
254250 caSecret types.NamespacedName ,
255- ) (string , ctrl. Result , error ) {
251+ ) (string , error ) {
256252 hash , ctrlResult , err := secret .VerifySecret (
257253 ctx ,
258254 caSecret ,
259255 []string {CABundleKey },
260256 c ,
261257 5 * time .Second )
262258 if err != nil {
263- return "" , ctrlResult , err
259+ return "" , err
264260 } else if (ctrlResult != ctrl.Result {}) {
265- return "" , ctrlResult , nil
261+ return "" , k8s_errors .NewNotFound (
262+ appsv1 .Resource ("Secret" ),
263+ fmt .Sprintf ("%s not found in namespace %s" , caSecret .Name , caSecret .Namespace ),
264+ )
266265 }
267266
268- return hash , ctrl. Result {}, nil
267+ return hash , nil
269268}
270269
271270// ValidateCertSecret - validates the content of the cert secret to make sure "tls.key", "tls.crt" and optional "ca.crt" keys exist
272- func (s * Service ) ValidateCertSecret (ctx context.Context , h * helper.Helper , namespace string ) (string , ctrl. Result , error ) {
271+ func (s * Service ) ValidateCertSecret (ctx context.Context , h * helper.Helper , namespace string ) (string , error ) {
273272 // define keys to expect in cert secret
274273 keys := []string {PrivateKey , CertKey }
275274 if s .CaMount != nil {
@@ -283,12 +282,15 @@ func (s *Service) ValidateCertSecret(ctx context.Context, h *helper.Helper, name
283282 h .GetClient (),
284283 5 * time .Second )
285284 if err != nil {
286- return "" , ctrlResult , err
285+ return "" , err
287286 } else if (ctrlResult != ctrl.Result {}) {
288- return "" , ctrlResult , nil
287+ return "" , k8s_errors .NewNotFound (
288+ corev1 .Resource (corev1 .ResourceSecrets .String ()),
289+ fmt .Sprintf ("%s not found in namespace %s" , s .SecretName , namespace ),
290+ )
289291 }
290292
291- return hash , ctrl. Result {}, nil
293+ return hash , nil
292294}
293295
294296// ValidateEndpointCerts - validates all services from an endpointCfgs and
@@ -298,16 +300,14 @@ func ValidateEndpointCerts(
298300 h * helper.Helper ,
299301 namespace string ,
300302 endpointCfgs map [service.Endpoint ]Service ,
301- ) (string , ctrl. Result , error ) {
303+ ) (string , error ) {
302304 certHashes := map [string ]env.Setter {}
303305 for endpt , endpointTLSCfg := range endpointCfgs {
304306 if endpointTLSCfg .SecretName != "" {
305307 // validate the cert secret has the expected keys
306- hash , ctrlResult , err := endpointTLSCfg .ValidateCertSecret (ctx , h , namespace )
308+ hash , err := endpointTLSCfg .ValidateCertSecret (ctx , h , namespace )
307309 if err != nil {
308- return "" , ctrlResult , err
309- } else if (ctrlResult != ctrl.Result {}) {
310- return "" , ctrlResult , nil
310+ return "" , err
311311 }
312312
313313 certHashes ["cert-" + endpt .String ()] = env .SetValue (hash )
@@ -316,9 +316,9 @@ func ValidateEndpointCerts(
316316
317317 certsHash , err := util .HashOfInputHashes (certHashes )
318318 if err != nil {
319- return "" , ctrl. Result {}, err
319+ return "" , err
320320 }
321- return certsHash , ctrl. Result {}, nil
321+ return certsHash , nil
322322}
323323
324324// getCertMountPath - return certificate mount path
0 commit comments