Skip to content

Commit 20e7938

Browse files
Merge pull request #474 from dciabrin/chainsaw-backup-timeout
Make chainsaw wait timeout configurable
2 parents a039cf4 + 4d77be9 commit 20e7938

5 files changed

Lines changed: 43 additions & 18 deletions

File tree

test/chainsaw/config.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ spec:
77
assert: 180s
88
delete: 180s
99
cleanup: 180s
10-
exec: 120s
10+
exec: 180s
1111
execution:
1212
failFast: true
1313
parallel: 1

test/chainsaw/tests/backup-capture/chainsaw-test.yaml

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@ kind: Test
33
metadata:
44
name: backup-capture
55
spec:
6+
bindings:
7+
- name: ocWaitTimeout
8+
value: 160s
69
steps:
710
- name: create a backup CR without Galera cluster
811
description: backup CR should not create objects without Galera CR detected
@@ -51,14 +54,18 @@ spec:
5154
try:
5255
- script: &backup
5356
env:
57+
- &wait_env
58+
name: WAIT_TIMEOUT
59+
value: ($ocWaitTimeout)
5460
- name: REPLICAS
5561
value: ($replicas)
5662
content: |
5763
set -e
5864
oc -n $NAMESPACE create job --from=cronjob/backup-openstack backup-${REPLICAS}node
59-
oc -n $NAMESPACE wait --for=condition=complete job/backup-${REPLICAS}node
65+
oc -n $NAMESPACE wait --for=condition=complete --timeout=${WAIT_TIMEOUT} job/backup-${REPLICAS}node
6066
- script: &backup_check
6167
env:
68+
- *wait_env
6269
- name: REPLICAS
6370
value: ($replicas)
6471
content: |
@@ -123,9 +130,11 @@ spec:
123130
oc -n $NAMESPACE create job --from=cronjob/backup-openstack backup-1node
124131
oc -n $NAMESPACE create job --from=cronjob/backup-openstack2nd backup-1node-2nd
125132
- script:
133+
env:
134+
- *wait_env
126135
content: |
127136
set -e
128-
oc -n $NAMESPACE wait --for=condition=complete job/backup-1node job/backup-1node-2nd
137+
oc -n $NAMESPACE wait --timeout=${WAIT_TIMEOUT} --for=condition=complete job/backup-1node job/backup-1node-2nd
129138
../../common/backup-assert.sh backup-1node
130139
../../common/backup-assert.sh backup-1node-2nd
131140
@@ -137,9 +146,11 @@ spec:
137146
set -o pipefail
138147
oc -n $NAMESPACE create job --from=cronjob/backup-openstack custom-timestamp --dry-run=client -o json | jq '.spec.template.spec.containers[0].env += [{ "name": "BACKUP_TIMESTAMP", value:"chainsaw_unit_test" }]' | oc -n $NAMESPACE apply -f -
139148
- script:
149+
env:
150+
- *wait_env
140151
content: |
141152
set -e
142153
set -o pipefail
143-
oc -n $NAMESPACE wait --for=condition=complete job/custom-timestamp
154+
oc -n $NAMESPACE wait --timeout=${WAIT_TIMEOUT} --for=condition=complete job/custom-timestamp
144155
../../common/backup-assert.sh custom-timestamp
145156
oc -n $NAMESPACE get pod -o name -l job-name=custom-timestamp | xargs oc -n $NAMESPACE logs | grep 'Starting backup .* - chainsaw_unit_test'

test/chainsaw/tests/backup-configs/chainsaw-test.yaml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@ kind: Test
33
metadata:
44
name: backup-configs
55
spec:
6+
bindings:
7+
- name: ocWaitTimeout
8+
value: 160s
69
steps:
710
- name: setup a 1-node cluster and a backup CR with dedicated transfer PVC
811
description: prechecks that backup CR is correctly set up
@@ -40,11 +43,13 @@ spec:
4043
try:
4144
- script:
4245
env:
46+
- name: WAIT_TIMEOUT
47+
value: ($ocWaitTimeout)
4348
- name: REPLICAS
4449
value: ($replicas)
4550
content: |
4651
oc -n $NAMESPACE create job --from=cronjob/backup-openstack backup-${REPLICAS}node
47-
oc -n $NAMESPACE wait --for=condition=complete job/backup-${REPLICAS}node
52+
oc -n $NAMESPACE wait --for=condition=complete --timeout=${WAIT_TIMEOUT} job/backup-${REPLICAS}node
4853
- script:
4954
env:
5055
- name: REPLICAS

