From c337ed0d9d1a4fa383ffb6727da30fa9389bdb90 Mon Sep 17 00:00:00 2001 From: Diogo Recharte Date: Tue, 4 Feb 2025 19:08:15 +0000 Subject: [PATCH] EVEREST-1841 add e2e tests for mongo upgrades --- .github/workflows/ci.yml | 48 +++++++++++- .../db-upgrade/psmdb/00-deploy-operators.yaml | 5 ++ tests/e2e/db-upgrade/psmdb/01-assert.yaml | 55 ++++++++++++++ .../e2e/db-upgrade/psmdb/01-deploy-dbaas.yaml | 7 ++ tests/e2e/db-upgrade/psmdb/10-assert.yaml | 75 +++++++++++++++++++ .../db-upgrade/psmdb/10-create-cluster.yaml | 27 +++++++ tests/e2e/db-upgrade/psmdb/20-assert.yaml | 75 +++++++++++++++++++ .../db-upgrade/psmdb/20-minor-upgrade.yaml | 27 +++++++ .../psmdb/30-another-minor-upgrade.yaml | 27 +++++++ tests/e2e/db-upgrade/psmdb/30-assert.yaml | 75 +++++++++++++++++++ tests/e2e/db-upgrade/psmdb/40-assert.yaml | 75 +++++++++++++++++++ .../db-upgrade/psmdb/40-major-upgrade.yaml | 27 +++++++ .../psmdb/50-another-major-upgrade.yaml | 27 +++++++ tests/e2e/db-upgrade/psmdb/50-assert.yaml | 75 +++++++++++++++++++ .../db-upgrade/psmdb/97-delete-clusters.yaml | 8 ++ tests/e2e/db-upgrade/psmdb/98-drop-pvc.yaml | 5 ++ tests/e2e/kuttl-db-upgrade.yaml | 11 +++ 17 files changed, 648 insertions(+), 1 deletion(-) create mode 100644 tests/e2e/db-upgrade/psmdb/00-deploy-operators.yaml create mode 100644 tests/e2e/db-upgrade/psmdb/01-assert.yaml create mode 100644 tests/e2e/db-upgrade/psmdb/01-deploy-dbaas.yaml create mode 100644 tests/e2e/db-upgrade/psmdb/10-assert.yaml create mode 100644 tests/e2e/db-upgrade/psmdb/10-create-cluster.yaml create mode 100644 tests/e2e/db-upgrade/psmdb/20-assert.yaml create mode 100644 tests/e2e/db-upgrade/psmdb/20-minor-upgrade.yaml create mode 100644 tests/e2e/db-upgrade/psmdb/30-another-minor-upgrade.yaml create mode 100644 tests/e2e/db-upgrade/psmdb/30-assert.yaml create mode 100644 tests/e2e/db-upgrade/psmdb/40-assert.yaml create mode 100644 tests/e2e/db-upgrade/psmdb/40-major-upgrade.yaml create mode 100644 tests/e2e/db-upgrade/psmdb/50-another-major-upgrade.yaml create mode 100644 tests/e2e/db-upgrade/psmdb/50-assert.yaml create mode 100644 tests/e2e/db-upgrade/psmdb/97-delete-clusters.yaml create mode 100644 tests/e2e/db-upgrade/psmdb/98-drop-pvc.yaml create mode 100644 tests/e2e/kuttl-db-upgrade.yaml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1093587ac..424863059 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -120,7 +120,7 @@ jobs: eks-e2e-tests: name: E2E tests (EKS) - if: contains(github.event.pull_request.labels.*.name, 'test/e2e') || contains(github.event.pull_request.labels.*.name, 'test/e2e-operator-upgrade') || contains(github.event.pull_request.labels.*.name, 'test/e2e-core') + if: contains(github.event.pull_request.labels.*.name, 'test/e2e') || contains(github.event.pull_request.labels.*.name, 'test/e2e-operator-upgrade') || contains(github.event.pull_request.labels.*.name, 'test/e2e-core') || contains(github.event.pull_request.labels.*.name, 'test/e2e-db-upgrade') timeout-minutes: 80 concurrency: eks-e2e-tests strategy: @@ -280,6 +280,52 @@ jobs: kubectl delete apiservice v1.packages.operators.coreos.com --ignore-not-found=true kubectl get crd -o name | grep .coreos.com$ | awk -F '/' {'print $2'} | xargs --no-run-if-empty kubectl delete crd + - name: Run db upgrade tests + if: contains(github.event.pull_request.labels.*.name, 'test/e2e') || contains(github.event.pull_request.labels.*.name, 'test/e2e-db-upgrade') + run: | + kubectl kuttl test --config ./tests/e2e/kuttl-db-upgrade.yaml + env: + PXC_OPERATOR_VERSION: 1.16.1 + PSMDB_OPERATOR_VERSION: 1.19.0 + PG_OPERATOR_VERSION: 2.5.0 + PERCONA_VERSION_SERVICE_URL: https://check-dev.percona.com/versions/v1 + + - name: Clean up custom resources + if: always() + run: | + namespaces=$(kubectl get pxc -A -o jsonpath='{.items[*].metadata.namespace}') + for namespace in ${namespaces[@]} + do + kubectl -n $namespace get pxc -o name | awk -F '/' {'print $2'} | xargs --no-run-if-empty kubectl patch pxc -n $namespace -p '{"metadata":{"finalizers":null}}' --type merge + done + + namespaces=$(kubectl get psmdb -A -o jsonpath='{.items[*].metadata.namespace}') + for namespace in ${namespaces[@]} + do + kubectl -n $namespace get psmdb -o name | awk -F '/' {'print $2'} | xargs --no-run-if-empty kubectl patch psmdb -n $namespace -p '{"metadata":{"finalizers":null}}' --type merge + done + + namespaces=$(kubectl get pg -A -o jsonpath='{.items[*].metadata.namespace}') + for namespace in ${namespaces[@]} + do + kubectl -n $namespace get pg -o name | awk -F '/' {'print $2'} | xargs --no-run-if-empty kubectl patch pg -n $namespace -p '{"metadata":{"finalizers":null}}' --type merge + done + + namespaces=$(kubectl get db -A -o jsonpath='{.items[*].metadata.namespace}') + for namespace in ${namespaces[@]} + do + kubectl -n $namespace get db -o name | awk -F '/' {'print $2'} | xargs --no-run-if-empty kubectl patch db -n $namespace -p '{"metadata":{"finalizers":null}}' --type merge + done + + kubectl delete db --all-namespaces --all --cascade=foreground + kubectl delete pvc --all-namespaces --all + kubectl delete backupstorage --all-namespaces --all + kubectl get ns -o name | grep kuttl | awk -F '/' {'print $2'} | xargs --no-run-if-empty kubectl delete ns + kubectl delete ns operators olm --ignore-not-found=true --wait=false + sleep 10 + kubectl delete apiservice v1.packages.operators.coreos.com --ignore-not-found=true + kubectl get crd -o name | grep .coreos.com$ | awk -F '/' {'print $2'} | xargs --no-run-if-empty kubectl delete crd + - name: Scale down cluster if: always() run: | diff --git a/tests/e2e/db-upgrade/psmdb/00-deploy-operators.yaml b/tests/e2e/db-upgrade/psmdb/00-deploy-operators.yaml new file mode 100644 index 000000000..a1021e6c6 --- /dev/null +++ b/tests/e2e/db-upgrade/psmdb/00-deploy-operators.yaml @@ -0,0 +1,5 @@ +apiVersion: kuttl.dev/v1 +kind: TestStep +timeout: 10 +commands: + - command: kubectl apply --server-side -f https://raw.githubusercontent.com/percona/percona-server-mongodb-operator/v${PSMDB_OPERATOR_VERSION}/deploy/bundle.yaml -n "${NAMESPACE}" diff --git a/tests/e2e/db-upgrade/psmdb/01-assert.yaml b/tests/e2e/db-upgrade/psmdb/01-assert.yaml new file mode 100644 index 000000000..52f2b4b34 --- /dev/null +++ b/tests/e2e/db-upgrade/psmdb/01-assert.yaml @@ -0,0 +1,55 @@ +apiVersion: kuttl.dev/v1 +kind: TestAssert +timeout: 120 +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + name: perconaservermongodbs.psmdb.percona.com +spec: + group: psmdb.percona.com + names: + kind: PerconaServerMongoDB + listKind: PerconaServerMongoDBList + plural: perconaservermongodbs + shortNames: + - psmdb + singular: perconaservermongodb + scope: Namespaced +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + name: databaseclusters.everest.percona.com +spec: + group: everest.percona.com + names: + kind: DatabaseCluster + listKind: DatabaseClusterList + plural: databaseclusters + shortNames: + - db + - dbc + - dbcluster + singular: databasecluster + scope: Namespaced +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: percona-server-mongodb-operator +status: + availableReplicas: 1 + observedGeneration: 1 + readyReplicas: 1 + replicas: 1 + updatedReplicas: 1 +--- +apiVersion: everest.percona.com/v1alpha1 +kind: DatabaseEngine +metadata: + name: percona-server-mongodb-operator +spec: + type: psmdb +status: + status: installed diff --git a/tests/e2e/db-upgrade/psmdb/01-deploy-dbaas.yaml b/tests/e2e/db-upgrade/psmdb/01-deploy-dbaas.yaml new file mode 100644 index 000000000..5f5ecf9ef --- /dev/null +++ b/tests/e2e/db-upgrade/psmdb/01-deploy-dbaas.yaml @@ -0,0 +1,7 @@ +apiVersion: kuttl.dev/v1 +kind: TestStep +timeout: 10 +commands: + - script: SYSTEM_NAMESPACE=$NAMESPACE MONITORING_NAMESPACE=$NAMESPACE DB_NAMESPACES=$NAMESPACE ../../../../bin/manager -metrics-bind-address :0 -health-probe-bind-address :0 + background: true + skipLogOutput: true diff --git a/tests/e2e/db-upgrade/psmdb/10-assert.yaml b/tests/e2e/db-upgrade/psmdb/10-assert.yaml new file mode 100644 index 000000000..20af15f0e --- /dev/null +++ b/tests/e2e/db-upgrade/psmdb/10-assert.yaml @@ -0,0 +1,75 @@ +apiVersion: kuttl.dev/v1 +kind: TestAssert +timeout: 300 +commands: + - command: kubectl wait --for=jsonpath='{.status.crVersion}'=${PSMDB_OPERATOR_VERSION} db/test-psmdb-cluster -n "${NAMESPACE}" +--- +apiVersion: everest.percona.com/v1alpha1 +kind: DatabaseCluster +metadata: + name: test-psmdb-cluster +spec: + engine: + type: psmdb + version: 6.0.16-13 + config: | + operationProfiling: + mode: slowOp + userSecretsName: psmdb-sample-secrets + replicas: 3 + storage: + size: 15G + resources: + cpu: 300m + memory: 500M + proxy: + type: mongos + replicas: 3 +status: + ready: 3 + size: 3 + status: ready +--- +apiVersion: psmdb.percona.com/v1 +kind: PerconaServerMongoDB +metadata: + name: test-psmdb-cluster + finalizers: + - percona.com/delete-psmdb-pods-in-order + - percona.com/delete-psmdb-pvc +spec: + image: percona/percona-server-mongodb:6.0.16-13 + multiCluster: + enabled: false + replsets: + - configuration: | + operationProfiling: + mode: slowOp + expose: + enabled: false + name: rs0 + resources: + limits: + cpu: 300m + memory: 500M + size: 3 + volumeSpec: + persistentVolumeClaim: + resources: + requests: + storage: 15G + secrets: + users: psmdb-sample-secrets + sharding: + enabled: false +status: + mongoVersion: 6.0.16-13 + replsets: + rs0: + initialized: true + ready: 3 + size: 3 + status: ready + ready: 3 + size: 3 + state: ready diff --git a/tests/e2e/db-upgrade/psmdb/10-create-cluster.yaml b/tests/e2e/db-upgrade/psmdb/10-create-cluster.yaml new file mode 100644 index 000000000..da206213b --- /dev/null +++ b/tests/e2e/db-upgrade/psmdb/10-create-cluster.yaml @@ -0,0 +1,27 @@ +apiVersion: kuttl.dev/v1 +kind: TestStep +--- +apiVersion: everest.percona.com/v1alpha1 +kind: DatabaseCluster +metadata: + name: test-psmdb-cluster + finalizers: + - everest.percona.com/upstream-cluster-cleanup + - foregroundDeletion +spec: + engine: + type: psmdb + version: 6.0.16-13 + config: | + operationProfiling: + mode: slowOp + userSecretsName: psmdb-sample-secrets + replicas: 3 + storage: + size: 15G + resources: + cpu: 300m + memory: 500M + proxy: + type: mongos + replicas: 3 diff --git a/tests/e2e/db-upgrade/psmdb/20-assert.yaml b/tests/e2e/db-upgrade/psmdb/20-assert.yaml new file mode 100644 index 000000000..9672c18c8 --- /dev/null +++ b/tests/e2e/db-upgrade/psmdb/20-assert.yaml @@ -0,0 +1,75 @@ +apiVersion: kuttl.dev/v1 +kind: TestAssert +timeout: 300 +commands: + - command: kubectl wait --for=jsonpath='{.status.crVersion}'=${PSMDB_OPERATOR_VERSION} db/test-psmdb-cluster -n "${NAMESPACE}" +--- +apiVersion: everest.percona.com/v1alpha1 +kind: DatabaseCluster +metadata: + name: test-psmdb-cluster +spec: + engine: + type: psmdb + version: 6.0.18-15 + config: | + operationProfiling: + mode: slowOp + userSecretsName: psmdb-sample-secrets + replicas: 3 + storage: + size: 15G + resources: + cpu: 300m + memory: 500M + proxy: + type: mongos + replicas: 3 +status: + ready: 3 + size: 3 + status: ready +--- +apiVersion: psmdb.percona.com/v1 +kind: PerconaServerMongoDB +metadata: + name: test-psmdb-cluster + finalizers: + - percona.com/delete-psmdb-pods-in-order + - percona.com/delete-psmdb-pvc +spec: + image: percona/percona-server-mongodb:6.0.18-15-multi + multiCluster: + enabled: false + replsets: + - configuration: | + operationProfiling: + mode: slowOp + expose: + enabled: false + name: rs0 + resources: + limits: + cpu: 300m + memory: 500M + size: 3 + volumeSpec: + persistentVolumeClaim: + resources: + requests: + storage: 15G + secrets: + users: psmdb-sample-secrets + sharding: + enabled: false +status: + mongoVersion: 6.0.18-15 + replsets: + rs0: + initialized: true + ready: 3 + size: 3 + status: ready + ready: 3 + size: 3 + state: ready diff --git a/tests/e2e/db-upgrade/psmdb/20-minor-upgrade.yaml b/tests/e2e/db-upgrade/psmdb/20-minor-upgrade.yaml new file mode 100644 index 000000000..650552bf5 --- /dev/null +++ b/tests/e2e/db-upgrade/psmdb/20-minor-upgrade.yaml @@ -0,0 +1,27 @@ +apiVersion: kuttl.dev/v1 +kind: TestStep +--- +apiVersion: everest.percona.com/v1alpha1 +kind: DatabaseCluster +metadata: + name: test-psmdb-cluster + finalizers: + - everest.percona.com/upstream-cluster-cleanup + - foregroundDeletion +spec: + engine: + type: psmdb + version: 6.0.18-15 + config: | + operationProfiling: + mode: slowOp + userSecretsName: psmdb-sample-secrets + replicas: 3 + storage: + size: 15G + resources: + cpu: 300m + memory: 500M + proxy: + type: mongos + replicas: 3 diff --git a/tests/e2e/db-upgrade/psmdb/30-another-minor-upgrade.yaml b/tests/e2e/db-upgrade/psmdb/30-another-minor-upgrade.yaml new file mode 100644 index 000000000..a1800485a --- /dev/null +++ b/tests/e2e/db-upgrade/psmdb/30-another-minor-upgrade.yaml @@ -0,0 +1,27 @@ +apiVersion: kuttl.dev/v1 +kind: TestStep +--- +apiVersion: everest.percona.com/v1alpha1 +kind: DatabaseCluster +metadata: + name: test-psmdb-cluster + finalizers: + - everest.percona.com/upstream-cluster-cleanup + - foregroundDeletion +spec: + engine: + type: psmdb + version: 6.0.19-16 + config: | + operationProfiling: + mode: slowOp + userSecretsName: psmdb-sample-secrets + replicas: 3 + storage: + size: 15G + resources: + cpu: 300m + memory: 500M + proxy: + type: mongos + replicas: 3 diff --git a/tests/e2e/db-upgrade/psmdb/30-assert.yaml b/tests/e2e/db-upgrade/psmdb/30-assert.yaml new file mode 100644 index 000000000..5d12b8fb0 --- /dev/null +++ b/tests/e2e/db-upgrade/psmdb/30-assert.yaml @@ -0,0 +1,75 @@ +apiVersion: kuttl.dev/v1 +kind: TestAssert +timeout: 300 +commands: + - command: kubectl wait --for=jsonpath='{.status.crVersion}'=${PSMDB_OPERATOR_VERSION} db/test-psmdb-cluster -n "${NAMESPACE}" +--- +apiVersion: everest.percona.com/v1alpha1 +kind: DatabaseCluster +metadata: + name: test-psmdb-cluster +spec: + engine: + type: psmdb + version: 6.0.19-16 + config: | + operationProfiling: + mode: slowOp + userSecretsName: psmdb-sample-secrets + replicas: 3 + storage: + size: 15G + resources: + cpu: 300m + memory: 500M + proxy: + type: mongos + replicas: 3 +status: + ready: 3 + size: 3 + status: ready +--- +apiVersion: psmdb.percona.com/v1 +kind: PerconaServerMongoDB +metadata: + name: test-psmdb-cluster + finalizers: + - percona.com/delete-psmdb-pods-in-order + - percona.com/delete-psmdb-pvc +spec: + image: percona/percona-server-mongodb:6.0.19-16-multi + multiCluster: + enabled: false + replsets: + - configuration: | + operationProfiling: + mode: slowOp + expose: + enabled: false + name: rs0 + resources: + limits: + cpu: 300m + memory: 500M + size: 3 + volumeSpec: + persistentVolumeClaim: + resources: + requests: + storage: 15G + secrets: + users: psmdb-sample-secrets + sharding: + enabled: false +status: + mongoVersion: 6.0.19-16 + replsets: + rs0: + initialized: true + ready: 3 + size: 3 + status: ready + ready: 3 + size: 3 + state: ready diff --git a/tests/e2e/db-upgrade/psmdb/40-assert.yaml b/tests/e2e/db-upgrade/psmdb/40-assert.yaml new file mode 100644 index 000000000..f7cac3288 --- /dev/null +++ b/tests/e2e/db-upgrade/psmdb/40-assert.yaml @@ -0,0 +1,75 @@ +apiVersion: kuttl.dev/v1 +kind: TestAssert +timeout: 300 +commands: + - command: kubectl wait --for=jsonpath='{.status.crVersion}'=${PSMDB_OPERATOR_VERSION} db/test-psmdb-cluster -n "${NAMESPACE}" +--- +apiVersion: everest.percona.com/v1alpha1 +kind: DatabaseCluster +metadata: + name: test-psmdb-cluster +spec: + engine: + type: psmdb + version: 7.0.15-9 + config: | + operationProfiling: + mode: slowOp + userSecretsName: psmdb-sample-secrets + replicas: 3 + storage: + size: 15G + resources: + cpu: 300m + memory: 500M + proxy: + type: mongos + replicas: 3 +status: + ready: 3 + size: 3 + status: ready +--- +apiVersion: psmdb.percona.com/v1 +kind: PerconaServerMongoDB +metadata: + name: test-psmdb-cluster + finalizers: + - percona.com/delete-psmdb-pods-in-order + - percona.com/delete-psmdb-pvc +spec: + image: percona/percona-server-mongodb:7.0.15-9-multi + multiCluster: + enabled: false + replsets: + - configuration: | + operationProfiling: + mode: slowOp + expose: + enabled: false + name: rs0 + resources: + limits: + cpu: 300m + memory: 500M + size: 3 + volumeSpec: + persistentVolumeClaim: + resources: + requests: + storage: 15G + secrets: + users: psmdb-sample-secrets + sharding: + enabled: false +status: + mongoVersion: 7.0.15-9 + replsets: + rs0: + initialized: true + ready: 3 + size: 3 + status: ready + ready: 3 + size: 3 + state: ready diff --git a/tests/e2e/db-upgrade/psmdb/40-major-upgrade.yaml b/tests/e2e/db-upgrade/psmdb/40-major-upgrade.yaml new file mode 100644 index 000000000..d2ab98f42 --- /dev/null +++ b/tests/e2e/db-upgrade/psmdb/40-major-upgrade.yaml @@ -0,0 +1,27 @@ +apiVersion: kuttl.dev/v1 +kind: TestStep +--- +apiVersion: everest.percona.com/v1alpha1 +kind: DatabaseCluster +metadata: + name: test-psmdb-cluster + finalizers: + - everest.percona.com/upstream-cluster-cleanup + - foregroundDeletion +spec: + engine: + type: psmdb + version: 7.0.15-9 + config: | + operationProfiling: + mode: slowOp + userSecretsName: psmdb-sample-secrets + replicas: 3 + storage: + size: 15G + resources: + cpu: 300m + memory: 500M + proxy: + type: mongos + replicas: 3 diff --git a/tests/e2e/db-upgrade/psmdb/50-another-major-upgrade.yaml b/tests/e2e/db-upgrade/psmdb/50-another-major-upgrade.yaml new file mode 100644 index 000000000..c8468cc9c --- /dev/null +++ b/tests/e2e/db-upgrade/psmdb/50-another-major-upgrade.yaml @@ -0,0 +1,27 @@ +apiVersion: kuttl.dev/v1 +kind: TestStep +--- +apiVersion: everest.percona.com/v1alpha1 +kind: DatabaseCluster +metadata: + name: test-psmdb-cluster + finalizers: + - everest.percona.com/upstream-cluster-cleanup + - foregroundDeletion +spec: + engine: + type: psmdb + version: 8.0.4-1 + config: | + operationProfiling: + mode: slowOp + userSecretsName: psmdb-sample-secrets + replicas: 3 + storage: + size: 15G + resources: + cpu: 300m + memory: 500M + proxy: + type: mongos + replicas: 3 diff --git a/tests/e2e/db-upgrade/psmdb/50-assert.yaml b/tests/e2e/db-upgrade/psmdb/50-assert.yaml new file mode 100644 index 000000000..ec75d8dd7 --- /dev/null +++ b/tests/e2e/db-upgrade/psmdb/50-assert.yaml @@ -0,0 +1,75 @@ +apiVersion: kuttl.dev/v1 +kind: TestAssert +timeout: 300 +commands: + - command: kubectl wait --for=jsonpath='{.status.crVersion}'=${PSMDB_OPERATOR_VERSION} db/test-psmdb-cluster -n "${NAMESPACE}" +--- +apiVersion: everest.percona.com/v1alpha1 +kind: DatabaseCluster +metadata: + name: test-psmdb-cluster +spec: + engine: + type: psmdb + version: 8.0.4-1 + config: | + operationProfiling: + mode: slowOp + userSecretsName: psmdb-sample-secrets + replicas: 3 + storage: + size: 15G + resources: + cpu: 300m + memory: 500M + proxy: + type: mongos + replicas: 3 +status: + ready: 3 + size: 3 + status: ready +--- +apiVersion: psmdb.percona.com/v1 +kind: PerconaServerMongoDB +metadata: + name: test-psmdb-cluster + finalizers: + - percona.com/delete-psmdb-pods-in-order + - percona.com/delete-psmdb-pvc +spec: + image: percona/percona-server-mongodb:8.0.4-1-multi + multiCluster: + enabled: false + replsets: + - configuration: | + operationProfiling: + mode: slowOp + expose: + enabled: false + name: rs0 + resources: + limits: + cpu: 300m + memory: 500M + size: 3 + volumeSpec: + persistentVolumeClaim: + resources: + requests: + storage: 15G + secrets: + users: psmdb-sample-secrets + sharding: + enabled: false +status: + mongoVersion: 8.0.4-1 + replsets: + rs0: + initialized: true + ready: 3 + size: 3 + status: ready + ready: 3 + size: 3 + state: ready diff --git a/tests/e2e/db-upgrade/psmdb/97-delete-clusters.yaml b/tests/e2e/db-upgrade/psmdb/97-delete-clusters.yaml new file mode 100644 index 000000000..3959d7677 --- /dev/null +++ b/tests/e2e/db-upgrade/psmdb/97-delete-clusters.yaml @@ -0,0 +1,8 @@ +apiVersion: kuttl.dev/v1 +kind: TestStep +timeout: 10 +commands: + - script: kubectl -n $NAMESPACE delete db test-psmdb-cluster --wait=false && sleep 5 + - command: kubectl patch psmdb test-psmdb-cluster -n $NAMESPACE -p '{"metadata":{"finalizers":null}}' --type merge + ignoreFailure: true + - command: kubectl wait --for=delete db test-psmdb-cluster --timeout=60s -n $NAMESPACE diff --git a/tests/e2e/db-upgrade/psmdb/98-drop-pvc.yaml b/tests/e2e/db-upgrade/psmdb/98-drop-pvc.yaml new file mode 100644 index 000000000..f53054224 --- /dev/null +++ b/tests/e2e/db-upgrade/psmdb/98-drop-pvc.yaml @@ -0,0 +1,5 @@ +apiVersion: kuttl.dev/v1 +kind: TestStep +delete: +- apiVersion: v1 + kind: PersistentVolumeClaim diff --git a/tests/e2e/kuttl-db-upgrade.yaml b/tests/e2e/kuttl-db-upgrade.yaml new file mode 100644 index 000000000..b146377ac --- /dev/null +++ b/tests/e2e/kuttl-db-upgrade.yaml @@ -0,0 +1,11 @@ +apiVersion: kuttl.dev/v1 +kind: TestSuite +crdDir: config/crd/bases +artifactsDir: /tmp/ +parallel: 1 +timeout: 180 +skipDelete: true +testDirs: +- tests/e2e/db-upgrade +manifestDirs: +- tests/manifests