Skip to content

Commit 20d6fe9

Browse files
Merge pull request #1050 from stuggi/update_validatecertsecrets
Update tls cert secret validation due VerifyCertSecrets() change
2 parents 94cec43 + 5fb1b0f commit 20d6fe9

File tree

6 files changed

+31
-34
lines changed

6 files changed

+31
-34
lines changed

apis/go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ require (
1616
github.com/openstack-k8s-operators/infra-operator/apis v0.4.1-0.20240813061654-72bf12d9b73e
1717
github.com/openstack-k8s-operators/ironic-operator/api v0.4.1-0.20240807084947-190400f63726
1818
github.com/openstack-k8s-operators/keystone-operator/api v0.4.1-0.20240812074544-7379da550fef
19-
github.com/openstack-k8s-operators/lib-common/modules/common v0.4.1-0.20240814075458-0ae9f7f9e059
19+
github.com/openstack-k8s-operators/lib-common/modules/common v0.4.1-0.20240905123813-174296c09ec6
2020
github.com/openstack-k8s-operators/lib-common/modules/storage v0.4.1-0.20240814075458-0ae9f7f9e059
2121
github.com/openstack-k8s-operators/manila-operator/api v0.4.1-0.20240828194804-f733ae7bf68d
2222
github.com/openstack-k8s-operators/mariadb-operator/api v0.4.1-0.20240812075114-497caae42b27

apis/go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -108,8 +108,8 @@ github.com/openstack-k8s-operators/ironic-operator/api v0.4.1-0.20240807084947-1
108108
github.com/openstack-k8s-operators/ironic-operator/api v0.4.1-0.20240807084947-190400f63726/go.mod h1:33VtB5iMt9SGJafuB3VCEgw1ezM4CBZ0xh0LU48+/ro=
109109
github.com/openstack-k8s-operators/keystone-operator/api v0.4.1-0.20240812074544-7379da550fef h1:DYmNZLkoYeT2NOoMN9XPiZS25EMXru6vMNZwwnEW5Og=
110110
github.com/openstack-k8s-operators/keystone-operator/api v0.4.1-0.20240812074544-7379da550fef/go.mod h1:MkvxXyvpUhfeKy4QDmzPMn6YH5eRu24uOgpLo9SBlwc=
111-
github.com/openstack-k8s-operators/lib-common/modules/common v0.4.1-0.20240814075458-0ae9f7f9e059 h1:AQi/mrFBLRnus+lie6GDUokC7qT0y4OpiIkT4WRmpy4=
112-
github.com/openstack-k8s-operators/lib-common/modules/common v0.4.1-0.20240814075458-0ae9f7f9e059/go.mod h1:68390qkx7+crmuqpbkTE/Am48nzO98Y9LdPT5XwOv30=
111+
github.com/openstack-k8s-operators/lib-common/modules/common v0.4.1-0.20240905123813-174296c09ec6 h1:VSbVNzUa41hybq/lZi0L8bNv/yzYyNylc8yKSEO+ZCA=
112+
github.com/openstack-k8s-operators/lib-common/modules/common v0.4.1-0.20240905123813-174296c09ec6/go.mod h1:6zxa5xg9uvpObVKFSJa/SA+vDDlgh0Q1aswxDB2XbxU=
113113
github.com/openstack-k8s-operators/lib-common/modules/openstack v0.4.1-0.20240814075458-0ae9f7f9e059 h1:Ol1P8vPxIHWzTaL6RfENRiAxp2XrMQUYtnP5Ceek53A=
114114
github.com/openstack-k8s-operators/lib-common/modules/openstack v0.4.1-0.20240814075458-0ae9f7f9e059/go.mod h1:CfMx4bwBVQEYMRt2dIcyqJjR3ToZxFEOPS+0Uy2Mm68=
115115
github.com/openstack-k8s-operators/lib-common/modules/storage v0.4.1-0.20240814075458-0ae9f7f9e059 h1:HzvUWSO61v7RvJsteIAdyTycMIIJpr0Kk6FER6d1XAE=

controllers/client/openstackclient_controller.go

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -255,7 +255,7 @@ func (r *OpenStackClientReconciler) Reconcile(ctx context.Context, req ctrl.Requ
255255
configVars[*instance.Spec.OpenStackConfigSecret] = env.SetValue(secretHash)
256256

257257
if instance.Spec.CaBundleSecretName != "" {
258-
secretHash, ctrlResult, err := tls.ValidateCACertSecret(
258+
secretHash, err := tls.ValidateCACertSecret(
259259
ctx,
260260
helper.GetClient(),
261261
types.NamespacedName{
@@ -266,26 +266,19 @@ func (r *OpenStackClientReconciler) Reconcile(ctx context.Context, req ctrl.Requ
266266
if err != nil {
267267
if k8s_errors.IsNotFound(err) {
268268
instance.Status.Conditions.Set(condition.FalseCondition(
269-
clientv1.OpenStackClientReadyCondition,
269+
condition.TLSInputReadyCondition,
270270
condition.RequestedReason,
271271
condition.SeverityInfo,
272-
clientv1.OpenStackClientSecretWaitingMessage))
273-
return ctrl.Result{RequeueAfter: time.Duration(10) * time.Second}, nil
272+
fmt.Sprintf(condition.TLSInputReadyWaitingMessage, instance.Spec.CaBundleSecretName)))
273+
return ctrl.Result{}, nil
274274
}
275275
instance.Status.Conditions.Set(condition.FalseCondition(
276-
clientv1.OpenStackClientReadyCondition,
276+
condition.TLSInputReadyCondition,
277277
condition.ErrorReason,
278278
condition.SeverityWarning,
279-
clientv1.OpenStackClientReadyErrorMessage,
279+
condition.TLSInputErrorMessage,
280280
err.Error()))
281281
return ctrl.Result{}, err
282-
} else if (ctrlResult != ctrl.Result{}) {
283-
instance.Status.Conditions.Set(condition.FalseCondition(
284-
clientv1.OpenStackClientReadyCondition,
285-
condition.RequestedReason,
286-
condition.SeverityInfo,
287-
clientv1.OpenStackClientSecretWaitingMessage))
288-
return ctrlResult, nil
289282
}
290283

291284
configVars[instance.Spec.CaBundleSecretName] = env.SetValue(secretHash)
@@ -300,6 +293,9 @@ func (r *OpenStackClientReconciler) Reconcile(ctx context.Context, req ctrl.Requ
300293
configVars["PrometheusTls"] = env.SetValue(fmt.Sprint(metricStorage.Spec.PrometheusTLS.Enabled()))
301294
}
302295

296+
// all cert input checks out so report InputReady
297+
instance.Status.Conditions.MarkTrue(condition.TLSInputReadyCondition, condition.InputReadyMessage)
298+
303299
configVarsHash, err := util.HashOfInputHashes(configVars)
304300
if err != nil {
305301
return ctrl.Result{}, err

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ require (
2323
github.com/openstack-k8s-operators/keystone-operator/api v0.4.1-0.20240812074544-7379da550fef
2424
github.com/openstack-k8s-operators/lib-common/modules/ansible v0.4.1-0.20240814075458-0ae9f7f9e059
2525
github.com/openstack-k8s-operators/lib-common/modules/certmanager v0.4.1-0.20240814075458-0ae9f7f9e059
26-
github.com/openstack-k8s-operators/lib-common/modules/common v0.4.1-0.20240814075458-0ae9f7f9e059
26+
github.com/openstack-k8s-operators/lib-common/modules/common v0.4.1-0.20240905123813-174296c09ec6
2727
github.com/openstack-k8s-operators/lib-common/modules/storage v0.4.1-0.20240814075458-0ae9f7f9e059
2828
github.com/openstack-k8s-operators/lib-common/modules/test v0.4.1-0.20240814075458-0ae9f7f9e059
2929
github.com/openstack-k8s-operators/manila-operator/api v0.4.1-0.20240828194804-f733ae7bf68d

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -118,8 +118,8 @@ github.com/openstack-k8s-operators/lib-common/modules/ansible v0.4.1-0.202408140
118118
github.com/openstack-k8s-operators/lib-common/modules/ansible v0.4.1-0.20240814075458-0ae9f7f9e059/go.mod h1:tP+nxk95PisCKJaXE/an2igG9lluxuOVhdmV9WtkR2s=
119119
github.com/openstack-k8s-operators/lib-common/modules/certmanager v0.4.1-0.20240814075458-0ae9f7f9e059 h1:sYW4yrxAMcx6dAsg7NnJPbNQUR1SCbAF9kQ0ceZIZX8=
120120
github.com/openstack-k8s-operators/lib-common/modules/certmanager v0.4.1-0.20240814075458-0ae9f7f9e059/go.mod h1:oYFS5h2LBfXtg7ooh7dt65M0wQlnKPgW38iB3CRMK5I=
121-
github.com/openstack-k8s-operators/lib-common/modules/common v0.4.1-0.20240814075458-0ae9f7f9e059 h1:AQi/mrFBLRnus+lie6GDUokC7qT0y4OpiIkT4WRmpy4=
122-
github.com/openstack-k8s-operators/lib-common/modules/common v0.4.1-0.20240814075458-0ae9f7f9e059/go.mod h1:68390qkx7+crmuqpbkTE/Am48nzO98Y9LdPT5XwOv30=
121+
github.com/openstack-k8s-operators/lib-common/modules/common v0.4.1-0.20240905123813-174296c09ec6 h1:VSbVNzUa41hybq/lZi0L8bNv/yzYyNylc8yKSEO+ZCA=
122+
github.com/openstack-k8s-operators/lib-common/modules/common v0.4.1-0.20240905123813-174296c09ec6/go.mod h1:6zxa5xg9uvpObVKFSJa/SA+vDDlgh0Q1aswxDB2XbxU=
123123
github.com/openstack-k8s-operators/lib-common/modules/openstack v0.4.1-0.20240814075458-0ae9f7f9e059 h1:Ol1P8vPxIHWzTaL6RfENRiAxp2XrMQUYtnP5Ceek53A=
124124
github.com/openstack-k8s-operators/lib-common/modules/openstack v0.4.1-0.20240814075458-0ae9f7f9e059/go.mod h1:CfMx4bwBVQEYMRt2dIcyqJjR3ToZxFEOPS+0Uy2Mm68=
125125
github.com/openstack-k8s-operators/lib-common/modules/storage v0.4.1-0.20240814075458-0ae9f7f9e059 h1:HzvUWSO61v7RvJsteIAdyTycMIIJpr0Kk6FER6d1XAE=

pkg/openstack/common.go

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -248,25 +248,25 @@ func EnsureEndpointConfig(
248248
if ingressOverride.TLS != nil && ingressOverride.TLS.SecretName != "" {
249249
ed.Route.TLS.SecretName = ptr.To(ingressOverride.TLS.SecretName)
250250
validateSecret := &tls.GenericService{SecretName: ed.Route.TLS.SecretName}
251-
_, ctrlResult, err := validateSecret.ValidateCertSecret(ctx, helper, instance.GetNamespace())
251+
_, err := validateSecret.ValidateCertSecret(ctx, helper, instance.GetNamespace())
252252
if err != nil {
253+
if k8s_errors.IsNotFound(err) {
254+
instance.Status.Conditions.Set(condition.FalseCondition(
255+
corev1.OpenStackControlPlaneCustomTLSReadyCondition,
256+
condition.RequestedReason,
257+
condition.SeverityInfo,
258+
corev1.OpenStackControlPlaneCustomTLSReadyWaitingMessage,
259+
ingressOverride.TLS.SecretName))
260+
return endpoints, ctrl.Result{RequeueAfter: time.Duration(10) * time.Second}, nil
261+
}
253262
instance.Status.Conditions.Set(condition.FalseCondition(
254263
corev1.OpenStackControlPlaneCustomTLSReadyCondition,
255264
condition.ErrorReason,
256265
condition.SeverityWarning,
257266
corev1.OpenStackControlPlaneCustomTLSReadyErrorMessage,
258267
ingressOverride.TLS.SecretName,
259268
err.Error()))
260-
261-
return endpoints, ctrlResult, err
262-
} else if (ctrlResult != ctrl.Result{}) {
263-
instance.Status.Conditions.Set(condition.FalseCondition(
264-
corev1.OpenStackControlPlaneCustomTLSReadyCondition,
265-
condition.RequestedReason,
266-
condition.SeverityInfo,
267-
corev1.OpenStackControlPlaneCustomTLSReadyWaitingMessage,
268-
ingressOverride.TLS.SecretName))
269-
return endpoints, ctrlResult, nil
269+
return endpoints, ctrl.Result{}, err
270270
}
271271
instance.Status.Conditions.MarkTrue(corev1.OpenStackControlPlaneCustomTLSReadyCondition,
272272
corev1.OpenStackControlPlaneCustomTLSReadyMessage)
@@ -284,11 +284,12 @@ func EnsureEndpointConfig(
284284
// a LoadBalancer (MetalLB) for the public endpoints.
285285
if !ed.Route.Create && (tlsConfig.API.Public.SecretName != nil && *tlsConfig.API.Public.SecretName != "") {
286286
ed.Service.TLS.SecretName = tlsConfig.API.Public.SecretName
287-
_, ctrlResult, err := ed.Service.TLS.GenericService.ValidateCertSecret(ctx, helper, instance.GetNamespace())
287+
_, err := ed.Service.TLS.GenericService.ValidateCertSecret(ctx, helper, instance.GetNamespace())
288288
if err != nil {
289-
return endpoints, ctrlResult, err
290-
} else if (ctrlResult != ctrl.Result{}) {
291-
return endpoints, ctrlResult, nil
289+
if k8s_errors.IsNotFound(err) {
290+
return endpoints, ctrl.Result{RequeueAfter: time.Duration(10) * time.Second}, nil
291+
}
292+
return endpoints, ctrl.Result{}, err
292293
}
293294
} else {
294295
// issue a certificate for public pod virthost

0 commit comments

Comments
 (0)