File tree Expand file tree Collapse file tree 2 files changed +39
-20
lines changed Expand file tree Collapse file tree 2 files changed +39
-20
lines changed Original file line number Diff line number Diff line change 1
1
#! /usr/bin/env bash
2
2
3
- # Note: run from root dir
3
+ OLM_ROOT=$( dirname " ${BASH_SOURCE[0]} " ) /..
4
+ source " ${OLM_ROOT} /scripts/lib/olm_util.sh"
4
5
5
6
set -e
6
7
25
26
fi
26
27
done
27
28
28
- # wait for deployments to be ready
29
- kubectl rollout status -w deployment/olm-operator --namespace=" ${namespace} "
30
- kubectl rollout status -w deployment/catalog-operator --namespace=" ${namespace} "
31
-
32
- retries=50
33
- until [[ $retries == 0 || $new_csv_phase == " Succeeded" ]]; do
34
- new_csv_phase=$( kubectl get csv -n " ${namespace} " packageserver -o jsonpath=' {.status.phase}' 2> /dev/null || echo " Waiting for CSV to appear" )
35
- if [[ $new_csv_phase != " $csv_phase " ]]; then
36
- csv_phase=$new_csv_phase
37
- echo " Package server phase: $csv_phase "
38
- fi
39
- sleep 1
40
- retries=$(( retries - 1 ))
41
- done
42
-
43
- if [ $retries == 0 ]; then
44
- echo " CSV \" packageserver\" failed to reach phase succeeded"
29
+ if ! olm::util::await_olm_ready " ${namespace} " ; then
30
+ echo " olm failed to become ready"
45
31
exit 1
46
32
fi
47
-
48
- kubectl rollout status -w deployment/packageserver --namespace=" ${namespace} "
Original file line number Diff line number Diff line change
1
+ #! /usr/bin/env bash
2
+
3
+ set -o errexit
4
+ set -o nounset
5
+ set -o pipefail
6
+
7
+ olm::util::await_csv_success () {
8
+ local namespace=" $1 "
9
+ local csv=" $2 "
10
+ local retries=" ${3:- 50} "
11
+ local phase
12
+
13
+ echo " awaiting ${namespace} /${csv} csv installation success"
14
+ until [[ " ${retries} " -le " 0" || " ${phase:= $(kubectl get csv -n " ${namespace} " " ${csv} " -o jsonpath=' {.status.phase}' 2>/ dev/ null || echo " missing" )} " == " Succeeded" ]]; do
15
+ retries=$(( retries - 1 ))
16
+ echo " current phase: ${phase} , remaining attempts: ${retries} "
17
+ unset phase
18
+ sleep 1
19
+ done
20
+
21
+ if [ " ${retries} " -le " 0" ] ; then
22
+ echo " ${csv} csv installation unsuccessful"
23
+ return 1
24
+ fi
25
+
26
+ echo " ${csv} csv installation succeeded"
27
+ }
28
+
29
+ olm::util::await_olm_ready () {
30
+ local namespace=" $1 "
31
+
32
+ kubectl rollout status -w deployment/olm-operator --namespace=" ${namespace} " || return
33
+ kubectl rollout status -w deployment/catalog-operator --namespace=" ${namespace} " || return
34
+ olm::util::await_csv_success " ${namespace} " " packageserver" 32 || return
35
+ }
You can’t perform that action at this time.
0 commit comments