From 0e49b4aa3a8853ea5b9702e0bc58134d8a4bcd88 Mon Sep 17 00:00:00 2001 From: garciadeblas Date: Mon, 17 Apr 2023 12:38:17 +0200 Subject: [PATCH] Feature 10981: remove mon and pol for ng-sa installation This change removes the deployment of POL for NG-SA installation. In addition, it deploys a reduced MON, which will only run mon-dashboarder. A new K8s manifest (ng-mon.yaml )file has been created for the purpose. Change-Id: I243a2710d7b883d505ff4b4d012f7d67920f0e73 Signed-off-by: garciadeblas --- docker/MON/scripts/dashboarder-start.sh | 18 +++++++ installers/docker/osm_pods/ng-mon.yaml | 68 +++++++++++++++++++++++++ installers/full_install_osm.sh | 8 ++- 3 files changed, 93 insertions(+), 1 deletion(-) create mode 100644 docker/MON/scripts/dashboarder-start.sh create mode 100644 installers/docker/osm_pods/ng-mon.yaml diff --git a/docker/MON/scripts/dashboarder-start.sh b/docker/MON/scripts/dashboarder-start.sh new file mode 100644 index 00000000..171f75d0 --- /dev/null +++ b/docker/MON/scripts/dashboarder-start.sh @@ -0,0 +1,18 @@ +####################################################################################### +# Copyright ETSI Contributors and Others. +# +# 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. +####################################################################################### + +osm-mon-dashboarder diff --git a/installers/docker/osm_pods/ng-mon.yaml b/installers/docker/osm_pods/ng-mon.yaml new file mode 100644 index 00000000..121c0c58 --- /dev/null +++ b/installers/docker/osm_pods/ng-mon.yaml @@ -0,0 +1,68 @@ +####################################################################################### +# Copyright ETSI Contributors and Others. +# +# 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. +####################################################################################### +apiVersion: v1 +kind: Service +metadata: + name: mon +spec: + clusterIP: None + ports: + - port: 8662 + protocol: TCP + targetPort: 8662 + selector: + app: mon + type: ClusterIP +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: mon + labels: + app: mon +spec: + replicas: 1 + selector: + matchLabels: + app: mon + template: + metadata: + labels: + app: mon + spec: + initContainers: + - name: kafka-mongo-test + image: alpine:latest + command: ["sh", "-c", "until (nc -zvw1 kafka 9092 && nc -zvw1 mongodb-k8s 27017); do sleep 3; done; exit 0"] + containers: + - name: mon + command: ["/bin/bash"] + args: ["scripts/dashboarder-start.sh"] + image: opensourcemano/mon:13 + ports: + - containerPort: 8662 + protocol: TCP + env: + - name: OSMMON_MESSAGE_HOST + value: kafka + - name: OSMMON_MESSAGE_PORT + value: "9092" + - name: OSMMON_DATABASE_URI + value: mongodb://mongodb-k8s:27017/?replicaSet=rs0 + envFrom: + - secretRef: + name: mon-secret diff --git a/installers/full_install_osm.sh b/installers/full_install_osm.sh index 449ca49e..03be9a62 100755 --- a/installers/full_install_osm.sh +++ b/installers/full_install_osm.sh @@ -550,6 +550,8 @@ function parse_yaml() { image=${module} if [ "$module" == "ng-prometheus" ]; then image="prometheus" + elif [ "$module" == "ng-mon" ]; then + image="mon" fi echo "Updating K8s manifest file from opensourcemano\/${image}:.* to ${DOCKER_REGISTRY_URL}${DOCKER_USER}\/${image}:${TAG}" sudo sed -i "s#opensourcemano/${image}:.*#${DOCKER_REGISTRY_URL}${DOCKER_USER}/${image}:${TAG}#g" ${OSM_K8S_WORK_DIR}/${module}.yaml @@ -559,7 +561,7 @@ function parse_yaml() { } function update_manifest_files() { - osm_services="nbi lcm ro pol mon ng-ui keystone pla prometheus ng-prometheus" + osm_services="nbi lcm ro pol mon ng-mon ng-ui keystone pla prometheus ng-prometheus" list_of_services="" for module in $osm_services; do module_upper="${module^^}" @@ -574,9 +576,13 @@ function update_manifest_files() { parse_yaml $MODULE_DOCKER_TAG $list_of_services_to_rebuild fi # The manifest for prometheus is prometheus.yaml or ng-prometheus.yaml, depending on the installation option + # If NG-SA is installed, it will include ng-mon (only mon-dashboarder), ng-prometheus and webhook translator. It won't include pol, mon and prometheus if [ -n "$INSTALL_NGSA" ]; then sudo rm -f ${OSM_K8S_WORK_DIR}/prometheus.yaml + sudo rm -f ${OSM_K8S_WORK_DIR}/mon.yaml + sudo rm -f ${OSM_K8S_WORK_DIR}/pol.yaml else + sudo rm -f ${OSM_K8S_WORK_DIR}/ng-mon.yaml sudo rm -f ${OSM_K8S_WORK_DIR}/ng-prometheus.yaml sudo rm -f ${OSM_K8S_WORK_DIR}/webhook-translator.yaml fi -- 2.25.1