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>
}
function install_k8s_storageclass() {
}
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 storageclass_ready=""
echo "Waiting for storageclass"
while (( counter < storageclass_timeout ))
do
echo "Waiting for storageclass"
while (( counter < storageclass_timeout ))
do
if [ $? -eq 0 ] ; then
echo "Storageclass available"
if [ $? -eq 0 ] ; then
echo "Storageclass available"
break
else
counter=$((counter + 15))
sleep 15
fi
done
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"}}}'
}
kubectl patch storageclass openebs-hostpath -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'
}