Fix bug 1647: OpenEBS error in OSM installer 41/11141/2
authoraguilard <e.dah.tid@telefonica.com>
Wed, 1 Sep 2021 10:12:07 +0000 (12:12 +0200)
committersousaedu <eduardo.sousa@canonical.com>
Thu, 2 Sep 2021 14:14:50 +0000 (16:14 +0200)
Updated OpenEBS to version 1.12.0 using Helm
Updated Helm from v2.15.2 to v3.6.3

Change-Id: Ie31239181a7fbcf7a250ebbdf9123d4088ca75b3
Signed-off-by: aguilard <e.dah.tid@telefonica.com>
(cherry picked from commit fdbe776e9bb9e43f7d4dc0f8c023b93d258666e2)

installers/full_install_osm.sh

index 0d8d653..cba4fda 100755 (executable)
@@ -183,8 +183,6 @@ function remove_k8s_namespace() {
 function remove_helm() {
     if [ "$(helm ls -q)" == "" ] ; then
         sudo helm reset --force
-        kubectl delete --namespace kube-system serviceaccount tiller
-        kubectl delete clusterrolebinding tiller-cluster-rule
         sudo rm /usr/local/bin/helm
         rm -rf $HOME/.helm
     fi
@@ -824,10 +822,12 @@ function kube_config_dir() {
 }
 
 function install_k8s_storageclass() {
-    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
+    echo "Installing OpenEBS"
+    kubectl create ns openebs
+    helm repo add openebs https://openebs.github.io/charts
+    helm repo update
+    helm install --namespace openebs openebs openebs/openebs --version 1.12.0
+    helm ls -n openebs
     local storageclass_timeout=400
     local counter=0
     local storageclass_ready=""
@@ -917,40 +917,19 @@ function deploy_osm_pla_service() {
     kubectl apply -n $OSM_STACK_NAME -f $OSM_DOCKER_WORK_DIR/osm_pla
 }
 
-#Install helm and tiller
+#Install Helm v3
 function install_helm() {
     helm > /dev/null 2>&1
     if [ $? != 0 ] ; then
         # Helm is not installed. Install helm
         echo "Helm is not installed, installing ..."
-        curl https://get.helm.sh/helm-v2.15.2-linux-amd64.tar.gz --output helm-v2.15.2.tar.gz
-        tar -zxvf helm-v2.15.2.tar.gz
+        curl https://get.helm.sh/helm-v3.6.3-linux-amd64.tar.gz --output helm-v3.6.3.tar.gz
+        tar -zxvf helm-v3.6.3.tar.gz
         sudo mv linux-amd64/helm /usr/local/bin/helm
         rm -r linux-amd64
-        rm helm-v2.15.2.tar.gz
-    fi
-
-    # Checking if tiller has being configured
-    kubectl --namespace kube-system get serviceaccount tiller > /dev/null 2>&1
-    if [ $? == 1 ] ; then
-        # tiller account for kubernetes
-        kubectl --namespace kube-system create serviceaccount tiller
-        kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=kube-system:tiller
-        # HELM initialization
-        helm init --stable-repo-url https://charts.helm.sh/stable --service-account tiller
-
-        # Wait for Tiller to be up and running. If timeout expires, continue installing
-        tiller_timeout=120;
-        counter=0;
-        tiller_status=""
-        while (( counter < tiller_timeout ))
-        do
-            tiller_status=`kubectl -n kube-system get deployment.apps/tiller-deploy --no-headers |  awk '{print $2'}`
-            ( [ ! -z "$tiller_status" ] && [ $tiller_status == "1/1" ] ) && echo "Tiller ready" && break
-            counter=$((counter + 5))
-            sleep 5
-        done
-        [ "$tiller_status" != "1/1" ] && echo "Tiller is NOT READY YET. Installation will continue"
+        rm helm-v3.6.3.tar.gz
+        helm repo add stable https://charts.helm.sh/stable
+        helm repo update
     fi
 }
 
@@ -1208,6 +1187,8 @@ function install_lightweight() {
         remove_k8s_namespace $OSM_STACK_NAME
         deploy_cni_provider
         taint_master_node
+        install_helm
+        track install_helm
         install_k8s_storageclass
         track k8s_storageclass
         install_k8s_metallb
@@ -1337,8 +1318,6 @@ EOF
             track deploy_osm_pla
         fi
         track deploy_osm_services_k8s
-        install_helm
-        track install_helm
         if [ -n "$INSTALL_K8S_MONITOR" ]; then
             # install OSM MONITORING
             install_k8s_monitoring