4
4
5
5
set -e
6
6
7
- if [[ ${#@ } < 2 ]]; then
7
+ if [[ ${#@ } -ne 2 ]]; then
8
8
echo " Usage: $0 namespace chart"
9
9
echo " * namespace: namespace to install into"
10
10
echo " * chart: directory of chart manifests to install"
@@ -15,32 +15,34 @@ namespace=$1
15
15
chart=$2
16
16
17
17
# create OLM
18
- for f in ${chart} /* .yaml
18
+ for f in " ${chart} " /* .yaml
19
19
do
20
20
if [[ $f == * .configmap.yaml ]]
21
21
then
22
- kubectl replace --force -f ${f} ;
22
+ kubectl replace --force -f " ${f} "
23
23
else
24
- kubectl apply -f ${f} ;
24
+ kubectl apply -f " ${f} "
25
25
fi
26
26
done
27
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
- # wait for packageserver deployment to be ready
33
- retries=10
34
- until [[ $retries == 0 || $( kubectl rollout status -w deployment/packageserver --namespace=${namespace} ) ]]; do
35
- sleep 5
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.v1.0.0 -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
36
40
retries=$(( retries - 1 ))
37
- echo " retrying check rollout status for deployment \" packageserver\" ..."
38
41
done
39
42
40
- if [ $retries == 0 ]
41
- then
42
- echo " deployment \" packageserver\" failed to roll out"
43
+ if [ $retries == 0 ]; then
44
+ echo " CSV \" packageserver.v1.0.0\" failed to reach phase succeeded"
43
45
exit 1
44
46
fi
45
47
46
- echo " deployment \" packageserver\" successfully rolled out "
48
+ kubectl rollout status -w deployment/ packageserver --namespace= " ${namespace} "
0 commit comments