Set K8s 1.26 in charmed OSM installation
[osm/devops.git] / installers / charmed_install.sh
index 2cd9a07..8805a21 100755 (executable)
 
 # set -eux
 
-LXD_VERSION=4.0
+LXD_VERSION=5.0
 JUJU_VERSION=2.9
-JUJU_AGENT_VERSION=2.9.33
+JUJU_AGENT_VERSION=2.9.34
 K8S_CLOUD_NAME="k8s-cloud"
 KUBECTL="microk8s.kubectl"
-MICROK8S_VERSION=1.23
-OSMCLIENT_VERSION=latest
+MICROK8S_VERSION=1.26
+OSMCLIENT_VERSION=13.0
 IMAGES_OVERLAY_FILE=~/.osm/images-overlay.yaml
 PASSWORD_OVERLAY_FILE=~/.osm/password-overlay.yaml
 PATH=/snap/bin:${PATH}
@@ -44,7 +44,7 @@ MODEL_NAME=osm
 
 OSM_BUNDLE=ch:osm
 OSM_HA_BUNDLE=ch:osm-ha
-CHARMHUB_CHANNEL=latest/beta
+CHARMHUB_CHANNEL=13.0/stable
 unset TAG
 
 function check_arguments(){
@@ -137,7 +137,7 @@ EOF
     else
         sg ${KUBEGRP} -c "echo ${DEFAULT_IP}-${DEFAULT_IP} | microk8s.enable metallb"
         sg ${KUBEGRP} -c "microk8s.enable ingress"
-        sg ${KUBEGRP} -c "microk8s.enable storage dns"
+        sg ${KUBEGRP} -c "microk8s.enable hostpath-storage dns"
         TIME_TO_WAIT=30
         start_time="$(date -u +%s)"
         while true
@@ -177,7 +177,12 @@ EOF
               sudo sysctl --system
               # Install LXD snap
               sudo apt-get remove --purge -y liblxc1 lxc-common lxcfs lxd lxd-client
-              sudo snap install lxd --channel $LXD_VERSION/stable
+              snap info lxd | grep installed > /dev/null
+              if [ $? -eq 0 ]; then
+                sudo snap refresh lxd --channel $LXD_VERSION/stable
+              else
+                sudo snap install lxd --channel $LXD_VERSION/stable
+              fi
               # Configure LXD
               sudo usermod -a -G lxd `whoami`
               cat /usr/share/osm-devops/installers/lxd-preseed.conf | sed 's/^config: {}/config:\n  core.https_address: '$LXDENDPOINT':8443/' | sg lxd -c "lxd init --preseed"
@@ -277,12 +282,20 @@ function deploy_charmed_osm(){
         API_SERVER="$(echo $hostport | sed -e 's,:.*,,g')"
     fi
     # Configure VCA Integrator
-    juju config vca \
-      k8s-cloud=microk8s \
-      lxd-cloud=lxd-cloud:lxd-cloud \
-      controllers="`cat ~/.local/share/juju/controllers.yaml`" \
-      accounts="`cat ~/.local/share/juju/accounts.yaml`" \
-      public-key="`cat ~/.local/share/juju/ssh/juju_id_rsa.pub`"
+    if [ ! -v INSTALL_NOLXD ]; then
+        juju config vca \
+          k8s-cloud=microk8s \
+          lxd-cloud=lxd-cloud:lxd-cloud \
+          controllers="`cat ~/.local/share/juju/controllers.yaml`" \
+          accounts="`cat ~/.local/share/juju/accounts.yaml`" \
+          public-key="`cat ~/.local/share/juju/ssh/juju_id_rsa.pub`"
+    else
+        juju config vca \
+          k8s-cloud=microk8s \
+          controllers="`cat ~/.local/share/juju/controllers.yaml`" \
+          accounts="`cat ~/.local/share/juju/accounts.yaml`" \
+          public-key="`cat ~/.local/share/juju/ssh/juju_id_rsa.pub`"
+    fi
     # Expose OSM services
     juju config -m $MODEL_NAME nbi external-hostname=nbi.${API_SERVER}.nip.io
     juju config -m $MODEL_NAME ng-ui external-hostname=ui.${API_SERVER}.nip.io
@@ -392,7 +405,7 @@ EOF
         cat << EOF >> /tmp/images-overlay.yaml
   ${charm}:
     resources:
-      image: /tmp/${charm}_registry.yaml
+      ${charm}-image: /tmp/${charm}_registry.yaml
 
 EOF
     done