From 70f20666a6d823be05fe4ef697bba5807e9789c5 Mon Sep 17 00:00:00 2001 From: Simon Beck Date: Mon, 17 Jun 2024 11:22:51 +0200 Subject: [PATCH] Explicitly specify readiness checks On some clusters we have issues with the default readiness check, which checks for the `Ready` condition on managed resources. However this seems bugged on at least one of our clusters, as Crossplane claims the check is invalid. By explicitly adding it with an additional check, the check is accepted again. Even though we add the exact same check again. --- component/component/common.libsonnet | 8 +++++++- component/component/exoscale_kafka.jsonnet | 2 +- component/component/exoscale_mysql.jsonnet | 2 +- component/component/exoscale_opensearch.jsonnet | 2 +- component/component/exoscale_postgres.jsonnet | 2 +- component/component/exoscale_redis.jsonnet | 2 +- .../appcat/21_composition_objectstorage_cloudscale.yaml | 8 ++++++++ .../appcat/appcat/21_composition_exoscale_kafka.yaml | 9 +++++++++ .../appcat/appcat/21_composition_exoscale_mysql.yaml | 9 +++++++++ .../appcat/21_composition_exoscale_opensearch.yaml | 9 +++++++++ .../appcat/appcat/21_composition_exoscale_postgres.yaml | 9 +++++++++ .../appcat/appcat/21_composition_exoscale_redis.yaml | 9 +++++++++ .../appcat/appcat/21_composition_exoscale_kafka.yaml | 9 +++++++++ .../appcat/appcat/21_composition_exoscale_mysql.yaml | 9 +++++++++ .../appcat/21_composition_exoscale_opensearch.yaml | 9 +++++++++ .../appcat/appcat/21_composition_exoscale_postgres.yaml | 9 +++++++++ .../appcat/appcat/21_composition_exoscale_redis.yaml | 9 +++++++++ 17 files changed, 110 insertions(+), 6 deletions(-) diff --git a/component/component/common.libsonnet b/component/component/common.libsonnet index f46afdd7e..6f1e33882 100644 --- a/component/component/common.libsonnet +++ b/component/component/common.libsonnet @@ -164,7 +164,13 @@ local defaultReadinessCheck() = { status: 'True', type: 'Ready', }, - + type: 'MatchCondition', + }, + { + matchCondition: { + status: 'True', + type: 'Ready', + }, type: 'MatchCondition', }, ], diff --git a/component/component/exoscale_kafka.jsonnet b/component/component/exoscale_kafka.jsonnet index cc2bb27b2..b208a729c 100644 --- a/component/component/exoscale_kafka.jsonnet +++ b/component/component/exoscale_kafka.jsonnet @@ -93,7 +93,7 @@ local composition = comp.ToCompositeFieldPath('status.atProvider.version', 'status.version'), comp.FromCompositeFieldPath('spec.parameters.service.zone', 'metadata.annotations[appcat.vshn.io/cloudzone]'), ], - }, + } + common.DefaultReadinessCheck(), ], }, }; diff --git a/component/component/exoscale_mysql.jsonnet b/component/component/exoscale_mysql.jsonnet index 9ef31058a..17a78f3ad 100644 --- a/component/component/exoscale_mysql.jsonnet +++ b/component/component/exoscale_mysql.jsonnet @@ -96,7 +96,7 @@ local composition = comp.FromCompositeFieldPath('spec.parameters.backup.timeOfDay', 'spec.forProvider.backup.timeOfDay'), comp.FromCompositeFieldPath('spec.parameters.service.zone', 'metadata.annotations[appcat.vshn.io/cloudzone]'), ], - }, + } + common.DefaultReadinessCheck(), ], }, }; diff --git a/component/component/exoscale_opensearch.jsonnet b/component/component/exoscale_opensearch.jsonnet index 2a407b554..a7eb69990 100644 --- a/component/component/exoscale_opensearch.jsonnet +++ b/component/component/exoscale_opensearch.jsonnet @@ -95,7 +95,7 @@ local composition = comp.FromCompositeFieldPath('spec.parameters.backup.timeOfDay', 'spec.forProvider.backup.timeOfDay'), comp.FromCompositeFieldPath('spec.parameters.service.zone', 'metadata.annotations[appcat.vshn.io/cloudzone]'), ], - }, + } + common.DefaultReadinessCheck(), ], }, }; diff --git a/component/component/exoscale_postgres.jsonnet b/component/component/exoscale_postgres.jsonnet index b0ddda5db..9c36d5037 100644 --- a/component/component/exoscale_postgres.jsonnet +++ b/component/component/exoscale_postgres.jsonnet @@ -96,7 +96,7 @@ local composition = comp.FromCompositeFieldPath('spec.parameters.backup.timeOfDay', 'spec.forProvider.backup.timeOfDay'), comp.FromCompositeFieldPath('spec.parameters.service.zone', 'metadata.annotations[appcat.vshn.io/cloudzone]'), ], - }, + } + common.DefaultReadinessCheck(), ], }, }; diff --git a/component/component/exoscale_redis.jsonnet b/component/component/exoscale_redis.jsonnet index 320d7f91f..5c2c27e12 100644 --- a/component/component/exoscale_redis.jsonnet +++ b/component/component/exoscale_redis.jsonnet @@ -88,7 +88,7 @@ local composition = comp.FromCompositeFieldPath('spec.parameters.maintenance.timeOfDay', 'spec.forProvider.maintenance.timeOfDay'), comp.FromCompositeFieldPath('spec.parameters.service.zone', 'metadata.annotations[appcat.vshn.io/cloudzone]'), ], - }, + } + common.DefaultReadinessCheck(), ], }, }; diff --git a/component/tests/golden/cloudscale/appcat/appcat/21_composition_objectstorage_cloudscale.yaml b/component/tests/golden/cloudscale/appcat/appcat/21_composition_objectstorage_cloudscale.yaml index 604e0d32c..c66bbf952 100644 --- a/component/tests/golden/cloudscale/appcat/appcat/21_composition_objectstorage_cloudscale.yaml +++ b/component/tests/golden/cloudscale/appcat/appcat/21_composition_objectstorage_cloudscale.yaml @@ -76,6 +76,10 @@ spec: status: 'True' type: Ready type: MatchCondition + - matchCondition: + status: 'True' + type: Ready + type: MatchCondition - base: apiVersion: cloudscale.crossplane.io/v1 kind: Bucket @@ -142,4 +146,8 @@ spec: status: 'True' type: Ready type: MatchCondition + - matchCondition: + status: 'True' + type: Ready + type: MatchCondition writeConnectionSecretsToNamespace: syn-crossplane diff --git a/component/tests/golden/exoscale/appcat/appcat/21_composition_exoscale_kafka.yaml b/component/tests/golden/exoscale/appcat/appcat/21_composition_exoscale_kafka.yaml index 722fe6001..9f42c5323 100644 --- a/component/tests/golden/exoscale/appcat/appcat/21_composition_exoscale_kafka.yaml +++ b/component/tests/golden/exoscale/appcat/appcat/21_composition_exoscale_kafka.yaml @@ -99,4 +99,13 @@ spec: - fromFieldPath: spec.parameters.service.zone toFieldPath: metadata.annotations[appcat.vshn.io/cloudzone] type: FromCompositeFieldPath + readinessChecks: + - matchCondition: + status: 'True' + type: Ready + type: MatchCondition + - matchCondition: + status: 'True' + type: Ready + type: MatchCondition writeConnectionSecretsToNamespace: crossplane-system diff --git a/component/tests/golden/exoscale/appcat/appcat/21_composition_exoscale_mysql.yaml b/component/tests/golden/exoscale/appcat/appcat/21_composition_exoscale_mysql.yaml index 6e8e7b768..541ae1c29 100644 --- a/component/tests/golden/exoscale/appcat/appcat/21_composition_exoscale_mysql.yaml +++ b/component/tests/golden/exoscale/appcat/appcat/21_composition_exoscale_mysql.yaml @@ -101,4 +101,13 @@ spec: - fromFieldPath: spec.parameters.service.zone toFieldPath: metadata.annotations[appcat.vshn.io/cloudzone] type: FromCompositeFieldPath + readinessChecks: + - matchCondition: + status: 'True' + type: Ready + type: MatchCondition + - matchCondition: + status: 'True' + type: Ready + type: MatchCondition writeConnectionSecretsToNamespace: crossplane-system diff --git a/component/tests/golden/exoscale/appcat/appcat/21_composition_exoscale_opensearch.yaml b/component/tests/golden/exoscale/appcat/appcat/21_composition_exoscale_opensearch.yaml index 04d299d39..ae5dada98 100644 --- a/component/tests/golden/exoscale/appcat/appcat/21_composition_exoscale_opensearch.yaml +++ b/component/tests/golden/exoscale/appcat/appcat/21_composition_exoscale_opensearch.yaml @@ -98,4 +98,13 @@ spec: - fromFieldPath: spec.parameters.service.zone toFieldPath: metadata.annotations[appcat.vshn.io/cloudzone] type: FromCompositeFieldPath + readinessChecks: + - matchCondition: + status: 'True' + type: Ready + type: MatchCondition + - matchCondition: + status: 'True' + type: Ready + type: MatchCondition writeConnectionSecretsToNamespace: crossplane-system diff --git a/component/tests/golden/exoscale/appcat/appcat/21_composition_exoscale_postgres.yaml b/component/tests/golden/exoscale/appcat/appcat/21_composition_exoscale_postgres.yaml index dee68041e..322b69f11 100644 --- a/component/tests/golden/exoscale/appcat/appcat/21_composition_exoscale_postgres.yaml +++ b/component/tests/golden/exoscale/appcat/appcat/21_composition_exoscale_postgres.yaml @@ -101,4 +101,13 @@ spec: - fromFieldPath: spec.parameters.service.zone toFieldPath: metadata.annotations[appcat.vshn.io/cloudzone] type: FromCompositeFieldPath + readinessChecks: + - matchCondition: + status: 'True' + type: Ready + type: MatchCondition + - matchCondition: + status: 'True' + type: Ready + type: MatchCondition writeConnectionSecretsToNamespace: crossplane-system diff --git a/component/tests/golden/exoscale/appcat/appcat/21_composition_exoscale_redis.yaml b/component/tests/golden/exoscale/appcat/appcat/21_composition_exoscale_redis.yaml index b936f6e92..eadf3759a 100644 --- a/component/tests/golden/exoscale/appcat/appcat/21_composition_exoscale_redis.yaml +++ b/component/tests/golden/exoscale/appcat/appcat/21_composition_exoscale_redis.yaml @@ -86,4 +86,13 @@ spec: - fromFieldPath: spec.parameters.service.zone toFieldPath: metadata.annotations[appcat.vshn.io/cloudzone] type: FromCompositeFieldPath + readinessChecks: + - matchCondition: + status: 'True' + type: Ready + type: MatchCondition + - matchCondition: + status: 'True' + type: Ready + type: MatchCondition writeConnectionSecretsToNamespace: crossplane-system diff --git a/component/tests/golden/openshift/appcat/appcat/21_composition_exoscale_kafka.yaml b/component/tests/golden/openshift/appcat/appcat/21_composition_exoscale_kafka.yaml index ed049de41..bc68dded7 100644 --- a/component/tests/golden/openshift/appcat/appcat/21_composition_exoscale_kafka.yaml +++ b/component/tests/golden/openshift/appcat/appcat/21_composition_exoscale_kafka.yaml @@ -99,4 +99,13 @@ spec: - fromFieldPath: spec.parameters.service.zone toFieldPath: metadata.annotations[appcat.vshn.io/cloudzone] type: FromCompositeFieldPath + readinessChecks: + - matchCondition: + status: 'True' + type: Ready + type: MatchCondition + - matchCondition: + status: 'True' + type: Ready + type: MatchCondition writeConnectionSecretsToNamespace: syn-crossplane diff --git a/component/tests/golden/openshift/appcat/appcat/21_composition_exoscale_mysql.yaml b/component/tests/golden/openshift/appcat/appcat/21_composition_exoscale_mysql.yaml index 9de49f5ab..8a413b27b 100644 --- a/component/tests/golden/openshift/appcat/appcat/21_composition_exoscale_mysql.yaml +++ b/component/tests/golden/openshift/appcat/appcat/21_composition_exoscale_mysql.yaml @@ -101,4 +101,13 @@ spec: - fromFieldPath: spec.parameters.service.zone toFieldPath: metadata.annotations[appcat.vshn.io/cloudzone] type: FromCompositeFieldPath + readinessChecks: + - matchCondition: + status: 'True' + type: Ready + type: MatchCondition + - matchCondition: + status: 'True' + type: Ready + type: MatchCondition writeConnectionSecretsToNamespace: syn-crossplane diff --git a/component/tests/golden/openshift/appcat/appcat/21_composition_exoscale_opensearch.yaml b/component/tests/golden/openshift/appcat/appcat/21_composition_exoscale_opensearch.yaml index e1002dd90..a4135afa2 100644 --- a/component/tests/golden/openshift/appcat/appcat/21_composition_exoscale_opensearch.yaml +++ b/component/tests/golden/openshift/appcat/appcat/21_composition_exoscale_opensearch.yaml @@ -98,4 +98,13 @@ spec: - fromFieldPath: spec.parameters.service.zone toFieldPath: metadata.annotations[appcat.vshn.io/cloudzone] type: FromCompositeFieldPath + readinessChecks: + - matchCondition: + status: 'True' + type: Ready + type: MatchCondition + - matchCondition: + status: 'True' + type: Ready + type: MatchCondition writeConnectionSecretsToNamespace: syn-crossplane diff --git a/component/tests/golden/openshift/appcat/appcat/21_composition_exoscale_postgres.yaml b/component/tests/golden/openshift/appcat/appcat/21_composition_exoscale_postgres.yaml index 42e87fa0c..f0c7f619f 100644 --- a/component/tests/golden/openshift/appcat/appcat/21_composition_exoscale_postgres.yaml +++ b/component/tests/golden/openshift/appcat/appcat/21_composition_exoscale_postgres.yaml @@ -101,4 +101,13 @@ spec: - fromFieldPath: spec.parameters.service.zone toFieldPath: metadata.annotations[appcat.vshn.io/cloudzone] type: FromCompositeFieldPath + readinessChecks: + - matchCondition: + status: 'True' + type: Ready + type: MatchCondition + - matchCondition: + status: 'True' + type: Ready + type: MatchCondition writeConnectionSecretsToNamespace: syn-crossplane diff --git a/component/tests/golden/openshift/appcat/appcat/21_composition_exoscale_redis.yaml b/component/tests/golden/openshift/appcat/appcat/21_composition_exoscale_redis.yaml index 89011b667..a2221ecfa 100644 --- a/component/tests/golden/openshift/appcat/appcat/21_composition_exoscale_redis.yaml +++ b/component/tests/golden/openshift/appcat/appcat/21_composition_exoscale_redis.yaml @@ -86,4 +86,13 @@ spec: - fromFieldPath: spec.parameters.service.zone toFieldPath: metadata.annotations[appcat.vshn.io/cloudzone] type: FromCompositeFieldPath + readinessChecks: + - matchCondition: + status: 'True' + type: Ready + type: MatchCondition + - matchCondition: + status: 'True' + type: Ready + type: MatchCondition writeConnectionSecretsToNamespace: syn-crossplane