From: garciadeblas Date: Thu, 14 Nov 2024 23:03:39 +0000 (+0100) Subject: Replace charmed mongodb with bitnami helm chart X-Git-Url: https://osm.etsi.org/gitweb/?a=commitdiff_plain;h=refs%2Fheads%2Fv14.0;p=osm%2Fdevops.git Replace charmed mongodb with bitnami helm chart Change-Id: I45049116fbc3462bd71c4d3b17892187612cd6ba Signed-off-by: garciadeblas --- diff --git a/installers/full_install_osm.sh b/installers/full_install_osm.sh index b49bb579..f98ad50d 100755 --- a/installers/full_install_osm.sh +++ b/installers/full_install_osm.sh @@ -313,6 +313,16 @@ function deploy_charmed_services() { [ -z "${DEBUG_INSTALL}" ] || DEBUG end of function } +#deploy mongodb +function deploy_mongodb() { + [ -z "${DEBUG_INSTALL}" ] || DEBUG beginning of function + MONGO_OPTS="-d ${OSM_HELM_WORK_DIR} -D ${OSM_DEVOPS} -s ${OSM_NAMESPACE} -t ${OSM_DOCKER_TAG} -U ${DOCKER_USER} ${DEBUG_INSTALL}" + [ -n "${DOCKER_REGISTRY_URL}" ] && MONGO_OPTS="${MONGO_OPTS} -r ${DOCKER_REGISTRY_URL}" + $OSM_DEVOPS/installers/install_mongodb.sh ${MONGO_OPTS} || \ + FATAL_TRACK install_osm_mongodb_service "install_mongodb.sh failed" + [ -z "${DEBUG_INSTALL}" ] || DEBUG end of function +} + function install_osm_ngsa_service() { [ -z "${DEBUG_INSTALL}" ] || DEBUG beginning of function NGSA_OPTS="-d ${OSM_HELM_WORK_DIR} -D ${OSM_DEVOPS} -t ${OSM_DOCKER_TAG} -U ${DOCKER_USER} ${DEBUG_INSTALL}" @@ -503,7 +513,7 @@ function install_osm() { [ -z "$DOCKER_NOBUILD" ] && [ -z "$PULL_IMAGES" ] && generate_docker_images track docker_images docker_images_ok - deploy_charmed_services + deploy_mongodb track deploy_osm deploy_mongodb_ok deploy_osm_services track deploy_osm deploy_osm_services_k8s_ok diff --git a/installers/helm/values/mongodb-values.yaml b/installers/helm/values/mongodb-values.yaml new file mode 100644 index 00000000..357ebe5b --- /dev/null +++ b/installers/helm/values/mongodb-values.yaml @@ -0,0 +1,33 @@ +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +--- +replicaCount: 1 +service: + nameOverride: "mongodb-k8s" +auth: + enabled: false +architecture: "replicaset" +livenessProbe: + initialDelaySeconds: 60 + periodSeconds: 30 + timeoutSeconds: 10 + failureThreshold: 10 + successThreshold: 1 +readinessProbe: + initialDelaySeconds: 60 + periodSeconds: 30 + timeoutSeconds: 10 + failureThreshold: 10 + successThreshold: 1 + diff --git a/installers/install_mongodb.sh b/installers/install_mongodb.sh new file mode 100755 index 00000000..213d2f45 --- /dev/null +++ b/installers/install_mongodb.sh @@ -0,0 +1,93 @@ +#!/bin/bash +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +set +eux + +# Helm chart 13.9.4 correspondes to Mongo DB 6.0.5 +MONGODB_HELM_VERSION=13.9.4 + +# Install MongoDB helm chart +function install_mongodb() { + [ -z "${DEBUG_INSTALL}" ] || DEBUG beginning of function + # copy mongodb-values.yaml to the destination folder + sudo mkdir -p ${OSM_HELM_WORK_DIR} + sudo cp ${OSM_DEVOPS}/installers/helm/values/mongodb-values.yaml ${OSM_HELM_WORK_DIR} + # update mongodb-values.yaml to use the right tag + + helm repo add bitnami https://charts.bitnami.com/bitnami + helm repo update + helm upgrade mongodb-k8s bitnami/mongodb -n ${OSM_NAMESPACE} --create-namespace --install -f ${OSM_HELM_WORK_DIR}/mongodb-values.yaml --version ${MONGODB_HELM_VERSION} --timeout 10m || FATAL_TRACK mongodb "Failed installing mongodb helm chart" + [ -z "${DEBUG_INSTALL}" ] || DEBUG end of function +} + +# main +while getopts ":D:d:s:t:r:U:-: " o; do + case "${o}" in + D) + OSM_DEVOPS="${OPTARG}" + ;; + d) + OSM_HELM_WORK_DIR="${OPTARG}" + ;; + s) + OSM_NAMESPACE="${OPTARG}" + ;; + t) + OSM_DOCKER_TAG="${OPTARG}" + ;; + r) + DOCKER_REGISTRY_URL="${OPTARG}" + ;; + U) + DOCKER_USER="${OPTARG}" + ;; + -) + [ "${OPTARG}" == "debug" ] && DEBUG_INSTALL="y" && continue + echo -e "Invalid option: '--$OPTARG'\n" >&2 + exit 1 + ;; + :) + echo "Option -$OPTARG requires an argument" >&2 + exit 1 + ;; + \?) + echo -e "Invalid option: '-$OPTARG'\n" >&2 + exit 1 + ;; + *) + exit 1 + ;; + esac +done + +DEBUG_INSTALL=${DEBUG_INSTALL:-} +OSM_DEVOPS=${OSM_DEVOPS:-"/usr/share/osm-devops"} +OSM_DOCKER_TAG=${OSM_DOCKER_TAG:-"testing-daily"} +OSM_HELM_WORK_DIR=${OSM_HELM_WORK_DIR:-"/etc/osm/helm"} +OSM_NAMESPACE=${OSM_NAMESPACE:-"osm"} +DOCKER_REGISTRY_URL=${DOCKER_REGISTRY_URL:-} +DOCKER_USER=${DOCKER_USER:-"opensourcemano"} +echo "DEBUG_INSTALL=$DEBUG_INSTALL" +echo "OSM_DEVOPS=$OSM_DEVOPS" +echo "OSM_DOCKER_TAG=$OSM_DOCKER_TAG" +echo "OSM_HELM_WORK_DIR=$OSM_HELM_WORK_DIR" +echo "OSM_NAMESPACE=$OSM_NAMESPACE" +echo "DOCKER_REGISTRY_URL=$DOCKER_REGISTRY_URL" +echo "DOCKER_USER=$DOCKER_USER" + +source $OSM_DEVOPS/common/logging +source $OSM_DEVOPS/common/track + +install_mongodb