diff --git a/apis/v1alpha1/ack-generate-metadata.yaml b/apis/v1alpha1/ack-generate-metadata.yaml index 62462a3..af9c11d 100755 --- a/apis/v1alpha1/ack-generate-metadata.yaml +++ b/apis/v1alpha1/ack-generate-metadata.yaml @@ -1,8 +1,8 @@ ack_generate_info: - build_date: "2025-09-19T23:41:06Z" - build_hash: 6b4211163dcc34776b01da9a18217bac0f4103fd - go_version: go1.24.5 - version: v0.52.0 + build_date: "2025-09-25T05:57:38Z" + build_hash: 9c388d9668ea19d0b1b65566d492c4f67c6e64c8 + go_version: go1.24.7 + version: 9c388d9 api_directory_checksum: 90b0d1adcc91f4a1b1f1b436e3ac0c30d9271678 api_version: v1alpha1 aws_sdk_go_version: v1.32.6 diff --git a/config/crd/bases/rds.services.k8s.aws_dbclusterendpoints.yaml b/config/crd/bases/rds.services.k8s.aws_dbclusterendpoints.yaml index 7ad9259..0028150 100644 --- a/config/crd/bases/rds.services.k8s.aws_dbclusterendpoints.yaml +++ b/config/crd/bases/rds.services.k8s.aws_dbclusterendpoints.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.16.2 + controller-gen.kubebuilder.io/version: v0.19.0 name: dbclusterendpoints.rds.services.k8s.aws spec: group: rds.services.k8s.aws diff --git a/config/crd/bases/rds.services.k8s.aws_dbclusterparametergroups.yaml b/config/crd/bases/rds.services.k8s.aws_dbclusterparametergroups.yaml index f5b8323..925cfc8 100644 --- a/config/crd/bases/rds.services.k8s.aws_dbclusterparametergroups.yaml +++ b/config/crd/bases/rds.services.k8s.aws_dbclusterparametergroups.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.16.2 + controller-gen.kubebuilder.io/version: v0.19.0 name: dbclusterparametergroups.rds.services.k8s.aws spec: group: rds.services.k8s.aws diff --git a/config/crd/bases/rds.services.k8s.aws_dbclusters.yaml b/config/crd/bases/rds.services.k8s.aws_dbclusters.yaml index baaac26..85130f5 100644 --- a/config/crd/bases/rds.services.k8s.aws_dbclusters.yaml +++ b/config/crd/bases/rds.services.k8s.aws_dbclusters.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.16.2 + controller-gen.kubebuilder.io/version: v0.19.0 name: dbclusters.rds.services.k8s.aws spec: group: rds.services.k8s.aws diff --git a/config/crd/bases/rds.services.k8s.aws_dbclustersnapshots.yaml b/config/crd/bases/rds.services.k8s.aws_dbclustersnapshots.yaml index f6ce1ad..b6e7dfc 100644 --- a/config/crd/bases/rds.services.k8s.aws_dbclustersnapshots.yaml +++ b/config/crd/bases/rds.services.k8s.aws_dbclustersnapshots.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.16.2 + controller-gen.kubebuilder.io/version: v0.19.0 name: dbclustersnapshots.rds.services.k8s.aws spec: group: rds.services.k8s.aws diff --git a/config/crd/bases/rds.services.k8s.aws_dbinstances.yaml b/config/crd/bases/rds.services.k8s.aws_dbinstances.yaml index 1d4c7a8..7ec99dd 100644 --- a/config/crd/bases/rds.services.k8s.aws_dbinstances.yaml +++ b/config/crd/bases/rds.services.k8s.aws_dbinstances.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.16.2 + controller-gen.kubebuilder.io/version: v0.19.0 name: dbinstances.rds.services.k8s.aws spec: group: rds.services.k8s.aws diff --git a/config/crd/bases/rds.services.k8s.aws_dbparametergroups.yaml b/config/crd/bases/rds.services.k8s.aws_dbparametergroups.yaml index 474239c..7d7b64a 100644 --- a/config/crd/bases/rds.services.k8s.aws_dbparametergroups.yaml +++ b/config/crd/bases/rds.services.k8s.aws_dbparametergroups.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.16.2 + controller-gen.kubebuilder.io/version: v0.19.0 name: dbparametergroups.rds.services.k8s.aws spec: group: rds.services.k8s.aws diff --git a/config/crd/bases/rds.services.k8s.aws_dbproxies.yaml b/config/crd/bases/rds.services.k8s.aws_dbproxies.yaml index e7dfb4b..68fa17c 100644 --- a/config/crd/bases/rds.services.k8s.aws_dbproxies.yaml +++ b/config/crd/bases/rds.services.k8s.aws_dbproxies.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.16.2 + controller-gen.kubebuilder.io/version: v0.19.0 name: dbproxies.rds.services.k8s.aws spec: group: rds.services.k8s.aws diff --git a/config/crd/bases/rds.services.k8s.aws_dbsnapshots.yaml b/config/crd/bases/rds.services.k8s.aws_dbsnapshots.yaml index 2a17d32..955d7f3 100644 --- a/config/crd/bases/rds.services.k8s.aws_dbsnapshots.yaml +++ b/config/crd/bases/rds.services.k8s.aws_dbsnapshots.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.16.2 + controller-gen.kubebuilder.io/version: v0.19.0 name: dbsnapshots.rds.services.k8s.aws spec: group: rds.services.k8s.aws diff --git a/config/crd/bases/rds.services.k8s.aws_dbsubnetgroups.yaml b/config/crd/bases/rds.services.k8s.aws_dbsubnetgroups.yaml index 8c81e68..64c70aa 100644 --- a/config/crd/bases/rds.services.k8s.aws_dbsubnetgroups.yaml +++ b/config/crd/bases/rds.services.k8s.aws_dbsubnetgroups.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.16.2 + controller-gen.kubebuilder.io/version: v0.19.0 name: dbsubnetgroups.rds.services.k8s.aws spec: group: rds.services.k8s.aws diff --git a/config/crd/bases/rds.services.k8s.aws_globalclusters.yaml b/config/crd/bases/rds.services.k8s.aws_globalclusters.yaml index 54dfa72..ac553e2 100644 --- a/config/crd/bases/rds.services.k8s.aws_globalclusters.yaml +++ b/config/crd/bases/rds.services.k8s.aws_globalclusters.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.16.2 + controller-gen.kubebuilder.io/version: v0.19.0 name: globalclusters.rds.services.k8s.aws spec: group: rds.services.k8s.aws diff --git a/go.mod b/go.mod index 65c27a6..2312d23 100644 --- a/go.mod +++ b/go.mod @@ -93,3 +93,5 @@ require ( sigs.k8s.io/structured-merge-diff/v4 v4.4.2 // indirect sigs.k8s.io/yaml v1.4.0 // indirect ) + +replace github.com/aws-controllers-k8s/runtime => github.com/gustavodiaz7722/ack-runtime v0.57.0 diff --git a/go.sum b/go.sum index 1daf73c..cb5ca63 100644 --- a/go.sum +++ b/go.sum @@ -2,8 +2,6 @@ github.com/aws-controllers-k8s/ec2-controller v1.1.2 h1:Bry62L279S7mJofk0sS4o7T7 github.com/aws-controllers-k8s/ec2-controller v1.1.2/go.mod h1:XZOZcSk0tzplY+A0dADqD4NK4a8g8Jqwf/Ouv2Sz/eQ= github.com/aws-controllers-k8s/kms-controller v1.0.8 h1:nDPYQhsgD2s14rEMNmGCwkm+e0Emjo/Usl3is7e9EFk= github.com/aws-controllers-k8s/kms-controller v1.0.8/go.mod h1:HjSBjtiljNL1yFzrOizxeQe2+88tW3mHD5fnEGwVYGE= -github.com/aws-controllers-k8s/runtime v0.52.0 h1:Q5UIAn6SSBr60t/DiU/zr6NLBlUuK2AG3yy2ma/9gDU= -github.com/aws-controllers-k8s/runtime v0.52.0/go.mod h1:OkUJN+Ds799JLYZsMJrO2vDJ4snxUeHK2MgrQHbU+Qc= github.com/aws/aws-sdk-go v1.49.0 h1:g9BkW1fo9GqKfwg2+zCD+TW/D36Ux+vtfJ8guF4AYmY= github.com/aws/aws-sdk-go v1.49.0/go.mod h1:LF8svs817+Nz+DmiMQKTO3ubZ/6IaTpq3TjupRn3Eqk= github.com/aws/aws-sdk-go-v2 v1.34.0 h1:9iyL+cjifckRGEVpRKZP3eIxVlL06Qk1Tk13vreaVQU= @@ -88,6 +86,8 @@ github.com/google/pprof v0.0.0-20241029153458-d1b30febd7db h1:097atOisP2aRj7vFgY github.com/google/pprof v0.0.0-20241029153458-d1b30febd7db/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/gustavodiaz7722/ack-runtime v0.57.0 h1:85zJyvdPpzOTaWE0icljJcMRf0qlP0oWdOT05hMZ6Z0= +github.com/gustavodiaz7722/ack-runtime v0.57.0/go.mod h1:OkUJN+Ds799JLYZsMJrO2vDJ4snxUeHK2MgrQHbU+Qc= github.com/itchyny/gojq v0.12.6 h1:VjaFn59Em2wTxDNGcrRkDK9ZHMNa8IksOgL13sLL4d0= github.com/itchyny/gojq v0.12.6/go.mod h1:ZHrkfu7A+RbZLy5J1/JKpS4poEqrzItSTGDItqsfP0A= github.com/itchyny/timefmt-go v0.1.3 h1:7M3LGVDsqcd0VZH2U+x393obrzZisp7C0uEe921iRkU= diff --git a/helm/crds/rds.services.k8s.aws_dbclusterendpoints.yaml b/helm/crds/rds.services.k8s.aws_dbclusterendpoints.yaml index 59c94bf..7abc853 100644 --- a/helm/crds/rds.services.k8s.aws_dbclusterendpoints.yaml +++ b/helm/crds/rds.services.k8s.aws_dbclusterendpoints.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.16.2 + controller-gen.kubebuilder.io/version: v0.19.0 name: dbclusterendpoints.rds.services.k8s.aws spec: group: rds.services.k8s.aws diff --git a/helm/crds/rds.services.k8s.aws_dbclusterparametergroups.yaml b/helm/crds/rds.services.k8s.aws_dbclusterparametergroups.yaml index ffec4e3..0c68f2a 100644 --- a/helm/crds/rds.services.k8s.aws_dbclusterparametergroups.yaml +++ b/helm/crds/rds.services.k8s.aws_dbclusterparametergroups.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.16.2 + controller-gen.kubebuilder.io/version: v0.19.0 name: dbclusterparametergroups.rds.services.k8s.aws spec: group: rds.services.k8s.aws diff --git a/helm/crds/rds.services.k8s.aws_dbclusters.yaml b/helm/crds/rds.services.k8s.aws_dbclusters.yaml index c397543..8429894 100644 --- a/helm/crds/rds.services.k8s.aws_dbclusters.yaml +++ b/helm/crds/rds.services.k8s.aws_dbclusters.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.16.2 + controller-gen.kubebuilder.io/version: v0.19.0 name: dbclusters.rds.services.k8s.aws spec: group: rds.services.k8s.aws diff --git a/helm/crds/rds.services.k8s.aws_dbclustersnapshots.yaml b/helm/crds/rds.services.k8s.aws_dbclustersnapshots.yaml index 7669a09..a7e9127 100644 --- a/helm/crds/rds.services.k8s.aws_dbclustersnapshots.yaml +++ b/helm/crds/rds.services.k8s.aws_dbclustersnapshots.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.16.2 + controller-gen.kubebuilder.io/version: v0.19.0 name: dbclustersnapshots.rds.services.k8s.aws spec: group: rds.services.k8s.aws diff --git a/helm/crds/rds.services.k8s.aws_dbinstances.yaml b/helm/crds/rds.services.k8s.aws_dbinstances.yaml index e39fd5a..4272ca1 100644 --- a/helm/crds/rds.services.k8s.aws_dbinstances.yaml +++ b/helm/crds/rds.services.k8s.aws_dbinstances.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.16.2 + controller-gen.kubebuilder.io/version: v0.19.0 name: dbinstances.rds.services.k8s.aws spec: group: rds.services.k8s.aws diff --git a/helm/crds/rds.services.k8s.aws_dbparametergroups.yaml b/helm/crds/rds.services.k8s.aws_dbparametergroups.yaml index c68fbc4..e47d884 100644 --- a/helm/crds/rds.services.k8s.aws_dbparametergroups.yaml +++ b/helm/crds/rds.services.k8s.aws_dbparametergroups.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.16.2 + controller-gen.kubebuilder.io/version: v0.19.0 name: dbparametergroups.rds.services.k8s.aws spec: group: rds.services.k8s.aws diff --git a/helm/crds/rds.services.k8s.aws_dbproxies.yaml b/helm/crds/rds.services.k8s.aws_dbproxies.yaml index e7dfb4b..68fa17c 100644 --- a/helm/crds/rds.services.k8s.aws_dbproxies.yaml +++ b/helm/crds/rds.services.k8s.aws_dbproxies.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.16.2 + controller-gen.kubebuilder.io/version: v0.19.0 name: dbproxies.rds.services.k8s.aws spec: group: rds.services.k8s.aws diff --git a/helm/crds/rds.services.k8s.aws_dbsnapshots.yaml b/helm/crds/rds.services.k8s.aws_dbsnapshots.yaml index 5ad87ea..b3a1635 100644 --- a/helm/crds/rds.services.k8s.aws_dbsnapshots.yaml +++ b/helm/crds/rds.services.k8s.aws_dbsnapshots.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.16.2 + controller-gen.kubebuilder.io/version: v0.19.0 name: dbsnapshots.rds.services.k8s.aws spec: group: rds.services.k8s.aws diff --git a/helm/crds/rds.services.k8s.aws_dbsubnetgroups.yaml b/helm/crds/rds.services.k8s.aws_dbsubnetgroups.yaml index e27d4c8..47a551a 100644 --- a/helm/crds/rds.services.k8s.aws_dbsubnetgroups.yaml +++ b/helm/crds/rds.services.k8s.aws_dbsubnetgroups.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.16.2 + controller-gen.kubebuilder.io/version: v0.19.0 name: dbsubnetgroups.rds.services.k8s.aws spec: group: rds.services.k8s.aws diff --git a/helm/crds/rds.services.k8s.aws_globalclusters.yaml b/helm/crds/rds.services.k8s.aws_globalclusters.yaml index f7488d7..00d5768 100644 --- a/helm/crds/rds.services.k8s.aws_globalclusters.yaml +++ b/helm/crds/rds.services.k8s.aws_globalclusters.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.16.2 + controller-gen.kubebuilder.io/version: v0.19.0 name: globalclusters.rds.services.k8s.aws spec: group: rds.services.k8s.aws diff --git a/helm/crds/services.k8s.aws_adoptedresources.yaml b/helm/crds/services.k8s.aws_adoptedresources.yaml index b7be322..d6cdd10 100644 --- a/helm/crds/services.k8s.aws_adoptedresources.yaml +++ b/helm/crds/services.k8s.aws_adoptedresources.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.16.2 + controller-gen.kubebuilder.io/version: v0.19.0 name: adoptedresources.services.k8s.aws spec: group: services.k8s.aws diff --git a/helm/crds/services.k8s.aws_fieldexports.yaml b/helm/crds/services.k8s.aws_fieldexports.yaml index 49b4f38..6e2c61e 100644 --- a/helm/crds/services.k8s.aws_fieldexports.yaml +++ b/helm/crds/services.k8s.aws_fieldexports.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.16.2 + controller-gen.kubebuilder.io/version: v0.19.0 name: fieldexports.services.k8s.aws spec: group: services.k8s.aws diff --git a/pkg/resource/db_cluster/references.go b/pkg/resource/db_cluster/references.go index 1da47f5..1acf49a 100644 --- a/pkg/resource/db_cluster/references.go +++ b/pkg/resource/db_cluster/references.go @@ -26,6 +26,7 @@ import ( ec2apitypes "github.com/aws-controllers-k8s/ec2-controller/apis/v1alpha1" kmsapitypes "github.com/aws-controllers-k8s/kms-controller/apis/v1alpha1" ackv1alpha1 "github.com/aws-controllers-k8s/runtime/apis/core/v1alpha1" + ackcondition "github.com/aws-controllers-k8s/runtime/pkg/condition" ackerr "github.com/aws-controllers-k8s/runtime/pkg/errors" acktypes "github.com/aws-controllers-k8s/runtime/pkg/types" @@ -196,8 +197,9 @@ func getReferencedResourceState_DBClusterParameterGroup( } var refResourceTerminal bool for _, cond := range obj.Status.Conditions { - if cond.Type == ackv1alpha1.ConditionTypeTerminal && - cond.Status == corev1.ConditionTrue { + if cond.Type == ackv1alpha1.ConditionTypeReady && + cond.Status == corev1.ConditionFalse && + *cond.Reason == ackcondition.TerminalReason { return ackerr.ResourceReferenceTerminalFor( "DBClusterParameterGroup", namespace, name) @@ -208,14 +210,14 @@ func getReferencedResourceState_DBClusterParameterGroup( "DBClusterParameterGroup", namespace, name) } - var refResourceSynced bool + var refResourceReady bool for _, cond := range obj.Status.Conditions { - if cond.Type == ackv1alpha1.ConditionTypeResourceSynced && + if cond.Type == ackv1alpha1.ConditionTypeReady && cond.Status == corev1.ConditionTrue { - refResourceSynced = true + refResourceReady = true } } - if !refResourceSynced { + if !refResourceReady { return ackerr.ResourceReferenceNotSyncedFor( "DBClusterParameterGroup", namespace, name) @@ -279,8 +281,9 @@ func getReferencedResourceState_DBSubnetGroup( } var refResourceTerminal bool for _, cond := range obj.Status.Conditions { - if cond.Type == ackv1alpha1.ConditionTypeTerminal && - cond.Status == corev1.ConditionTrue { + if cond.Type == ackv1alpha1.ConditionTypeReady && + cond.Status == corev1.ConditionFalse && + *cond.Reason == ackcondition.TerminalReason { return ackerr.ResourceReferenceTerminalFor( "DBSubnetGroup", namespace, name) @@ -291,14 +294,14 @@ func getReferencedResourceState_DBSubnetGroup( "DBSubnetGroup", namespace, name) } - var refResourceSynced bool + var refResourceReady bool for _, cond := range obj.Status.Conditions { - if cond.Type == ackv1alpha1.ConditionTypeResourceSynced && + if cond.Type == ackv1alpha1.ConditionTypeReady && cond.Status == corev1.ConditionTrue { - refResourceSynced = true + refResourceReady = true } } - if !refResourceSynced { + if !refResourceReady { return ackerr.ResourceReferenceNotSyncedFor( "DBSubnetGroup", namespace, name) @@ -362,8 +365,9 @@ func getReferencedResourceState_Key( } var refResourceTerminal bool for _, cond := range obj.Status.Conditions { - if cond.Type == ackv1alpha1.ConditionTypeTerminal && - cond.Status == corev1.ConditionTrue { + if cond.Type == ackv1alpha1.ConditionTypeReady && + cond.Status == corev1.ConditionFalse && + *cond.Reason == ackcondition.TerminalReason { return ackerr.ResourceReferenceTerminalFor( "Key", namespace, name) @@ -374,14 +378,14 @@ func getReferencedResourceState_Key( "Key", namespace, name) } - var refResourceSynced bool + var refResourceReady bool for _, cond := range obj.Status.Conditions { - if cond.Type == ackv1alpha1.ConditionTypeResourceSynced && + if cond.Type == ackv1alpha1.ConditionTypeReady && cond.Status == corev1.ConditionTrue { - refResourceSynced = true + refResourceReady = true } } - if !refResourceSynced { + if !refResourceReady { return ackerr.ResourceReferenceNotSyncedFor( "Key", namespace, name) @@ -479,8 +483,9 @@ func getReferencedResourceState_SecurityGroup( } var refResourceTerminal bool for _, cond := range obj.Status.Conditions { - if cond.Type == ackv1alpha1.ConditionTypeTerminal && - cond.Status == corev1.ConditionTrue { + if cond.Type == ackv1alpha1.ConditionTypeReady && + cond.Status == corev1.ConditionFalse && + *cond.Reason == ackcondition.TerminalReason { return ackerr.ResourceReferenceTerminalFor( "SecurityGroup", namespace, name) @@ -491,14 +496,14 @@ func getReferencedResourceState_SecurityGroup( "SecurityGroup", namespace, name) } - var refResourceSynced bool + var refResourceReady bool for _, cond := range obj.Status.Conditions { - if cond.Type == ackv1alpha1.ConditionTypeResourceSynced && + if cond.Type == ackv1alpha1.ConditionTypeReady && cond.Status == corev1.ConditionTrue { - refResourceSynced = true + refResourceReady = true } } - if !refResourceSynced { + if !refResourceReady { return ackerr.ResourceReferenceNotSyncedFor( "SecurityGroup", namespace, name) diff --git a/pkg/resource/db_cluster_endpoint/references.go b/pkg/resource/db_cluster_endpoint/references.go index 3ac47fc..b22ba41 100644 --- a/pkg/resource/db_cluster_endpoint/references.go +++ b/pkg/resource/db_cluster_endpoint/references.go @@ -24,6 +24,7 @@ import ( "sigs.k8s.io/controller-runtime/pkg/client" ackv1alpha1 "github.com/aws-controllers-k8s/runtime/apis/core/v1alpha1" + ackcondition "github.com/aws-controllers-k8s/runtime/pkg/condition" ackerr "github.com/aws-controllers-k8s/runtime/pkg/errors" acktypes "github.com/aws-controllers-k8s/runtime/pkg/types" @@ -132,8 +133,9 @@ func getReferencedResourceState_DBCluster( } var refResourceTerminal bool for _, cond := range obj.Status.Conditions { - if cond.Type == ackv1alpha1.ConditionTypeTerminal && - cond.Status == corev1.ConditionTrue { + if cond.Type == ackv1alpha1.ConditionTypeReady && + cond.Status == corev1.ConditionFalse && + *cond.Reason == ackcondition.TerminalReason { return ackerr.ResourceReferenceTerminalFor( "DBCluster", namespace, name) @@ -144,14 +146,14 @@ func getReferencedResourceState_DBCluster( "DBCluster", namespace, name) } - var refResourceSynced bool + var refResourceReady bool for _, cond := range obj.Status.Conditions { - if cond.Type == ackv1alpha1.ConditionTypeResourceSynced && + if cond.Type == ackv1alpha1.ConditionTypeReady && cond.Status == corev1.ConditionTrue { - refResourceSynced = true + refResourceReady = true } } - if !refResourceSynced { + if !refResourceReady { return ackerr.ResourceReferenceNotSyncedFor( "DBCluster", namespace, name) diff --git a/pkg/resource/db_cluster_snapshot/references.go b/pkg/resource/db_cluster_snapshot/references.go index 45cde03..9864333 100644 --- a/pkg/resource/db_cluster_snapshot/references.go +++ b/pkg/resource/db_cluster_snapshot/references.go @@ -24,6 +24,7 @@ import ( "sigs.k8s.io/controller-runtime/pkg/client" ackv1alpha1 "github.com/aws-controllers-k8s/runtime/apis/core/v1alpha1" + ackcondition "github.com/aws-controllers-k8s/runtime/pkg/condition" ackerr "github.com/aws-controllers-k8s/runtime/pkg/errors" acktypes "github.com/aws-controllers-k8s/runtime/pkg/types" @@ -132,8 +133,9 @@ func getReferencedResourceState_DBCluster( } var refResourceTerminal bool for _, cond := range obj.Status.Conditions { - if cond.Type == ackv1alpha1.ConditionTypeTerminal && - cond.Status == corev1.ConditionTrue { + if cond.Type == ackv1alpha1.ConditionTypeReady && + cond.Status == corev1.ConditionFalse && + *cond.Reason == ackcondition.TerminalReason { return ackerr.ResourceReferenceTerminalFor( "DBCluster", namespace, name) @@ -144,14 +146,14 @@ func getReferencedResourceState_DBCluster( "DBCluster", namespace, name) } - var refResourceSynced bool + var refResourceReady bool for _, cond := range obj.Status.Conditions { - if cond.Type == ackv1alpha1.ConditionTypeResourceSynced && + if cond.Type == ackv1alpha1.ConditionTypeReady && cond.Status == corev1.ConditionTrue { - refResourceSynced = true + refResourceReady = true } } - if !refResourceSynced { + if !refResourceReady { return ackerr.ResourceReferenceNotSyncedFor( "DBCluster", namespace, name) diff --git a/pkg/resource/db_instance/references.go b/pkg/resource/db_instance/references.go index dfb095d..cedc408 100644 --- a/pkg/resource/db_instance/references.go +++ b/pkg/resource/db_instance/references.go @@ -26,6 +26,7 @@ import ( ec2apitypes "github.com/aws-controllers-k8s/ec2-controller/apis/v1alpha1" kmsapitypes "github.com/aws-controllers-k8s/kms-controller/apis/v1alpha1" ackv1alpha1 "github.com/aws-controllers-k8s/runtime/apis/core/v1alpha1" + ackcondition "github.com/aws-controllers-k8s/runtime/pkg/condition" ackerr "github.com/aws-controllers-k8s/runtime/pkg/errors" acktypes "github.com/aws-controllers-k8s/runtime/pkg/types" @@ -196,8 +197,9 @@ func getReferencedResourceState_DBParameterGroup( } var refResourceTerminal bool for _, cond := range obj.Status.Conditions { - if cond.Type == ackv1alpha1.ConditionTypeTerminal && - cond.Status == corev1.ConditionTrue { + if cond.Type == ackv1alpha1.ConditionTypeReady && + cond.Status == corev1.ConditionFalse && + *cond.Reason == ackcondition.TerminalReason { return ackerr.ResourceReferenceTerminalFor( "DBParameterGroup", namespace, name) @@ -208,14 +210,14 @@ func getReferencedResourceState_DBParameterGroup( "DBParameterGroup", namespace, name) } - var refResourceSynced bool + var refResourceReady bool for _, cond := range obj.Status.Conditions { - if cond.Type == ackv1alpha1.ConditionTypeResourceSynced && + if cond.Type == ackv1alpha1.ConditionTypeReady && cond.Status == corev1.ConditionTrue { - refResourceSynced = true + refResourceReady = true } } - if !refResourceSynced { + if !refResourceReady { return ackerr.ResourceReferenceNotSyncedFor( "DBParameterGroup", namespace, name) @@ -279,8 +281,9 @@ func getReferencedResourceState_DBSubnetGroup( } var refResourceTerminal bool for _, cond := range obj.Status.Conditions { - if cond.Type == ackv1alpha1.ConditionTypeTerminal && - cond.Status == corev1.ConditionTrue { + if cond.Type == ackv1alpha1.ConditionTypeReady && + cond.Status == corev1.ConditionFalse && + *cond.Reason == ackcondition.TerminalReason { return ackerr.ResourceReferenceTerminalFor( "DBSubnetGroup", namespace, name) @@ -291,14 +294,14 @@ func getReferencedResourceState_DBSubnetGroup( "DBSubnetGroup", namespace, name) } - var refResourceSynced bool + var refResourceReady bool for _, cond := range obj.Status.Conditions { - if cond.Type == ackv1alpha1.ConditionTypeResourceSynced && + if cond.Type == ackv1alpha1.ConditionTypeReady && cond.Status == corev1.ConditionTrue { - refResourceSynced = true + refResourceReady = true } } - if !refResourceSynced { + if !refResourceReady { return ackerr.ResourceReferenceNotSyncedFor( "DBSubnetGroup", namespace, name) @@ -362,8 +365,9 @@ func getReferencedResourceState_Key( } var refResourceTerminal bool for _, cond := range obj.Status.Conditions { - if cond.Type == ackv1alpha1.ConditionTypeTerminal && - cond.Status == corev1.ConditionTrue { + if cond.Type == ackv1alpha1.ConditionTypeReady && + cond.Status == corev1.ConditionFalse && + *cond.Reason == ackcondition.TerminalReason { return ackerr.ResourceReferenceTerminalFor( "Key", namespace, name) @@ -374,14 +378,14 @@ func getReferencedResourceState_Key( "Key", namespace, name) } - var refResourceSynced bool + var refResourceReady bool for _, cond := range obj.Status.Conditions { - if cond.Type == ackv1alpha1.ConditionTypeResourceSynced && + if cond.Type == ackv1alpha1.ConditionTypeReady && cond.Status == corev1.ConditionTrue { - refResourceSynced = true + refResourceReady = true } } - if !refResourceSynced { + if !refResourceReady { return ackerr.ResourceReferenceNotSyncedFor( "Key", namespace, name) @@ -479,8 +483,9 @@ func getReferencedResourceState_SecurityGroup( } var refResourceTerminal bool for _, cond := range obj.Status.Conditions { - if cond.Type == ackv1alpha1.ConditionTypeTerminal && - cond.Status == corev1.ConditionTrue { + if cond.Type == ackv1alpha1.ConditionTypeReady && + cond.Status == corev1.ConditionFalse && + *cond.Reason == ackcondition.TerminalReason { return ackerr.ResourceReferenceTerminalFor( "SecurityGroup", namespace, name) @@ -491,14 +496,14 @@ func getReferencedResourceState_SecurityGroup( "SecurityGroup", namespace, name) } - var refResourceSynced bool + var refResourceReady bool for _, cond := range obj.Status.Conditions { - if cond.Type == ackv1alpha1.ConditionTypeResourceSynced && + if cond.Type == ackv1alpha1.ConditionTypeReady && cond.Status == corev1.ConditionTrue { - refResourceSynced = true + refResourceReady = true } } - if !refResourceSynced { + if !refResourceReady { return ackerr.ResourceReferenceNotSyncedFor( "SecurityGroup", namespace, name) diff --git a/pkg/resource/db_snapshot/references.go b/pkg/resource/db_snapshot/references.go index a27a340..1532d0c 100644 --- a/pkg/resource/db_snapshot/references.go +++ b/pkg/resource/db_snapshot/references.go @@ -24,6 +24,7 @@ import ( "sigs.k8s.io/controller-runtime/pkg/client" ackv1alpha1 "github.com/aws-controllers-k8s/runtime/apis/core/v1alpha1" + ackcondition "github.com/aws-controllers-k8s/runtime/pkg/condition" ackerr "github.com/aws-controllers-k8s/runtime/pkg/errors" acktypes "github.com/aws-controllers-k8s/runtime/pkg/types" @@ -132,8 +133,9 @@ func getReferencedResourceState_DBInstance( } var refResourceTerminal bool for _, cond := range obj.Status.Conditions { - if cond.Type == ackv1alpha1.ConditionTypeTerminal && - cond.Status == corev1.ConditionTrue { + if cond.Type == ackv1alpha1.ConditionTypeReady && + cond.Status == corev1.ConditionFalse && + *cond.Reason == ackcondition.TerminalReason { return ackerr.ResourceReferenceTerminalFor( "DBInstance", namespace, name) @@ -144,14 +146,14 @@ func getReferencedResourceState_DBInstance( "DBInstance", namespace, name) } - var refResourceSynced bool + var refResourceReady bool for _, cond := range obj.Status.Conditions { - if cond.Type == ackv1alpha1.ConditionTypeResourceSynced && + if cond.Type == ackv1alpha1.ConditionTypeReady && cond.Status == corev1.ConditionTrue { - refResourceSynced = true + refResourceReady = true } } - if !refResourceSynced { + if !refResourceReady { return ackerr.ResourceReferenceNotSyncedFor( "DBInstance", namespace, name) diff --git a/pkg/resource/db_subnet_group/references.go b/pkg/resource/db_subnet_group/references.go index 81182d5..4a4936f 100644 --- a/pkg/resource/db_subnet_group/references.go +++ b/pkg/resource/db_subnet_group/references.go @@ -25,6 +25,7 @@ import ( ec2apitypes "github.com/aws-controllers-k8s/ec2-controller/apis/v1alpha1" ackv1alpha1 "github.com/aws-controllers-k8s/runtime/apis/core/v1alpha1" + ackcondition "github.com/aws-controllers-k8s/runtime/pkg/condition" ackerr "github.com/aws-controllers-k8s/runtime/pkg/errors" acktypes "github.com/aws-controllers-k8s/runtime/pkg/types" @@ -141,8 +142,9 @@ func getReferencedResourceState_Subnet( } var refResourceTerminal bool for _, cond := range obj.Status.Conditions { - if cond.Type == ackv1alpha1.ConditionTypeTerminal && - cond.Status == corev1.ConditionTrue { + if cond.Type == ackv1alpha1.ConditionTypeReady && + cond.Status == corev1.ConditionFalse && + *cond.Reason == ackcondition.TerminalReason { return ackerr.ResourceReferenceTerminalFor( "Subnet", namespace, name) @@ -153,14 +155,14 @@ func getReferencedResourceState_Subnet( "Subnet", namespace, name) } - var refResourceSynced bool + var refResourceReady bool for _, cond := range obj.Status.Conditions { - if cond.Type == ackv1alpha1.ConditionTypeResourceSynced && + if cond.Type == ackv1alpha1.ConditionTypeReady && cond.Status == corev1.ConditionTrue { - refResourceSynced = true + refResourceReady = true } } - if !refResourceSynced { + if !refResourceReady { return ackerr.ResourceReferenceNotSyncedFor( "Subnet", namespace, name) diff --git a/test/e2e/condition.py b/test/e2e/condition.py index 3d92b5f..4768f5a 100644 --- a/test/e2e/condition.py +++ b/test/e2e/condition.py @@ -22,7 +22,7 @@ from acktest.k8s import resource as k8s CONDITION_TYPE_ADOPTED = "ACK.Adopted" -CONDITION_TYPE_RESOURCE_SYNCED = "ACK.ResourceSynced" +CONDITION_TYPE_READY = "Ready" CONDITION_TYPE_TERMINAL = "ACK.Terminal" CONDITION_TYPE_RECOVERABLE = "ACK.Recoverable" CONDITION_TYPE_ADVISORY = "ACK.Advisory" @@ -31,11 +31,11 @@ def assert_type_status( ref: k8s.CustomResourceReference, - cond_type_match: str = CONDITION_TYPE_RESOURCE_SYNCED, + cond_type_match: str = CONDITION_TYPE_READY, cond_status_match: bool = True, ): """Asserts that the supplied resource has a condition of type - ACK.ResourceSynced and that the Status of this condition is True. + Ready and that the Status of this condition is True. Usage: from acktest.k8s import resource as k8s @@ -50,7 +50,7 @@ def assert_type_status( k8s.wait_resource_consumed_by_controller(ref) condition.assert_type_status( ref, - condition.CONDITION_TYPE_RESOURCE_SYNCED, + condition.CONDITION_TYPE_READY, False) Raises: @@ -75,7 +75,7 @@ def assert_synced_status( cond_status_match: bool, ): """Asserts that the supplied resource has a condition of type - ACK.ResourceSynced and that the Status of this condition is True. + Ready and that the Status of this condition is True. Usage: from acktest.k8s import resource as k8s @@ -91,15 +91,15 @@ def assert_synced_status( condition.assert_synced_status(ref, False) Raises: - pytest.fail when ACK.ResourceSynced condition is not found or is not in + pytest.fail when Ready condition is not found or is not in a True status. """ - assert_type_status(ref, CONDITION_TYPE_RESOURCE_SYNCED, cond_status_match) + assert_type_status(ref, CONDITION_TYPE_READY, cond_status_match) -def assert_synced(ref: k8s.CustomResourceReference): +def assert_ready(ref: k8s.CustomResourceReference): """Asserts that the supplied resource has a condition of type - ACK.ResourceSynced and that the Status of this condition is True. + Ready and that the Status of this condition is True. Usage: from acktest.k8s import resource as k8s @@ -112,18 +112,18 @@ def assert_synced(ref: k8s.CustomResourceReference): ) k8s.create_custom_resource(ref, resource_data) k8s.wait_resource_consumed_by_controller(ref) - condition.assert_synced(ref) + condition.assert_ready(ref) Raises: - pytest.fail when ACK.ResourceSynced condition is not found or is not in + pytest.fail when Ready condition is not found or is not in a True status. """ return assert_synced_status(ref, True) -def assert_not_synced(ref: k8s.CustomResourceReference): +def assert_not_ready(ref: k8s.CustomResourceReference): """Asserts that the supplied resource has a condition of type - ACK.ResourceSynced and that the Status of this condition is False. + Ready and that the Status of this condition is False. Usage: from acktest.k8s import resource as k8s @@ -136,10 +136,10 @@ def assert_not_synced(ref: k8s.CustomResourceReference): ) k8s.create_custom_resource(ref, resource_data) k8s.wait_resource_consumed_by_controller(ref) - condition.assert_not_synced(ref) + condition.assert_not_ready(ref) Raises: - pytest.fail when ACK.ResourceSynced condition is not found or is not in + pytest.fail when Ready condition is not found or is not in a False status. """ return assert_synced_status(ref, False) diff --git a/test/e2e/requirements.txt b/test/e2e/requirements.txt index 2400d1f..6e2ab16 100644 --- a/test/e2e/requirements.txt +++ b/test/e2e/requirements.txt @@ -1 +1 @@ -acktest @ git+https://github.com/aws-controllers-k8s/test-infra.git@e05e2903b8193f882b6caac7d052e009317219d7 \ No newline at end of file +acktest @ git+https://github.com/gustavodiaz7722/ack-test-infra.git@4a5c296da0fe386eadf95c242591ae4724cd0428 diff --git a/test/e2e/tests/test_db_cluster.py b/test/e2e/tests/test_db_cluster.py index e247262..2b8bdbc 100644 --- a/test/e2e/tests/test_db_cluster.py +++ b/test/e2e/tests/test_db_cluster.py @@ -95,7 +95,7 @@ def aurora_mysql_cluster(k8s_secret): assert 'status' in cr assert 'status' in cr['status'] assert cr['status']['status'] == 'creating' - condition.assert_not_synced(ref) + condition.assert_not_ready(ref) yield (ref, cr, db_cluster_id) @@ -140,7 +140,7 @@ def aurora_postgres_cluster(k8s_secret): assert 'status' in cr assert 'status' in cr['status'] assert cr['status']['status'] == 'creating' - condition.assert_not_synced(ref) + condition.assert_not_ready(ref) yield (ref, cr, db_cluster_id, secret.name) @@ -185,7 +185,7 @@ def aurora_postgres_cluster_log_exports(k8s_secret): assert 'status' in cr assert 'status' in cr['status'] assert cr['status']['status'] == 'creating' - condition.assert_not_synced(ref) + condition.assert_not_ready(ref) yield (ref, cr, db_cluster_id) @@ -227,7 +227,7 @@ def test_crud_mysql_serverless( assert 'status' in cr assert 'status' in cr['status'] assert cr['status']['status'] != 'creating' - condition.assert_synced(ref) + condition.assert_ready(ref) # We're now going to modify the CopyTagsToSnapshot field of the DB # instance, wait some time and verify that the RDS server-side resource @@ -381,7 +381,7 @@ def test_update_dbcluster_password( MUP_SEC_KEY, MUP_SEC_VAL, ) - assert k8s.wait_on_condition(ref, "ACK.ResourceSynced", "True", wait_periods=20) + assert k8s.wait_on_condition(ref, "Ready", "True", wait_periods=20) updates = { "spec": { @@ -396,7 +396,7 @@ def test_update_dbcluster_password( k8s.patch_custom_resource(ref, updates) time.sleep(35) - condition.assert_synced(ref) + condition.assert_ready(ref) cr = k8s.get_resource(ref) assert cr is not None diff --git a/test/e2e/tests/test_db_cluster_endpoint.py b/test/e2e/tests/test_db_cluster_endpoint.py index 35d0bff..a0d0cea 100644 --- a/test/e2e/tests/test_db_cluster_endpoint.py +++ b/test/e2e/tests/test_db_cluster_endpoint.py @@ -42,7 +42,7 @@ def db_cluster_endpoint_resource(aurora_mysql_cluster): cluster_ref, _, cluster_id = aurora_mysql_cluster - assert k8s.wait_on_condition(cluster_ref, "ACK.ResourceSynced", "True", wait_periods=DBINSTANCE_MAX_WAIT_FOR_SYNCED_SECONDS) + assert k8s.wait_on_condition(cluster_ref, "Ready", "True", wait_periods=DBINSTANCE_MAX_WAIT_FOR_SYNCED_SECONDS) resource_name = random_suffix_name("custom-endpoint", 24) @@ -116,7 +116,7 @@ def test_crud(self, db_cluster_endpoint_resource): } k8s.patch_custom_resource(ref, updates) time.sleep(MODIFY_WAIT_AFTER_SECONDS) - assert k8s.wait_on_condition(ref, "ACK.ResourceSynced", "True", wait_periods=5) + assert k8s.wait_on_condition(ref, "Ready", "True", wait_periods=5) # Verify tags were updated expected_tags = [ diff --git a/test/e2e/tests/test_db_cluster_snapshot.py b/test/e2e/tests/test_db_cluster_snapshot.py index 6afe40d..708c996 100644 --- a/test/e2e/tests/test_db_cluster_snapshot.py +++ b/test/e2e/tests/test_db_cluster_snapshot.py @@ -37,7 +37,7 @@ def aurora_mysql_db_cluster_snapshot(aurora_mysql_cluster): (ref, cr, _) = aurora_mysql_cluster # Wait for the dbinstance to get synced - assert k8s.wait_on_condition(ref, "ACK.ResourceSynced", "True", wait_periods=DBINSTANCE_MAX_WAIT_FOR_SYNCED_MINUTES) + assert k8s.wait_on_condition(ref, "Ready", "True", wait_periods=DBINSTANCE_MAX_WAIT_FOR_SYNCED_MINUTES) db_cluster_id = cr["spec"]["dbClusterIdentifier"] db_cluster_snapshot_id = random_suffix_name("cluster-snapshot", 20) @@ -83,12 +83,12 @@ def test_cluster_snapshot_create_delete( assert 'status' in cr assert 'status' in cr['status'] assert cr['status']['status'] == 'creating' - condition.assert_not_synced(ref) + condition.assert_not_ready(ref) db_cluster_snapshot_id = cr["spec"]["dbClusterSnapshotIdentifier"] # Wait for the resource to get synced - assert k8s.wait_on_condition(ref, "ACK.ResourceSynced", "True", wait_periods=MAX_WAIT_FOR_SYNCED_MINUTES) + assert k8s.wait_on_condition(ref, "Ready", "True", wait_periods=MAX_WAIT_FOR_SYNCED_MINUTES) # After the resource is synced, assert that DBSnapshotStatus is available latest = db_cluster_snapshot.get(db_cluster_snapshot_id) @@ -96,7 +96,7 @@ def test_cluster_snapshot_create_delete( assert latest['Status'] == 'available' # wait for the resource to get synced after the patch - assert k8s.wait_on_condition(ref, "ACK.ResourceSynced", "True", wait_periods=MAX_WAIT_FOR_SYNCED_MINUTES) + assert k8s.wait_on_condition(ref, "Ready", "True", wait_periods=MAX_WAIT_FOR_SYNCED_MINUTES) arn = latest['DBClusterSnapshotArn'] expect_tags = [ diff --git a/test/e2e/tests/test_db_instance.py b/test/e2e/tests/test_db_instance.py index ec27478..7d5816f 100644 --- a/test/e2e/tests/test_db_instance.py +++ b/test/e2e/tests/test_db_instance.py @@ -114,10 +114,10 @@ def test_crud_postgres14_t3_micro( assert 'status' in cr assert 'dbInstanceStatus' in cr['status'] assert cr['status']['dbInstanceStatus'] == 'creating' - condition.assert_not_synced(ref) + condition.assert_not_ready(ref) # Wait for the resource to get synced - assert k8s.wait_on_condition(ref, "ACK.ResourceSynced", "True", wait_periods=MAX_WAIT_FOR_SYNCED_MINUTES) + assert k8s.wait_on_condition(ref, "Ready", "True", wait_periods=MAX_WAIT_FOR_SYNCED_MINUTES) # After the resource is synced, assert that DBInstanceStatus is available latest = db_instance.get(db_instance_id) @@ -138,7 +138,7 @@ def test_crud_postgres14_t3_micro( assert 'status' in cr assert 'dbInstanceStatus' in cr['status'] assert cr['status']['dbInstanceStatus'] != 'creating' - condition.assert_synced(ref) + condition.assert_ready(ref) # We're now going to modify the CopyTagsToSnapshot field of the DB # instance, wait some time and verify that the RDS server-side resource @@ -153,7 +153,7 @@ def test_crud_postgres14_t3_micro( time.sleep(MODIFY_WAIT_AFTER_SECONDS) # wait for the resource to get synced after the patch - assert k8s.wait_on_condition(ref, "ACK.ResourceSynced", "True", wait_periods=MAX_WAIT_FOR_SYNCED_MINUTES) + assert k8s.wait_on_condition(ref, "Ready", "True", wait_periods=MAX_WAIT_FOR_SYNCED_MINUTES) # After resource is synced again, assert that patches are reflected in the AWS resource latest = db_instance.get(db_instance_id) @@ -167,7 +167,7 @@ def test_crud_postgres14_t3_micro( time.sleep(MODIFY_WAIT_AFTER_SECONDS) # wait for the resource to get synced after the patch - assert k8s.wait_on_condition(ref, "ACK.ResourceSynced", "True", wait_periods=MAX_WAIT_FOR_SYNCED_MINUTES) + assert k8s.wait_on_condition(ref, "Ready", "True", wait_periods=MAX_WAIT_FOR_SYNCED_MINUTES) # After resource is synced again, assert that patches are reflected in the AWS resource latest = db_instance.get(db_instance_id) @@ -215,7 +215,7 @@ def test_crud_postgres14_update_password( assert 'status' in cr assert 'dbInstanceStatus' in cr['status'] assert cr['status']['dbInstanceStatus'] == 'creating' - condition.assert_not_synced(ref) + condition.assert_not_ready(ref) # Assert that the last-applied-secret-reference annotation is set assert 'metadata' in cr @@ -225,7 +225,7 @@ def test_crud_postgres14_update_password( assert lastAppliedSecretRef == f"{MUP_NS}/{secret_name}.{MUP_SEC_KEY}" # Wait for the resource to get synced - assert k8s.wait_on_condition(ref, "ACK.ResourceSynced", "True", wait_periods=MAX_WAIT_FOR_SYNCED_MINUTES) + assert k8s.wait_on_condition(ref, "Ready", "True", wait_periods=MAX_WAIT_FOR_SYNCED_MINUTES) # After the resource is synced, assert that DBInstanceStatus is available latest = db_instance.get(db_instance_id) @@ -238,7 +238,7 @@ def test_crud_postgres14_update_password( assert 'status' in cr assert 'dbInstanceStatus' in cr['status'] assert cr['status']['dbInstanceStatus'] != 'creating' - condition.assert_synced(ref) + condition.assert_ready(ref) # Let's now update the DBInstance secret and check that the CR's # `Status.DBInstanceStatus` is updated to 'resetting-master-credentials' @@ -260,7 +260,7 @@ def test_crud_postgres14_update_password( k8s.patch_custom_resource(ref, updates) time.sleep(35) - condition.assert_not_synced(ref) + condition.assert_not_ready(ref) cr = k8s.get_resource(ref) assert cr is not None assert 'status' in cr @@ -280,10 +280,10 @@ def test_enable_pi_postgres14_t3_micro( assert 'status' in cr assert 'dbInstanceStatus' in cr['status'] assert cr['status']['dbInstanceStatus'] == 'creating' - condition.assert_not_synced(ref) + condition.assert_not_ready(ref) # Wait for the resource to get synced - assert k8s.wait_on_condition(ref, "ACK.ResourceSynced", "True", wait_periods=MAX_WAIT_FOR_SYNCED_MINUTES) + assert k8s.wait_on_condition(ref, "Ready", "True", wait_periods=MAX_WAIT_FOR_SYNCED_MINUTES) # After the resource is synced, assert that DBInstanceStatus is available latest = db_instance.get(db_instance_id) @@ -305,10 +305,10 @@ def test_enable_pi_postgres14_t3_micro( time.sleep(5) # Ensure the controller properly detects the status change - assert k8s.wait_on_condition(ref, "ACK.ResourceSynced", "False", wait_periods=MAX_WAIT_FOR_SYNCED_MINUTES) + assert k8s.wait_on_condition(ref, "Ready", "False", wait_periods=MAX_WAIT_FOR_SYNCED_MINUTES) # The resource should eventually come back into ResourceSynced = True - assert k8s.wait_on_condition(ref, "ACK.ResourceSynced", "True", wait_periods=MAX_WAIT_FOR_SYNCED_MINUTES) + assert k8s.wait_on_condition(ref, "Ready", "True", wait_periods=MAX_WAIT_FOR_SYNCED_MINUTES) # After resource is synced again, assert that patches are reflected in the AWS resource latest = db_instance.get(db_instance_id) @@ -342,7 +342,7 @@ def test_state_field_flapping( assert not bool(cr["spec"]["multiAZ"]) # Wait for the resource to get synced - assert k8s.wait_on_condition(ref, "ACK.ResourceSynced", "True", wait_periods=MAX_WAIT_FOR_SYNCED_MINUTES) + assert k8s.wait_on_condition(ref, "Ready", "True", wait_periods=MAX_WAIT_FOR_SYNCED_MINUTES) # We're now going to modify the instanceClass field of the DB instance, # wait some time and verify that the RDS server-side resource shows the @@ -361,7 +361,7 @@ def test_state_field_flapping( time.sleep(MODIFY_WAIT_AFTER_SECONDS) # wait for the resource to get synced after the patch - assert k8s.wait_on_condition(ref, "ACK.ResourceSynced", "True", wait_periods=MAX_WAIT_FOR_SYNCED_MINUTES) + assert k8s.wait_on_condition(ref, "Ready", "True", wait_periods=MAX_WAIT_FOR_SYNCED_MINUTES) # latest CR should have desired state set properly... cr = k8s.get_resource(ref) @@ -390,7 +390,7 @@ def test_state_field_flapping( time.sleep(MODIFY_WAIT_AFTER_SECONDS) # wait for the resource to get synced after the patch - assert k8s.wait_on_condition(ref, "ACK.ResourceSynced", "True", wait_periods=MAX_WAIT_FOR_SYNCED_MINUTES) + assert k8s.wait_on_condition(ref, "Ready", "True", wait_periods=MAX_WAIT_FOR_SYNCED_MINUTES) # latest CR should have desired state set properly... cr = k8s.get_resource(ref) @@ -421,7 +421,7 @@ def test_crud_postgres14_update_multiAZ( assert 'status' in cr assert 'dbInstanceStatus' in cr['status'] assert cr['status']['dbInstanceStatus'] == 'creating' - condition.assert_not_synced(ref) + condition.assert_not_ready(ref) # Assert that the last-applied-secret-reference annotation is set assert 'metadata' in cr @@ -429,7 +429,7 @@ def test_crud_postgres14_update_multiAZ( assert 'rds.services.k8s.aws/last-applied-secret-reference' in cr['metadata']['annotations'] # Wait for the resource to get synced - assert k8s.wait_on_condition(ref, "ACK.ResourceSynced", "True", wait_periods=MAX_WAIT_FOR_SYNCED_MINUTES) + assert k8s.wait_on_condition(ref, "Ready", "True", wait_periods=MAX_WAIT_FOR_SYNCED_MINUTES) # After the resource is synced, assert that DBInstanceStatus is available latest = db_instance.get(db_instance_id) @@ -442,7 +442,7 @@ def test_crud_postgres14_update_multiAZ( assert 'spec' in cr assert 'multiAZ' in cr['spec'] assert cr['spec']['multiAZ'] is False - condition.assert_synced(ref) + condition.assert_ready(ref) # Let's now update the DBInstance MultiAZ to be true updates = { @@ -453,14 +453,14 @@ def test_crud_postgres14_update_multiAZ( k8s.patch_custom_resource(ref, updates) time.sleep(35) - condition.assert_not_synced(ref) + condition.assert_not_ready(ref) cr = k8s.get_resource(ref) assert cr is not None assert 'status' in cr assert 'spec' in cr assert 'multiAZ' in cr['spec'] assert cr['spec']['multiAZ'] is True - assert k8s.wait_on_condition(ref, "ACK.ResourceSynced", "True", wait_periods=MAX_WAIT_FOR_SYNCED_MINUTES) + assert k8s.wait_on_condition(ref, "Ready", "True", wait_periods=MAX_WAIT_FOR_SYNCED_MINUTES) latest = db_instance.get(db_instance_id) assert latest is not None diff --git a/test/e2e/tests/test_db_proxy.py b/test/e2e/tests/test_db_proxy.py index 5aa8f03..f39f7a5 100644 --- a/test/e2e/tests/test_db_proxy.py +++ b/test/e2e/tests/test_db_proxy.py @@ -107,7 +107,7 @@ def test_crud_postgresql_proxy( assert k8s.wait_on_condition( ref, - condition.CONDITION_TYPE_RESOURCE_SYNCED, + condition.CONDITION_TYPE_READY, "True", wait_periods=5, period_length=3 diff --git a/test/e2e/tests/test_db_snapshot.py b/test/e2e/tests/test_db_snapshot.py index f74f355..1b73382 100644 --- a/test/e2e/tests/test_db_snapshot.py +++ b/test/e2e/tests/test_db_snapshot.py @@ -37,7 +37,7 @@ def postgres_db_snapshot(postgres14_t3_micro_instance): (ref, cr, _) = postgres14_t3_micro_instance # Wait for the dbinstance to get synced - assert k8s.wait_on_condition(ref, "ACK.ResourceSynced", "True", wait_periods=DBINSTANCE_MAX_WAIT_FOR_SYNCED_MINUTES) + assert k8s.wait_on_condition(ref, "Ready", "True", wait_periods=DBINSTANCE_MAX_WAIT_FOR_SYNCED_MINUTES) db_instance_id = cr["spec"]["dbInstanceIdentifier"] db_snapshot_id = random_suffix_name("snapshot", 20) @@ -84,12 +84,12 @@ def test_snapshot_create_delete( assert 'status' in cr assert 'status' in cr['status'] assert cr['status']['status'] == 'creating' - condition.assert_not_synced(ref) + condition.assert_not_ready(ref) db_snapshot_id = cr["spec"]["dbSnapshotIdentifier"] # Wait for the resource to get synced - assert k8s.wait_on_condition(ref, "ACK.ResourceSynced", "True", wait_periods=MAX_WAIT_FOR_SYNCED_MINUTES) + assert k8s.wait_on_condition(ref, "Ready", "True", wait_periods=MAX_WAIT_FOR_SYNCED_MINUTES) # After the resource is synced, assert that DBSnapshotStatus is available latest = db_snapshot.get(db_snapshot_id) @@ -97,7 +97,7 @@ def test_snapshot_create_delete( assert latest['Status'] == 'available' # wait for the resource to get synced after the patch - assert k8s.wait_on_condition(ref, "ACK.ResourceSynced", "True", wait_periods=MAX_WAIT_FOR_SYNCED_MINUTES) + assert k8s.wait_on_condition(ref, "Ready", "True", wait_periods=MAX_WAIT_FOR_SYNCED_MINUTES) arn = latest['DBSnapshotArn'] expect_tags = [ diff --git a/test/e2e/tests/test_db_subnet_group.py b/test/e2e/tests/test_db_subnet_group.py index 3137ed4..88e8085 100644 --- a/test/e2e/tests/test_db_subnet_group.py +++ b/test/e2e/tests/test_db_subnet_group.py @@ -60,7 +60,7 @@ def subnet_group_2az(): assert cr is not None assert k8s.get_resource_exists(ref) - condition.assert_synced(ref) + condition.assert_ready(ref) yield ref, cr, resource_name diff --git a/test/e2e/tests/test_global_cluster.py b/test/e2e/tests/test_global_cluster.py index fee4d93..fc292c3 100644 --- a/test/e2e/tests/test_global_cluster.py +++ b/test/e2e/tests/test_global_cluster.py @@ -78,7 +78,7 @@ def test_crud_postgresql_globalcluster( assert cr is not None assert 'status' in cr assert 'status' in cr['status'] - condition.assert_synced(ref) + condition.assert_ready(ref) latest = global_cluster.get(global_cluster_id) arn = latest['GlobalClusterArn'] diff --git a/test/e2e/tests/test_references.py b/test/e2e/tests/test_references.py index 9378979..c9da26b 100644 --- a/test/e2e/tests/test_references.py +++ b/test/e2e/tests/test_references.py @@ -257,8 +257,8 @@ def test_references( time.sleep(60) - condition.assert_synced(db_cluster_pg_ref) - condition.assert_synced(db_cluster_ref) + condition.assert_ready(db_cluster_pg_ref) + condition.assert_ready(db_cluster_ref) # Instance refers to parameter group by reference and DB cluster by # ID... @@ -278,8 +278,8 @@ def test_references( time.sleep(60) - condition.assert_synced(db_pg_ref) - condition.assert_synced(db_instance_ref) + condition.assert_ready(db_pg_ref) + condition.assert_ready(db_instance_ref) # NOTE(jaypipes): We need to manually delete the DB Instance first # because pytest fixtures will try to clean up the DB Parameter Group