Skip to content

Commit c4df12a

Browse files
authored
K8SPG-798 introduce retry logic on self-healing test (#1181)
* K8SPG-798 introduce retry logic on self-healing test * remove errexit
1 parent 5f81e5c commit c4df12a

4 files changed

Lines changed: 108 additions & 52 deletions

File tree

e2e-tests/tests/self-healing/07-read-from-all-pods.yaml

Lines changed: 27 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,30 @@ apiVersion: kuttl.dev/v1beta1
22
kind: TestStep
33
timeout: 30
44
commands:
5-
- script: |-
6-
set -o errexit
7-
set -o xtrace
8-
9-
source ../../functions
10-
11-
pods=$(get_instance_set_pods instance1)
12-
i=1
13-
for pod in $pods; do
14-
data=$(run_psql_local '\c myapp \\\ SELECT * from myApp;' "postgres:$(get_psql_user_pass self-healing-pguser-postgres)@$(get_psql_pod_host ${pod})")
15-
kubectl create configmap -n "${NAMESPACE}" 07-read-from-${i} --from-literal=data="${data}"
16-
i=$((i+1))
17-
done
5+
- script: |-
6+
set -o xtrace
7+
8+
source ../../functions
9+
10+
pods=$(get_instance_set_pods instance1)
11+
i=1
12+
for pod in $pods; do
13+
set +o xtrace
14+
retry=0
15+
echo -n "Querying pod ${pod}"
16+
until data=$(run_psql_local '\c myapp \\\ SELECT * from myApp;' "postgres:$(get_psql_user_pass self-healing-pguser-postgres)@$(get_psql_pod_host ${pod})"); do
17+
sleep 1
18+
echo -n .
19+
((retry++))
20+
if [ $retry -ge 30 ]; then
21+
echo
22+
echo "Max retry count $retry reached on pod ${pod}. Something went wrong."
23+
exit 1
24+
fi
25+
done
26+
echo
27+
set -o xtrace
28+
29+
kubectl create configmap -n "${NAMESPACE}" 07-read-from-${i} --from-literal=data="${data}"
30+
i=$((i+1))
31+
done

e2e-tests/tests/self-healing/10-read-from-all-pods.yaml

Lines changed: 27 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,30 @@ apiVersion: kuttl.dev/v1beta1
22
kind: TestStep
33
timeout: 30
44
commands:
5-
- script: |-
6-
set -o errexit
7-
set -o xtrace
8-
9-
source ../../functions
10-
11-
pods=$(get_instance_set_pods instance1)
12-
i=1
13-
for pod in $pods; do
14-
data=$(run_psql_local '\c myapp \\\ SELECT * from myApp;' "postgres:$(get_psql_user_pass self-healing-pguser-postgres)@$(get_psql_pod_host ${pod})")
15-
kubectl create configmap -n "${NAMESPACE}" 10-read-from-${i} --from-literal=data="${data}"
16-
i=$((i+1))
17-
done
5+
- script: |-
6+
set -o xtrace
7+
8+
source ../../functions
9+
10+
pods=$(get_instance_set_pods instance1)
11+
i=1
12+
for pod in $pods; do
13+
set +o xtrace
14+
retry=0
15+
echo -n "Querying pod ${pod}"
16+
until data=$(run_psql_local '\c myapp \\\ SELECT * from myApp;' "postgres:$(get_psql_user_pass self-healing-pguser-postgres)@$(get_psql_pod_host ${pod})"); do
17+
sleep 1
18+
echo -n .
19+
((retry++))
20+
if [ $retry -ge 30 ]; then
21+
echo
22+
echo "Max retry count $retry reached on pod ${pod}. Something went wrong."
23+
exit 1
24+
fi
25+
done
26+
echo
27+
set -o xtrace
28+
29+
kubectl create configmap -n "${NAMESPACE}" 10-read-from-${i} --from-literal=data="${data}"
30+
i=$((i+1))
31+
done

e2e-tests/tests/self-healing/13-read-from-all-pods.yaml

Lines changed: 27 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,30 @@ apiVersion: kuttl.dev/v1beta1
22
kind: TestStep
33
timeout: 30
44
commands:
5-
- script: |-
6-
set -o errexit
7-
set -o xtrace
8-
9-
source ../../functions
10-
11-
pods=$(get_instance_set_pods instance1)
12-
i=1
13-
for pod in $pods; do
14-
data=$(run_psql_local '\c myapp \\\ SELECT * from myApp;' "postgres:$(get_psql_user_pass self-healing-pguser-postgres)@$(get_psql_pod_host ${pod})")
15-
kubectl create configmap -n "${NAMESPACE}" 13-read-from-${i} --from-literal=data="${data}"
16-
i=$((i+1))
17-
done
5+
- script: |-
6+
set -o xtrace
7+
8+
source ../../functions
9+
10+
pods=$(get_instance_set_pods instance1)
11+
i=1
12+
for pod in $pods; do
13+
set +o xtrace
14+
retry=0
15+
echo -n "Querying pod ${pod}"
16+
until data=$(run_psql_local '\c myapp \\\ SELECT * from myApp;' "postgres:$(get_psql_user_pass self-healing-pguser-postgres)@$(get_psql_pod_host ${pod})"); do
17+
sleep 1
18+
echo -n .
19+
((retry++))
20+
if [ $retry -ge 30 ]; then
21+
echo
22+
echo "Max retry count $retry reached on pod ${pod}. Something went wrong."
23+
exit 1
24+
fi
25+
done
26+
echo
27+
set -o xtrace
28+
29+
kubectl create configmap -n "${NAMESPACE}" 13-read-from-${i} --from-literal=data="${data}"
30+
i=$((i+1))
31+
done

e2e-tests/tests/self-healing/16-read-from-all-pods.yaml

Lines changed: 27 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,30 @@ apiVersion: kuttl.dev/v1beta1
22
kind: TestStep
33
timeout: 30
44
commands:
5-
- script: |-
6-
set -o errexit
7-
set -o xtrace
8-
9-
source ../../functions
10-
11-
pods=$(get_instance_set_pods instance1)
12-
i=1
13-
for pod in $pods; do
14-
data=$(run_psql_local '\c myapp \\\ SELECT * from myApp;' "postgres:$(get_psql_user_pass self-healing-pguser-postgres)@$(get_psql_pod_host ${pod})")
15-
kubectl create configmap -n "${NAMESPACE}" 16-read-from-${i} --from-literal=data="${data}"
16-
i=$((i+1))
17-
done
5+
- script: |-
6+
set -o xtrace
7+
8+
source ../../functions
9+
10+
pods=$(get_instance_set_pods instance1)
11+
i=1
12+
for pod in $pods; do
13+
set +o xtrace
14+
retry=0
15+
echo -n "Querying pod ${pod}"
16+
until data=$(run_psql_local '\c myapp \\\ SELECT * from myApp;' "postgres:$(get_psql_user_pass self-healing-pguser-postgres)@$(get_psql_pod_host ${pod})"); do
17+
sleep 1
18+
echo -n .
19+
((retry++))
20+
if [ $retry -ge 30 ]; then
21+
echo
22+
echo "Max retry count $retry reached on pod ${pod}. Something went wrong."
23+
exit 1
24+
fi
25+
done
26+
echo
27+
set -o xtrace
28+
29+
kubectl create configmap -n "${NAMESPACE}" 16-read-from-${i} --from-literal=data="${data}"
30+
i=$((i+1))
31+
done

0 commit comments

Comments
 (0)