Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion e2e-tests/functions
Original file line number Diff line number Diff line change
Expand Up @@ -1114,7 +1114,11 @@ get_container_image() {
operatorVersion=main
fi

echo "${IMAGE_BASE}:${operatorVersion}-ppg${pgVersion}-${component}"
if [[ $component == 'pgbouncer' || $component == 'pgbackrest' ]]; then
echo "${IMAGE_BASE}:${operatorVersion}-${component}${pgVersion}"
else
echo "${IMAGE_BASE}:${operatorVersion}-ppg${pgVersion}-${component}"
fi
}

get_postgresql_logs() {
Expand Down
1 change: 1 addition & 0 deletions e2e-tests/run-release.csv
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ database-init-sql
demand-backup
finalizers
init-deploy
major-upgrade
monitoring
monitoring-pmm3
one-pod
Expand Down
8 changes: 4 additions & 4 deletions e2e-tests/tests/major-upgrade/01-create-cluster.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,11 @@ commands:

get_cr \
| yq eval '
.spec.postgresVersion = 12 |
.spec.image = "perconalab/percona-postgresql-operator:main-ppg12-postgres" |
.spec.postgresVersion = 13 |
.spec.image = "perconalab/percona-postgresql-operator:main-ppg13-postgres" |
.spec.instances[0].dataVolumeClaimSpec.resources.requests.storage = "3Gi" |
.spec.proxy.pgBouncer.image = "perconalab/percona-postgresql-operator:main-ppg12-pgbouncer" |
.spec.backups.pgbackrest.image = "perconalab/percona-postgresql-operator:main-ppg12-pgbackrest" |
.spec.proxy.pgBouncer.image = "perconalab/percona-postgresql-operator:main-pgbouncer13" |
.spec.backups.pgbackrest.image = "perconalab/percona-postgresql-operator:main-pgbackrest13" |
.spec.patroni.dynamicConfiguration.postgresql.parameters.shared_preload_libraries = "pg_cron" |
.spec.extensions.custom += [{"name": "pg_cron", "version": "1.6.1"}]' \
| kubectl -n "${NAMESPACE}" apply -f -
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ kind: PerconaPGCluster
metadata:
name: major-upgrade
spec:
postgresVersion: 15
postgresVersion: 14
status:
pgbouncer:
ready: 3
Expand All @@ -32,7 +32,7 @@ metadata:
postgres-operator.crunchydata.com/cluster: major-upgrade
postgres-operator.crunchydata.com/pgbackrest: ''
postgres-operator.crunchydata.com/pgbackrest-backup: replica-create
postgres-operator.crunchydata.com/pgbackrest-repo: repo3
postgres-operator.crunchydata.com/pgbackrest-repo: repo1
ownerReferences:
- apiVersion: pgv2.percona.com/v2
kind: PerconaPGBackup
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,6 @@ status:
pgbackrest:
repos:
- bound: true
name: repo1
name: repo2
replicaCreateBackupComplete: true
stanzaCreated: true
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ metadata:
postgres-operator.crunchydata.com/pgbackrest-backup: backup-after-13-to-14
labels:
postgres-operator.crunchydata.com/pgbackrest-backup: manual
postgres-operator.crunchydata.com/pgbackrest-repo: repo3
postgres-operator.crunchydata.com/pgbackrest-repo: repo2
ownerReferences:
- apiVersion: pgv2.percona.com/v2
kind: PerconaPGBackup
Expand All @@ -24,7 +24,7 @@ metadata:
name: backup-after-13-to-14
spec:
pgCluster: major-upgrade
repoName: repo3
repoName: repo2
options:
- --type=full
status:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@ metadata:
name: backup-after-13-to-14
spec:
pgCluster: major-upgrade
repoName: repo3
repoName: repo2
options:
- --type=full
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ kind: PerconaPGCluster
metadata:
name: major-upgrade
spec:
postgresVersion: 14
postgresVersion: 15
status:
pgbouncer:
ready: 3
Expand Down
24 changes: 0 additions & 24 deletions e2e-tests/tests/major-upgrade/10-12-to-13.yaml

This file was deleted.

45 changes: 17 additions & 28 deletions e2e-tests/tests/major-upgrade/10-assert.yaml
Original file line number Diff line number Diff line change
@@ -1,42 +1,31 @@
apiVersion: kuttl.dev/v1beta1
kind: TestAssert
timeout: 360
commands:
- script: |-
kubectl -n ${NAMESPACE} get pg,pod,job
sleep 5
---
apiVersion: pgv2.percona.com/v2
kind: PerconaPGCluster
metadata:
name: major-upgrade
spec:
postgresVersion: 13
status:
pgbouncer:
ready: 3
size: 3
postgres:
instances:
- name: instance1
ready: 3
size: 3
ready: 3
size: 3
state: ready
timeout: 660
---
kind: Job
apiVersion: batch/v1
metadata:
annotations:
postgres-operator.crunchydata.com/pgbackrest-backup: backup-after-14-to-15
labels:
postgres-operator.crunchydata.com/cluster: major-upgrade
postgres-operator.crunchydata.com/pgbackrest: ''
postgres-operator.crunchydata.com/pgbackrest-backup: replica-create
postgres-operator.crunchydata.com/pgbackrest-repo: repo1
postgres-operator.crunchydata.com/pgbackrest-backup: manual
postgres-operator.crunchydata.com/pgbackrest-repo: repo3
ownerReferences:
- apiVersion: pgv2.percona.com/v2
kind: PerconaPGBackup
controller: true
blockOwnerDeletion: true
status:
succeeded: 1
---
apiVersion: pgv2.percona.com/v2
kind: PerconaPGBackup
metadata:
name: backup-after-14-to-15
spec:
pgCluster: major-upgrade
repoName: repo3
options:
- --type=full
status:
state: Succeeded
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@ metadata:
name: backup-after-14-to-15
spec:
pgCluster: major-upgrade
repoName: repo4
repoName: repo3
options:
- --type=full
23 changes: 6 additions & 17 deletions e2e-tests/tests/major-upgrade/11-assert.yaml
Original file line number Diff line number Diff line change
@@ -1,21 +1,10 @@
apiVersion: kuttl.dev/v1beta1
kind: TestAssert
timeout: 660
commands:
- script: |-
kubectl get postgrescluster major-upgrade \
-n ${NAMESPACE} \
-o yaml \
| yq eval '.status.pgbackrest.repos' -
timeout: 30
---
apiVersion: postgres-operator.crunchydata.com/v1beta1
kind: PostgresCluster
kind: ConfigMap
apiVersion: v1
metadata:
name: major-upgrade
status:
pgbackrest:
repos:
- bound: true
name: repo2
replicaCreateBackupComplete: true
stanzaCreated: true
name: 11-read-from-primary
data:
data: ' 100500'
45 changes: 28 additions & 17 deletions e2e-tests/tests/major-upgrade/12-assert.yaml
Original file line number Diff line number Diff line change
@@ -1,31 +1,42 @@
apiVersion: kuttl.dev/v1beta1
kind: TestAssert
timeout: 660
timeout: 360
commands:
- script: |-
kubectl -n ${NAMESPACE} get pg,pod,job
sleep 5
---
apiVersion: pgv2.percona.com/v2
kind: PerconaPGCluster
metadata:
name: major-upgrade
spec:
postgresVersion: 16
status:
pgbouncer:
ready: 3
size: 3
postgres:
instances:
- name: instance1
ready: 3
size: 3
ready: 3
size: 3
state: ready
---
kind: Job
apiVersion: batch/v1
metadata:
annotations:
postgres-operator.crunchydata.com/pgbackrest-backup: backup-after-12-to-13
labels:
postgres-operator.crunchydata.com/pgbackrest-backup: manual
postgres-operator.crunchydata.com/pgbackrest-repo: repo2
postgres-operator.crunchydata.com/cluster: major-upgrade
postgres-operator.crunchydata.com/pgbackrest: ''
postgres-operator.crunchydata.com/pgbackrest-backup: replica-create
postgres-operator.crunchydata.com/pgbackrest-repo: repo3
ownerReferences:
- apiVersion: pgv2.percona.com/v2
kind: PerconaPGBackup
controller: true
blockOwnerDeletion: true
status:
succeeded: 1
---
apiVersion: pgv2.percona.com/v2
kind: PerconaPGBackup
metadata:
name: backup-after-12-to-13
spec:
pgCluster: major-upgrade
repoName: repo2
options:
- --type=full
status:
state: Succeeded
9 changes: 0 additions & 9 deletions e2e-tests/tests/major-upgrade/12-run-backup.yaml

This file was deleted.

57 changes: 13 additions & 44 deletions e2e-tests/tests/major-upgrade/13-assert.yaml
Original file line number Diff line number Diff line change
@@ -1,52 +1,21 @@
apiVersion: kuttl.dev/v1beta1
kind: TestAssert
timeout: 720
timeout: 660
commands:
- script: |-
set -o errexit

kubectl -n ${NAMESPACE} get pod

for pod in $(kubectl -n ${NAMESPACE} get pods -l postgres-operator.crunchydata.com/data=postgres --no-headers | awk '{print $1}'); do
phase=$(kubectl -n ${NAMESPACE} get pod/${pod} -o jsonpath={".status.phase"})
if [[ "${phase}" != "Running" ]]; then
echo "Waiting for ${pod} to start running"
continue
fi
echo "PostgreSQL logs from ${pod}:"
echo "find /pgdata/pg13/log -type f -iname 'postgresql*.log' -exec tail -n 30 {} \;" \
| kubectl -n ${NAMESPACE} exec -it ${pod} -- bash 2>/dev/null
done

sleep 30
collectors:
- type: pod
selector: "postgres-operator.crunchydata.com/data=postgres"
tail: 30
kubectl get postgrescluster major-upgrade \
-n ${NAMESPACE} \
-o yaml \
| yq eval '.status.pgbackrest.repos' -
---
apiVersion: pgv2.percona.com/v2
kind: PerconaPGRestore
metadata:
name: restore-after-12-to-13
spec:
pgCluster: major-upgrade
repoName: repo2
status:
state: Succeeded
---
apiVersion: pgv2.percona.com/v2
kind: PerconaPGCluster
apiVersion: postgres-operator.crunchydata.com/v1beta1
kind: PostgresCluster
metadata:
name: major-upgrade
status:
pgbouncer:
ready: 3
size: 3
postgres:
instances:
- name: instance1
ready: 3
size: 3
ready: 3
size: 3
state: ready
pgbackrest:
repos:
- bound: true
name: repo4
replicaCreateBackupComplete: true
stanzaCreated: true
7 changes: 0 additions & 7 deletions e2e-tests/tests/major-upgrade/13-run-restore.yaml

This file was deleted.

Loading
Loading