Fix bug 1151 to install openebs operator
[osm/devops.git] / installers / full_install_osm.sh
index c28f750..2dfb2a3 100755 (executable)
@@ -781,6 +781,7 @@ function generate_docker_env_files() {
 
     # MON
     if [ ! -f $OSM_DOCKER_WORK_DIR/mon.env ]; then
+        echo "OSMMON_KEYSTONE_SERVICE_PASSWORD=${SERVICE_PASSWORD}" | $WORKDIR_SUDO tee -a $OSM_DOCKER_WORK_DIR/mon.env
         echo "OSMMON_DATABASE_COMMONKEY=${OSM_DATABASE_COMMONKEY}" | $WORKDIR_SUDO tee -a $OSM_DOCKER_WORK_DIR/mon.env
         echo "OSMMON_SQL_DATABASE_URI=mysql://root:${MYSQL_ROOT_PASSWORD}@mysql:3306/mon" | $WORKDIR_SUDO tee -a $OSM_DOCKER_WORK_DIR/mon.env
     fi
@@ -837,6 +838,7 @@ function install_kube() {
     sudo apt-get update
     echo "Installing Kubernetes Packages ..."
     sudo apt-get install -y kubelet=1.15.0-00 kubeadm=1.15.0-00 kubectl=1.15.0-00
+    sudo apt-mark hold kubelet kubeadm kubectl
 }
 
 #initializes kubernetes control plane
@@ -854,9 +856,13 @@ function kube_config_dir() {
 }
 
 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
@@ -864,12 +870,14 @@ function install_k8s_storageclass() {
 
         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"}}}'
 }
 
@@ -1422,7 +1430,7 @@ function install_to_openstack() {
     fi
 
     # Install Pip for Python3
-    $WORKDIR_SUDO apt install -y python3-pip
+    $WORKDIR_SUDO apt install -y python3-pip python3-venv
     $WORKDIR_SUDO -H LC_ALL=C python3 -m pip install -U pip
 
     # Create a venv to avoid conflicts with the host installation
@@ -1430,9 +1438,9 @@ function install_to_openstack() {
 
     source $OPENSTACK_PYTHON_VENV/bin/activate
 
-    # Install Ansible, OpenStack client and SDK
+    # Install Ansible, OpenStack client and SDK, latest openstack version supported is Train
     python -m pip install -U wheel
-    python -m pip install -U python-openstackclient "openstacksdk>=0.12.0,<1" "ansible>=2.10,<2.11"
+    python -m pip install -U "python-openstackclient<=4.0.2" "openstacksdk>=0.12.0,<=0.36.2" "ansible>=2.10,<2.11"
 
     # Install the Openstack cloud module (ansible>=2.10)
     ansible-galaxy collection install openstack.cloud
@@ -1931,5 +1939,3 @@ export OSM_USE_LOCAL_DEVOPS=true
 wget -q -O- https://osm-download.etsi.org/ftp/osm-9.0-nine/README2.txt &> /dev/null
 track end
 echo -e "\nDONE"
-
-