Fix bug 1151 to install openebs operator
This change updates the method install_k8s_storageclass of
full_install_osm.sh.
The change creates a temporary folder for downloading the K8s manifest
file for openebs. The download of the manifest file is decoupled from
its application with kubectl (in the same way that it isdone for the
CNI provider). After its application, an additional check is added to
verify that the storage class openebs-hostpath has been defined. If it
does not exist, the installation will fail and exit. Otherwise, it will
proceed. Finally, the timeout for the openebs-hostpath storage class
has been increased from 300s to 400s.
Change-Id: Ic1da8b9606bd7b3265f38c1da7389e5b2cdc741b
Signed-off-by: garciadeblas <gerardo.garciadeblas@telefonica.com>
diff --git a/installers/full_install_osm.sh b/installers/full_install_osm.sh
index 5eee023..2dfb2a3 100755
--- a/installers/full_install_osm.sh
+++ b/installers/full_install_osm.sh
@@ -856,9 +856,13 @@
}
function install_k8s_storageclass() {
- kubectl apply -f https://openebs.github.io/charts/openebs-operator-1.6.0.yaml
- local storageclass_timeout=300
+ OPENEBS_DIR="$(mktemp -d -q --tmpdir "openebs.XXXXXX")"
+ trap 'rm -rf "${OPENEBS_DIR}"' EXIT
+ wget -q https://openebs.github.io/charts/openebs-operator-1.6.0.yaml -P $OPENEBS_DIR
+ kubectl apply -f $OPENEBS_DIR
+ local storageclass_timeout=400
local counter=0
+ local storageclass_ready=""
echo "Waiting for storageclass"
while (( counter < storageclass_timeout ))
do
@@ -866,12 +870,14 @@
if [ $? -eq 0 ] ; then
echo "Storageclass available"
+ storageclass_ready="y"
break
else
counter=$((counter + 15))
sleep 15
fi
done
+ [ -n "$storageclass_ready" ] || FATAL "Storageclass not ready after $storageclass_timeout seconds. Cannot install openebs"
kubectl patch storageclass openebs-hostpath -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'
}