Skip to content

Commit 2c9a397

Browse files
authored
Replace HandleDeleteNamespace Test With KUTTL (#3172)
TestReconcilerHandleDeleteNamespace was prone to flakes when run with `envtest-existing`, and so is here replaced by a KUTTL test with matching functionality. Issue [sc-14273]
1 parent 32d9838 commit 2c9a397

File tree

10 files changed

+124
-157
lines changed

10 files changed

+124
-157
lines changed

internal/controller/postgrescluster/delete_test.go

Lines changed: 0 additions & 157 deletions
This file was deleted.
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
apiVersion: v1
3+
kind: Namespace
4+
metadata:
5+
name: kuttl-test-delete-namespace
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
---
2+
apiVersion: postgres-operator.crunchydata.com/v1beta1
3+
kind: PostgresCluster
4+
metadata:
5+
name: delete-namespace
6+
namespace: kuttl-test-delete-namespace
7+
spec:
8+
postgresVersion: ${KUTTL_PG_VERSION}
9+
instances:
10+
- name: instance1
11+
replicas: 2
12+
dataVolumeClaimSpec:
13+
accessModes:
14+
- "ReadWriteOnce"
15+
resources:
16+
requests:
17+
storage: 1Gi
18+
backups:
19+
pgbackrest:
20+
repos:
21+
- name: repo1
22+
volume:
23+
volumeClaimSpec:
24+
accessModes:
25+
- "ReadWriteOnce"
26+
resources:
27+
requests:
28+
storage: 1Gi
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
---
2+
apiVersion: postgres-operator.crunchydata.com/v1beta1
3+
kind: PostgresCluster
4+
metadata:
5+
name: delete-namespace
6+
namespace: kuttl-test-delete-namespace
7+
status:
8+
instances:
9+
- name: instance1
10+
readyReplicas: 2
11+
replicas: 2
12+
updatedReplicas: 2
13+
---
14+
apiVersion: batch/v1
15+
kind: Job
16+
metadata:
17+
namespace: kuttl-test-delete-namespace
18+
labels:
19+
postgres-operator.crunchydata.com/cluster: delete-namespace
20+
postgres-operator.crunchydata.com/pgbackrest-backup: replica-create
21+
status:
22+
succeeded: 1
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
---
2+
# Remove the cluster.
3+
apiVersion: kuttl.dev/v1beta1
4+
kind: TestStep
5+
delete:
6+
- apiVersion: v1
7+
kind: Namespace
8+
name: kuttl-test-delete-namespace
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
---
2+
apiVersion: postgres-operator.crunchydata.com/v1beta1
3+
kind: PostgresCluster
4+
namespace: kuttl-test-delete-namespace
5+
labels:
6+
postgres-operator.crunchydata.com/cluster: delete
7+
---
8+
apiVersion: apps/v1
9+
kind: StatefulSet
10+
namespace: kuttl-test-delete-namespace
11+
labels:
12+
postgres-operator.crunchydata.com/cluster: delete
13+
---
14+
apiVersion: v1
15+
kind: Pod
16+
namespace: kuttl-test-delete-namespace
17+
labels:
18+
postgres-operator.crunchydata.com/cluster: delete
19+
---
20+
apiVersion: v1
21+
kind: Service
22+
namespace: kuttl-test-delete-namespace
23+
labels:
24+
postgres-operator.crunchydata.com/cluster: delete
25+
---
26+
apiVersion: v1
27+
kind: Secret
28+
namespace: kuttl-test-delete-namespace
29+
labels:
30+
postgres-operator.crunchydata.com/cluster: delete
31+
---
32+
apiVersion: v1
33+
kind: ConfigMap
34+
namespace: kuttl-test-delete-namespace
35+
labels:
36+
postgres-operator.crunchydata.com/cluster: delete
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
### Delete namespace test
2+
3+
* Create a namespace
4+
* Start a regular cluster in that namespace
5+
* Delete the namespace
6+
* Check that nothing remains.
7+
8+
Note: KUTTL provides a `$NAMESPACE` var that can be used in scripts/commands,
9+
but which cannot be used in object definition yamls (like `01--cluster.yaml`).
10+
Therefore, we use a given, non-random namespace: `kuttl-test-delete-namespace`.

testing/kuttl/e2e/delete/02-errors.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,3 +23,8 @@ apiVersion: v1
2323
kind: Secret
2424
labels:
2525
postgres-operator.crunchydata.com/cluster: delete
26+
---
27+
apiVersion: v1
28+
kind: ConfigMap
29+
labels:
30+
postgres-operator.crunchydata.com/cluster: delete

testing/kuttl/e2e/delete/14-errors.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,3 +23,8 @@ apiVersion: v1
2323
kind: Secret
2424
labels:
2525
postgres-operator.crunchydata.com/cluster: delete-switchover
26+
---
27+
apiVersion: v1
28+
kind: ConfigMap
29+
labels:
30+
postgres-operator.crunchydata.com/cluster: delete-switchover

testing/kuttl/e2e/delete/22-errors.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,3 +23,8 @@ apiVersion: v1
2323
kind: Secret
2424
labels:
2525
postgres-operator.crunchydata.com/cluster: delete-not-running
26+
---
27+
apiVersion: v1
28+
kind: ConfigMap
29+
labels:
30+
postgres-operator.crunchydata.com/cluster: delete-not-running

0 commit comments

Comments
 (0)