X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=installers%2Fcharmed_install.sh;h=d0418a88b36ef1a5ee3642af816ca6b7db6f8f28;hb=9afb0effa38c2164c24e35a5730a90c551cdcfe0;hp=8900270cf9bcbd8df2657fb2d0845707bc531d1c;hpb=de5fc1da0abc424bd83f3b22a931950de09709fd;p=osm%2Fdevops.git diff --git a/installers/charmed_install.sh b/installers/charmed_install.sh index 8900270c..d0418a88 100755 --- a/installers/charmed_install.sh +++ b/installers/charmed_install.sh @@ -43,6 +43,7 @@ function install_snaps(){ mkdir -p ~/.kube sudo chown -f -R `whoami` ~/.kube KUBEGRP="microk8s" + microk8s status --wait-ready else KUBECTL="kubectl" sudo snap install kubectl --classic @@ -67,6 +68,17 @@ using this command: juju destroy-controller --release-storage --destroy-all-models -y ${CONTROLLER_NAME} Please retry the installation once this conflict has been resolved. +EOF + exit 1 + fi + else + CONTROLLER_PRESENT=$(juju controllers 2>/dev/null| grep ${CONTROLLER_NAME} | wc -l) + if [ $CONTROLLER_PRESENT -le 0 ]; then + cat << EOF +Threre is no VCA present with the name "${CONTROLLER_NAME}". Please specify a VCA +that exists, or remove the --vca ${CONTROLLER_NAME} option. + +Please retry the installation with one of the solutions applied. EOF exit 1 fi @@ -74,9 +86,12 @@ EOF if [ -v KUBECFG ]; then cat $KUBECFG | juju add-k8s $K8S_CLOUD_NAME $ADD_K8S_OPTS - [ -v BOOTSTRAP_NEEDED ] && juju bootstrap $K8S_CLOUD_NAME $CONTROLLER_NAME --config controller-service-type=loadbalancer + [ -v BOOTSTRAP_NEEDED ] && juju bootstrap $K8S_CLOUD_NAME $CONTROLLER_NAME \ + --config controller-service-type=loadbalancer \ + --agent-version=2.8.1 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" TIME_TO_WAIT=30 start_time="$(date -u +%s)" @@ -96,7 +111,9 @@ EOF done [ ! -v BOOTSTRAP_NEEDED ] && sg ${KUBEGRP} -c "microk8s.config" | juju add-k8s $K8S_CLOUD_NAME $ADD_K8S_OPTS - [ -v BOOTSTRAP_NEEDED ] && sg ${KUBEGRP} -c "juju bootstrap microk8s $CONTROLLER_NAME --config controller-service-type=loadbalancer" && K8S_CLOUD_NAME=microk8s + [ -v BOOTSTRAP_NEEDED ] && sg ${KUBEGRP} -c \ + "juju bootstrap microk8s $CONTROLLER_NAME --config controller-service-type=loadbalancer --agent-version=2.8.1" \ + && K8S_CLOUD_NAME=microk8s fi if [ -v LXD_CLOUD ]; then @@ -154,7 +171,6 @@ EOF juju add-cloud -c $CONTROLLER_NAME lxd-cloud $LXD_CLOUD --force juju add-credential -c $CONTROLLER_NAME lxd-cloud -f $LXD_CREDENTIALS sg lxd -c "lxd waitready" - #juju add-model test lxd-cloud || true juju controller-config features=[k8s-operators] } @@ -171,7 +187,7 @@ function wait_for_port(){ exit 1 fi - if [ $(sg ${KUBEGRP} -c "${KUBECTL} get ingress -n osm -o json | jq -r '.items[$INDEX].metadata.name'") == ${SERVICE} ] ; then + if [ $(sg ${KUBEGRP} -c "${KUBECTL} get ingresses.networking -n osm -o json | jq -r '.items[$INDEX].metadata.name'") == ${SERVICE} ] ; then break fi sleep 1 @@ -199,7 +215,6 @@ function deploy_charmed_osm(){ check_osm_deployed echo "OSM with charms deployed" if [ ! -v KUBECFG ]; then - sg ${KUBEGRP} -c "microk8s.enable ingress" API_SERVER=${DEFAULT_IP} else API_SERVER=$(kubectl config view --minify | grep server | cut -f 2- -d ":" | tr -d " ") @@ -211,29 +226,37 @@ function deploy_charmed_osm(){ fi # Expose OSM services + # Expose Grafana + juju config grafana-k8s juju-external-hostname=grafana.${API_SERVER}.xip.io + juju expose grafana-k8s + wait_for_port grafana-k8s 0 + # Expose NBI juju config nbi-k8s juju-external-hostname=nbi.${API_SERVER}.xip.io juju expose nbi-k8s + wait_for_port nbi-k8s 1 # Expose NG UI juju config ng-ui juju-external-hostname=ui.${API_SERVER}.xip.io juju expose ng-ui + wait_for_port ng-ui 2 + + # Expose Prometheus + juju config prometheus-k8s juju-external-hostname=prometheus.${API_SERVER}.xip.io + juju expose prometheus-k8s + wait_for_port prometheus-k8s 3 # Expose UI juju config ui-k8s juju-external-hostname=osm.${API_SERVER}.xip.io juju expose ui-k8s - - # Wait for ingress resources to be applied - wait_for_port nbi-k8s 0 - wait_for_port ng-ui 1 - wait_for_port ui-k8s 2 + wait_for_port ui-k8s 4 # Apply annotations - sg ${KUBEGRP} -c "${KUBECTL} annotate ingress nginx.ingress.kubernetes.io/backend-protocol=HTTPS -n osm -l juju-app=nbi-k8s" - sg ${KUBEGRP} -c "${KUBECTL} annotate ingress nginx.ingress.kubernetes.io/proxy-body-size=0 -n osm -l juju-app=nbi-k8s" - sg ${KUBEGRP} -c "${KUBECTL} annotate ingress nginx.ingress.kubernetes.io/proxy-body-size=0 -n osm -l juju-app=ng-ui" - sg ${KUBEGRP} -c "${KUBECTL} annotate ingress nginx.ingress.kubernetes.io/proxy-body-size=0 -n osm -l juju-app=ui-k8s" - + sg ${KUBEGRP} -c "${KUBECTL} annotate ingresses.networking nginx.ingress.kubernetes.io/backend-protocol=HTTPS -n osm -l juju-app=nbi-k8s" + sg ${KUBEGRP} -c "${KUBECTL} annotate ingresses.networking nginx.ingress.kubernetes.io/proxy-body-size=0 -n osm -l juju-app=nbi-k8s" + sg ${KUBEGRP} -c "${KUBECTL} annotate ingresses.networking nginx.ingress.kubernetes.io/proxy-body-size=0 -n osm -l juju-app=ng-ui" + sg ${KUBEGRP} -c "${KUBECTL} annotate ingresses.networking nginx.ingress.kubernetes.io/proxy-body-size=0 -n osm -l juju-app=ui-k8s" +} function check_osm_deployed() { TIME_TO_WAIT=600 @@ -324,6 +347,9 @@ applications: ng-ui: options: image: opensourcemano/ng-ui:$TAG + keystone: + options: + image: opensourcemano/keystone:$TAG EOF mv /tmp/images-overlay.yaml $IMAGES_OVERLAY_FILE