Use juju version 2.9.29
[osm/devops.git] / installers / full_install_osm.sh
index b43ff7d..3b0465f 100755 (executable)
@@ -554,6 +554,7 @@ function generate_docker_images() {
 
     if [ -z "$TO_REBUILD" ] || echo $TO_REBUILD | grep -q GRAFANA ; then
         sg docker -c "docker pull grafana/grafana:${GRAFANA_TAG}" || FATAL "cannot get grafana docker image"
+        sg docker -c "docker pull kiwigrid/k8s-sidecar:${KIWIGRID_K8S_SIDECAR_TAG}" || FATAL "cannot get kiwigrid k8s-sidecar docker image"
     fi
 
     if [ -z "$TO_REBUILD" ] || echo $TO_REBUILD | grep -q NBI || echo $TO_REBUILD | grep -q KEYSTONE-DB ; then
@@ -803,8 +804,11 @@ function install_kube() {
     sudo add-apt-repository "deb https://apt.kubernetes.io/ kubernetes-xenial main"
     sudo apt-get update
     echo "Installing Kubernetes Packages ..."
-    K8S_VERSION=1.20.11-00
+    K8S_VERSION=1.23.3-00
     sudo apt-get install -y kubelet=${K8S_VERSION} kubeadm=${K8S_VERSION} kubectl=${K8S_VERSION}
+    cat << EOF | sudo tee -a /etc/default/kubelet
+    KUBELET_EXTRA_ARGS="--cgroup-driver=cgroupfs"
+EOF
     sudo apt-mark hold kubelet kubeadm kubectl
 }
 
@@ -824,10 +828,14 @@ function kube_config_dir() {
 }
 
 function install_k8s_storageclass() {
+    echo "Installing open-iscsi"
+    sudo apt-get update
+    sudo apt-get install open-iscsi
+    sudo systemctl enable --now iscsid
     echo "Installing OpenEBS"
     helm repo add openebs https://openebs.github.io/charts
     helm repo update
-    helm install --create-namespace --namespace openebs openebs openebs/openebs --version 1.12.0
+    helm install --create-namespace --namespace openebs openebs openebs/openebs --version 3.1.0
     helm ls -n openebs
     local storageclass_timeout=400
     local counter=0
@@ -879,6 +887,7 @@ function install_helm_metallb() {
      addresses:
      - $METALLB_IP_RANGE" | sudo tee -a $OSM_DOCKER_WORK_DIR/metallb-config.yaml
     helm repo add metallb https://metallb.github.io/metallb
+    helm repo update
     helm install --create-namespace --namespace metallb-system metallb metallb/metallb -f $OSM_DOCKER_WORK_DIR/metallb-config.yaml
 }
 
@@ -1000,13 +1009,7 @@ function deploy_osm_services() {
 #deploy charmed services
 function deploy_charmed_services() {
     juju add-model $OSM_STACK_NAME $OSM_VCA_K8S_CLOUDNAME
-    # deploy mongodb charm
-    namespace=$OSM_STACK_NAME
-    juju deploy cs:~charmed-osm/mongodb-k8s \
-        --config enable-sidecar=true \
-        --config replica-set=rs0 \
-        --config namespace=$namespace \
-        -m $namespace
+    juju deploy ch:mongodb-k8s -m $OSM_STACK_NAME
 }
 
 function deploy_osm_pla_service() {
@@ -1017,19 +1020,22 @@ function deploy_osm_pla_service() {
 }
 
 #Install Helm v3
+#Helm releases can be found here: https://github.com/helm/helm/releases
 function install_helm() {
-    helm > /dev/null 2>&1
-    if [ $? != 0 ] ; then
+    HELM_VERSION="v3.7.2"
+    if ! [[ "$(helm version --short 2>/dev/null)" =~ ^v3.* ]]; then
         # Helm is not installed. Install helm
-        echo "Helm is not installed, installing ..."
-        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
+        echo "Helm3 is not installed, installing ..."
+        curl https://get.helm.sh/helm-${HELM_VERSION}-linux-amd64.tar.gz --output helm-${HELM_VERSION}.tar.gz
+        tar -zxvf helm-${HELM_VERSION}.tar.gz
         sudo mv linux-amd64/helm /usr/local/bin/helm
         rm -r linux-amd64
-        rm helm-v3.6.3.tar.gz
-        helm repo add stable https://charts.helm.sh/stable
-        helm repo update
+        rm helm-${HELM_VERSION}.tar.gz
+    else
+        echo "Helm3 is already installed. Skipping installation..."
     fi
+    helm repo add stable https://charts.helm.sh/stable
+    helm repo update
 }
 
 function parse_yaml() {
@@ -1628,8 +1634,8 @@ function parse_docker_registry_url() {
 }
 
 LXD_VERSION=4.0
-JUJU_VERSION=2.8
-JUJU_AGENT_VERSION=2.8.13
+JUJU_VERSION=2.9
+JUJU_AGENT_VERSION=2.9.29
 UNINSTALL=""
 DEVELOP=""
 UPDATE=""
@@ -1687,8 +1693,9 @@ OSM_DOCKER_TAG=latest
 DOCKER_USER=opensourcemano
 PULL_IMAGES="y"
 KAFKA_TAG=2.11-1.0.2
-PROMETHEUS_TAG=v2.4.3
-GRAFANA_TAG=latest
+KIWIGRID_K8S_SIDECAR_TAG="1.15.6"
+PROMETHEUS_TAG=v2.28.1
+GRAFANA_TAG=8.1.1
 PROMETHEUS_NODE_EXPORTER_TAG=0.18.1
 PROMETHEUS_CADVISOR_TAG=latest
 KEYSTONEDB_TAG=10