X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=installers%2Ffull_install_osm.sh;h=54d77bec5832739fba11ff6644059038d2879a10;hb=6389247540b9c5668d8dff8cd3845873c95b2db1;hp=d7eec9464b8fe358bf53b047727431e065881e8a;hpb=1525155176f8b2f8772a3ecbcc42597f398cd8f8;p=osm%2Fdevops.git diff --git a/installers/full_install_osm.sh b/installers/full_install_osm.sh index d7eec946..54d77bec 100755 --- a/installers/full_install_osm.sh +++ b/installers/full_install_osm.sh @@ -492,21 +492,14 @@ clouds: ssl-hostname-verification: false EOF openssl req -nodes -new -x509 -keyout /tmp/.osm/client.key -out /tmp/.osm/client.crt -days 365 -subj "/C=FR/ST=Nice/L=Nice/O=ETSI/OU=OSM/CN=osm.etsi.org" - local server_cert=`cat /var/snap/lxd/common/lxd/server.crt | sed 's/^/ /'` - local client_cert=`cat /tmp/.osm/client.crt | sed 's/^/ /'` - local client_key=`cat /tmp/.osm/client.key | sed 's/^/ /'` - cat << EOF > $LXD_CREDENTIALS credentials: $OSM_VCA_CLOUDNAME: lxd-cloud: auth-type: certificate - server-cert: | -$server_cert - client-cert: | -$client_cert - client-key: | -$client_key + server-cert: /var/snap/lxd/common/lxd/server.crt + client-cert: /tmp/.osm/client.crt + client-key: /tmp/.osm/client.key EOF lxc config trust add local: /tmp/.osm/client.crt juju add-cloud -c $OSM_STACK_NAME $OSM_VCA_CLOUDNAME $LXD_CLOUD --force @@ -554,6 +547,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 +797,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 +821,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 +880,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 +1002,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 +1013,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 +1627,8 @@ function parse_docker_registry_url() { } LXD_VERSION=4.0 -JUJU_VERSION=2.8 -JUJU_AGENT_VERSION=2.8.11 +JUJU_VERSION=2.9 +JUJU_AGENT_VERSION=2.9.29 UNINSTALL="" DEVELOP="" UPDATE="" @@ -1687,8 +1686,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 @@ -1882,19 +1882,28 @@ done [ -n "$TO_REBUILD" ] && [ "$TO_REBUILD" != " NONE" ] && echo $TO_REBUILD | grep -q NONE && FATAL "Incompatible option: -m NONE cannot be used with other -m options" [ -n "$TO_REBUILD" ] && [ "$TO_REBUILD" == " PLA" ] && [ -z "$INSTALL_PLA" ] && FATAL "Incompatible option: -m PLA cannot be used without --pla option" -if [ -n "$SHOWOPTS" ]; then - dump_vars +# Uninstall if "--uninstall" +if [ -n "$UNINSTALL" ]; then + if [ -n "$CHARMED" ]; then + ${OSM_DEVOPS}/installers/charmed_uninstall.sh -R $RELEASE -r $REPOSITORY -u $REPOSITORY_BASE -D $OSM_DEVOPS -t $DOCKER_TAG "$@" || \ + FATAL_TRACK charmed_uninstall "charmed_uninstall.sh failed" + else + ${OSM_DEVOPS}/installers/uninstall_osm.sh "$@" || \ + FATAL_TRACK community_uninstall "uninstall_osm.sh failed" + fi + echo -e "\nDONE" exit 0 fi if [ -n "$CHARMED" ]; then - if [ -n "$UNINSTALL" ]; then - ${OSM_DEVOPS}/installers/charmed_uninstall.sh -R $RELEASE -r $REPOSITORY -u $REPOSITORY_BASE -D /usr/share/osm-devops -t $DOCKER_TAG "$@" - else - ${OSM_DEVOPS}/installers/charmed_install.sh -R $RELEASE -r $REPOSITORY -u $REPOSITORY_BASE -D /usr/share/osm-devops -t $DOCKER_TAG "$@" - fi - - exit 0 + export OSM_TRACK_INSTALLATION_ID="$(date +%s)-$(head /dev/urandom | tr -dc A-Za-z0-9 | head -c 16)" + track start release $RELEASE none none docker_tag $OSM_DOCKER_TAG none none installation_type $OSM_INSTALLATION_TYPE none none + ${OSM_DEVOPS}/installers/charmed_install.sh --tag $OSM_DOCKER_TAG "$@" || \ + FATAL_TRACK charmed_install "charmed_install.sh failed" + wget -q -O- https://osm-download.etsi.org/ftp/osm-11.0-eleven/README2.txt &> /dev/null + track end installation_type $OSM_INSTALLATION_TYPE + echo -e "\nDONE" + exit 0 fi # if develop, we force master