X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=installers%2Fcharmed_install.sh;h=5b4d3b22d3e226d9fe1d678b438edcb980ea9e5a;hb=daf90770f05ba1f6a5091942e2de14e8653281b6;hp=75a7259ad08c79c944311392145bbc67adb51013;hpb=df6de3db64bf19769632733d9cf59e12a84d1403;p=osm%2Fdevops.git diff --git a/installers/charmed_install.sh b/installers/charmed_install.sh index 75a7259a..5b4d3b22 100755 --- a/installers/charmed_install.sh +++ b/installers/charmed_install.sh @@ -19,11 +19,16 @@ JUJU_AGENT_VERSION=2.8.6 K8S_CLOUD_NAME="k8s-cloud" KUBECTL="microk8s.kubectl" MICROK8S_VERSION=1.19 +OSMCLIENT_VERSION=9.0 IMAGES_OVERLAY_FILE=~/.osm/images-overlay.yaml PATH=/snap/bin:${PATH} MODEL_NAME=osm +OSM_BUNDLE=cs:osm-54 +OSM_HA_BUNDLE=cs:osm-ha-40 +TAG=9 + function check_arguments(){ while [ $# -gt 0 ] ; do case $1 in @@ -33,7 +38,7 @@ function check_arguments(){ --lxd) LXD_CLOUD="$2" ;; --lxd-cred) LXD_CREDENTIALS="$2" ;; --microstack) MICROSTACK=y ;; - --ha) BUNDLE="cs:osm-ha" ;; + --ha) BUNDLE=$OSM_HA_BUNDLE ;; --tag) TAG="$2" ;; --registry) REGISTRY_INFO="$2" ;; esac @@ -46,13 +51,18 @@ function check_arguments(){ function install_snaps(){ if [ ! -v KUBECFG ]; then sudo snap install microk8s --classic --channel=${MICROK8S_VERSION}/stable + cat /var/snap/microk8s/current/args/kube-apiserver | grep advertise-address || ( + echo "--advertise-address $DEFAULT_IP" | sudo tee -a /var/snap/microk8s/current/args/kube-apiserver + microk8s.stop + microk8s.start + ) sudo usermod -a -G microk8s `whoami` mkdir -p ~/.kube sudo chown -f -R `whoami` ~/.kube KUBEGRP="microk8s" sg ${KUBEGRP} -c "microk8s status --wait-ready" KUBECONFIG=~/.osm/microk8s-config.yaml - sg ${KUBEGRP} -c "microk8s config" > ${KUBECONFIG} + sg ${KUBEGRP} -c "microk8s config" | tee ${KUBECONFIG} else KUBECTL="kubectl" sudo snap install kubectl --classic @@ -242,7 +252,7 @@ function deploy_charmed_osm(){ if [ -v BUNDLE ]; then juju deploy -m $MODEL_NAME $BUNDLE --overlay ~/.osm/vca-overlay.yaml $images_overlay else - juju deploy -m $MODEL_NAME cs:osm-53 --overlay ~/.osm/vca-overlay.yaml $images_overlay + juju deploy -m $MODEL_NAME $OSM_BUNDLE --overlay ~/.osm/vca-overlay.yaml $images_overlay fi echo "Waiting for deployment to finish..." @@ -307,14 +317,14 @@ function create_overlay() { sudo snap install jq sudo snap install yq local HOME=/home/$USER - local vca_user=$(cat $HOME/.local/share/juju/accounts.yaml | yq r - controllers.$CONTROLLER_NAME.user) - local vca_password=$(cat $HOME/.local/share/juju/accounts.yaml | yq r - controllers.$CONTROLLER_NAME.password) - local vca_host=$(cat $HOME/.local/share/juju/controllers.yaml | yq r - controllers.$CONTROLLER_NAME.api-endpoints[0] | cut -d ":" -f 1) - local vca_port=$(cat $HOME/.local/share/juju/controllers.yaml | yq r - controllers.$CONTROLLER_NAME.api-endpoints[0] | cut -d ":" -f 2) + local vca_user=$(cat $HOME/.local/share/juju/accounts.yaml | yq e .controllers.$CONTROLLER_NAME.user - ) + local vca_password=$(cat $HOME/.local/share/juju/accounts.yaml | yq e .controllers.$CONTROLLER_NAME.password - ) + local vca_host=$(cat $HOME/.local/share/juju/controllers.yaml | yq e .controllers.$CONTROLLER_NAME.api-endpoints[0] - | cut -d ":" -f 1) + local vca_port=$(cat $HOME/.local/share/juju/controllers.yaml | yq e .controllers.$CONTROLLER_NAME.api-endpoints[0] - | cut -d ":" -f 2) local vca_pubkey=\"$(cat $HOME/.local/share/juju/ssh/juju_id_rsa.pub)\" local vca_cloud="lxd-cloud" # Get the VCA Certificate - local vca_cacert=$(cat $HOME/.local/share/juju/controllers.yaml | yq r - controllers.$CONTROLLER_NAME.ca-cert | base64 | tr -d \\n) + local vca_cacert=$(cat $HOME/.local/share/juju/controllers.yaml | yq e .controllers.$CONTROLLER_NAME.ca-cert - | base64 | tr -d \\n) # Calculate the default route of this machine local DEFAULT_IF=`ip route list match 0.0.0.0 | awk '{print $5}'` @@ -393,9 +403,23 @@ EOF mv /tmp/images-overlay.yaml $IMAGES_OVERLAY_FILE } +function refresh_osmclient_snap() { + osmclient_snap_install_refresh refresh +} + +function install_osm_client_snap() { + osmclient_snap_install_refresh install +} + +function osmclient_snap_install_refresh() { + channel_preference="stable candidate beta edge" + for channel in $channel_preference; do + echo "Trying to install osmclient from channel $OSMCLIENT_VERSION/$channel" + sudo snap $1 osmclient --channel $OSMCLIENT_VERSION/$channel 2> /dev/null && echo osmclient snap installed && break + done +} function install_osmclient() { - sudo snap install osmclient - sudo snap alias osmclient.osm osm + snap info osmclient | grep -E ^installed: && refresh_osmclient_snap || install_osm_client_snap } function add_local_k8scluster() {