test/chainsaw/tests/restore/chainsaw-test.yaml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@ kind: Test
33
metadata:
44
name: restore
55
spec:
6+
bindings:
7+
- name: ocWaitTimeout
8+
value: 160s
69
steps:
710
- name: setup two different 1-node Galera clusters (TLS and non-TLS)
811
bindings:
@@ -47,11 +50,14 @@ spec:
4750
description: checks that the cluster is correctly backed up
4851
try:
4952
- script:
53+
env:
54+
- name: WAIT_TIMEOUT
55+
value: ($ocWaitTimeout)
5056
content: |
5157
oc -n $NAMESPACE create job --from=cronjob/backup-openstackbackup backupjob1
5258
oc -n $NAMESPACE create job --from=cronjob/backup-cluster2backup backupjob2
53-
oc -n $NAMESPACE wait --for=condition=complete job/backupjob1
54-
oc -n $NAMESPACE wait --for=condition=complete job/backupjob2
59+
oc -n $NAMESPACE wait --for=condition=complete --timeout=${WAIT_TIMEOUT} job/backupjob1
60+
oc -n $NAMESPACE wait --for=condition=complete --timeout=${WAIT_TIMEOUT} job/backupjob2
5561
5662
- name: remove data in the running Galera clusters
5763
try:

test/chainsaw/tests/service/chainsaw-test.yaml

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@ metadata:
44
name: failover
55
spec:
66
description: Service failover test case
7+
bindings:
8+
- name: ocWaitTimeout
9+
value: 160s
710
steps:
811
- name: Setup
912
description: Deploy a cluster and a background pod with long-running DB connection
@@ -32,14 +35,16 @@ spec:
3235
value: ($stdout)
3336
- script:
3437
env:
38+
- name: WAIT_TIMEOUT
39+
value: ($ocWaitTimeout)
3540
- name: PASSWORD
3641
value: ($db_password)
3742
- name: IMAGE
3843
value: ($pod_image)
3944
skipLogOutput: true
4045
content: |
4146
oc -n $NAMESPACE run failover-check --image=$IMAGE --env="DB_ROOT_PASSWORD=$PASSWORD" --command -- dumb-init bash -c "$(cat ../../scripts/connect.sh)"
42-
oc -n $NAMESPACE wait --for=jsonpath='{.status.phase}'=Running pod failover-check
47+
oc -n $NAMESPACE wait --for=jsonpath='{.status.phase}'=Running --timeout=${WAIT_TIMEOUT} pod failover-check
4348
4449
cleanup:
4550
- delete:
@@ -58,11 +63,13 @@ spec:
5863
- name: endpoint
5964
value: ($stdout)
6065
- script:
61-
env:
66+
env: &wait_env
67+
- name: WAIT_TIMEOUT
68+
value: ($ocWaitTimeout)
6269
- name: ENDPOINT
6370
value: ($endpoint)
6471
content: |
65-
oc wait -n $NAMESPACE --for=jsonpath='{.status.readyReplicas}'=3 statefulset openstack-galera
72+
oc wait -n $NAMESPACE --for=jsonpath='{.status.readyReplicas}'=3 --timeout=${WAIT_TIMEOUT} statefulset openstack-galera
6673
oc delete -n $NAMESPACE --wait pod $ENDPOINT
6774
- script:
6875
content: *endpoint_cmd
@@ -85,11 +92,9 @@ spec:
8592
try:
8693
- script: *get_endpoint
8794
- script:
88-
env:
89-
- name: ENDPOINT
90-
value: ($endpoint)
95+
env: *wait_env
9196
content: |
92-
oc wait -n $NAMESPACE --for=jsonpath='{.status.readyReplicas}'=3 statefulset openstack-galera
97+
oc wait -n $NAMESPACE --for=jsonpath='{.status.readyReplicas}'=3 --timeout=${WAIT_TIMEOUT} statefulset openstack-galera
9398
current=$ENDPOINT
9499
oc rsh -n $NAMESPACE $ENDPOINT killall -s STOP /usr/libexec/mysqld
95100
while [ "$current" = "$ENDPOINT" ]; do
@@ -109,11 +114,9 @@ spec:
109114
try:
110115
- script: *get_endpoint
111116
- script:
112-
env:
113-
- name: ENDPOINT
114-
value: ($endpoint)
117+
env: *wait_env
115118
content: |
116-
oc wait -n $NAMESPACE --for=jsonpath='{.status.readyReplicas}'=3 statefulset openstack-galera
119+
oc wait -n $NAMESPACE --for=jsonpath='{.status.readyReplicas}'=3 --timeout=${WAIT_TIMEOUT} statefulset openstack-galera
117120
echo -ne openstack-galera-{0,1,2}\\n | grep -v $ENDPOINT | head -1 | xargs oc delete --wait -n $NAMESPACE --wait pod
118121
- script:
119122
content: *endpoint_cmd

0 commit comments

Comments
 (0)