Skip to content

Commit bcdf84e

Browse files
committed
add restore
1 parent 76519bf commit bcdf84e

56 files changed

Lines changed: 821 additions & 191 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

e2e-tests/tests/major-upgrade-13-to-14/01-assert.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
apiVersion: kuttl.dev/v1beta1
22
kind: TestAssert
3-
timeout: 120
3+
timeout: 200
44
---
55
kind: StatefulSet
66
apiVersion: apps/v1

e2e-tests/tests/major-upgrade-13-to-14/06-assert.yaml

Lines changed: 0 additions & 31 deletions
This file was deleted.
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
apiVersion: kuttl.dev/v1beta1
2+
kind: TestStep
3+
commands:
4+
- script: |-
5+
set -o errexit
6+
set -o xtrace
7+
8+
source ../../functions
9+
10+
run_psql_local \
11+
'\c myapp \\\ INSERT INTO myApp (id) VALUES (100501)' \
12+
"postgres:$(get_psql_user_pass major-upgrade-13-to-14-pguser-postgres)@$(get_psql_user_host major-upgrade-13-to-14-pguser-postgres)"
Lines changed: 27 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,31 @@
11
apiVersion: kuttl.dev/v1beta1
22
kind: TestAssert
3-
timeout: 30
3+
timeout: 660
44
---
5-
kind: ConfigMap
6-
apiVersion: v1
5+
kind: Job
6+
apiVersion: batch/v1
77
metadata:
8-
name: 07-read-from-primary
9-
data:
10-
data: ' 100500'
8+
annotations:
9+
postgres-operator.crunchydata.com/pgbackrest-backup: backup-after-13-to-14
10+
labels:
11+
postgres-operator.crunchydata.com/pgbackrest-backup: manual
12+
postgres-operator.crunchydata.com/pgbackrest-repo: repo2
13+
ownerReferences:
14+
- apiVersion: pgv2.percona.com/v2
15+
kind: PerconaPGBackup
16+
controller: true
17+
blockOwnerDeletion: true
18+
status:
19+
succeeded: 1
20+
---
21+
apiVersion: pgv2.percona.com/v2
22+
kind: PerconaPGBackup
23+
metadata:
24+
name: backup-after-13-to-14
25+
spec:
26+
pgCluster: major-upgrade-13-to-14
27+
repoName: repo2
28+
options:
29+
- --type=full
30+
status:
31+
state: Succeeded

e2e-tests/tests/major-upgrade-13-to-14/06-run-backup.yaml renamed to e2e-tests/tests/major-upgrade-13-to-14/07-run-backup.yaml

File renamed without changes.
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
apiVersion: kuttl.dev/v1beta1
2+
kind: TestAssert
3+
timeout: 30
4+
---
5+
kind: ConfigMap
6+
apiVersion: v1
7+
metadata:
8+
name: 08-read-from-primary
9+
data:
10+
data: |2-
11+
100500
12+
100501

e2e-tests/tests/major-upgrade-13-to-14/07-read-from-primary.yaml renamed to e2e-tests/tests/major-upgrade-13-to-14/08-read-from-primary.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@ commands:
99
source ../../functions
1010
data=$(run_psql_local '\c myapp \\\ SELECT * from myApp;' "postgres:$(get_psql_user_pass major-upgrade-13-to-14-pguser-postgres)@$(get_psql_user_host major-upgrade-13-to-14-pguser-postgres)")
1111
12-
kubectl create configmap -n "${NAMESPACE}" 07-read-from-primary --from-literal=data="${data}"
12+
kubectl create configmap -n "${NAMESPACE}" 08-read-from-primary --from-literal=data="${data}"
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
apiVersion: kuttl.dev/v1beta1
2+
kind: TestStep
3+
commands:
4+
- script: |-
5+
set -o errexit
6+
set -o xtrace
7+
8+
source ../../functions
9+
10+
run_psql_local \
11+
'\c myapp \\\ TRUNCATE TABLE myApp' \
12+
"postgres:$(get_psql_user_pass major-upgrade-13-to-14-pguser-postgres)@$(get_psql_user_host major-upgrade-13-to-14-pguser-postgres)"
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
apiVersion: kuttl.dev/v1beta1
2+
kind: TestAssert
3+
timeout: 1500
4+
commands:
5+
- script: |-
6+
set -o errexit
7+
8+
kubectl -n ${NAMESPACE} get pod
9+
10+
for pod in $(kubectl -n ${NAMESPACE} get pods -l postgres-operator.crunchydata.com/data=postgres --no-headers | awk '{print $1}'); do
11+
phase=$(kubectl -n ${NAMESPACE} get pod/${pod} -o jsonpath={".status.phase"})
12+
if [[ "${phase}" != "Running" ]]; then
13+
echo "Waiting for ${pod} to start running"
14+
continue
15+
fi
16+
echo "PostgreSQL logs from ${pod}:"
17+
echo "find /pgdata/pg14/log -type f -iname 'postgresql*.log' -exec tail -n 30 {} \;" \
18+
| kubectl -n ${NAMESPACE} exec -it ${pod} -- bash 2>/dev/null
19+
done
20+
21+
sleep 30
22+
collectors:
23+
- type: pod
24+
selector: "postgres-operator.crunchydata.com/data=postgres"
25+
tail: 30
26+
---
27+
apiVersion: pgv2.percona.com/v2
28+
kind: PerconaPGRestore
29+
metadata:
30+
name: restore-after-13-to-14
31+
spec:
32+
pgCluster: major-upgrade-13-to-14
33+
repoName: repo2
34+
status:
35+
state: Succeeded
36+
---
37+
apiVersion: pgv2.percona.com/v2
38+
kind: PerconaPGCluster
39+
metadata:
40+
name: major-upgrade-13-to-14
41+
status:
42+
pgbouncer:
43+
ready: 3
44+
size: 3
45+
postgres:
46+
instances:
47+
- name: instance1
48+
ready: 3
49+
size: 3
50+
ready: 3
51+
size: 3
52+
state: ready
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
apiVersion: kuttl.dev/v1beta1
2+
kind: TestStep
3+
commands:
4+
- script: |-
5+
set -o errexit
6+
set -o xtrace
7+
8+
source ../../functions
9+
10+
primary=$(get_pod_by_role major-upgrade-13-to-14 primary name)
11+
latest_full_repo2_backup=$(kubectl -n ${NAMESPACE} exec ${primary} -- pgbackrest info --output json --log-level-console=info | jq -r '[.[] | .backup[] | select(.type == "full") | select(.database["repo-key"] == 2)][-1].label')
12+
13+
cat <<EOF | kubectl -n ${NAMESPACE} apply -f -
14+
apiVersion: pgv2.percona.com/v2
15+
kind: PerconaPGRestore
16+
metadata:
17+
name: restore-after-13-to-14
18+
spec:
19+
pgCluster: major-upgrade-13-to-14
20+
repoName: repo2
21+
options:
22+
- --set=${latest_full_repo2_backup}
23+
- --type=immediate
24+
EOF

0 commit comments

Comments
 (0)