NONRTRIC-980: Service Manager - SMO deployment
Issue-ID: NONRTRIC-980
Change-Id: I7be646a7deef5bafc20c6cb0a2951f82564320b4
Signed-off-by: DenisGNoonan <denis.noonan@est.tech>
diff --git a/smo-install/helm-override/cnf/oran-override.yaml b/smo-install/helm-override/cnf/oran-override.yaml
index 52403d2..b159e96 100644
--- a/smo-install/helm-override/cnf/oran-override.yaml
+++ b/smo-install/helm-override/cnf/oran-override.yaml
@@ -43,6 +43,7 @@
installHelmmanager: true
installrAppmanager: true
installCapifcore: true
+ installServicemanager: true
# override default mount path root directory
# referenced by persistent volumes and log files
persistence:
diff --git a/smo-install/helm-override/default/oran-override.yaml b/smo-install/helm-override/default/oran-override.yaml
index 574ef5d..40d8173 100644
--- a/smo-install/helm-override/default/oran-override.yaml
+++ b/smo-install/helm-override/default/oran-override.yaml
@@ -43,6 +43,7 @@
installHelmmanager: true
installrAppmanager: true
installCapifcore: true
+ installServicemanager: true
# override default mount path root directory
# referenced by persistent volumes and log files
persistence:
diff --git a/smo-install/helm-override/pythonsdk-tests/oran-override.yaml b/smo-install/helm-override/pythonsdk-tests/oran-override.yaml
index 9b0c2de..50634cc 100644
--- a/smo-install/helm-override/pythonsdk-tests/oran-override.yaml
+++ b/smo-install/helm-override/pythonsdk-tests/oran-override.yaml
@@ -43,6 +43,7 @@
installHelmmanager: true
installrAppmanager: true
installCapifcore: true
+ installServicemanager: true
# override default mount path root directory
# referenced by persistent volumes and log files
persistence:
diff --git a/smo-install/oran_oom/kong/.helmignore b/smo-install/oran_oom/kong/.helmignore
new file mode 100644
index 0000000..0e8a0eb
--- /dev/null
+++ b/smo-install/oran_oom/kong/.helmignore
@@ -0,0 +1,23 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*.orig
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
+.vscode/
diff --git a/smo-install/oran_oom/kong/Chart.yaml b/smo-install/oran_oom/kong/Chart.yaml
new file mode 100644
index 0000000..9e2ab91
--- /dev/null
+++ b/smo-install/oran_oom/kong/Chart.yaml
@@ -0,0 +1,26 @@
+# ============LICENSE_START========================================================
+# Modification Copyright (C) 2024 OpenInfra Foundation Europe. All rights reserved.
+# =================================================================================
+# 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.
+# ============LICENSE_END==========================================================
+
+apiVersion: v2
+name: kong
+description: A Helm chart for deploying DB-mode Kong with Postgres
+version: 1.0.0
+appVersion: "1.0.0"
+
+dependencies:
+ - name: kong
+ version: "2.38.0"
+ repository: https://nexus3.o-ran-sc.org/repository/helm-konghq/
diff --git a/smo-install/oran_oom/kong/templates/00-kong-pv.yaml b/smo-install/oran_oom/kong/templates/00-kong-pv.yaml
new file mode 100644
index 0000000..a12ad6a
--- /dev/null
+++ b/smo-install/oran_oom/kong/templates/00-kong-pv.yaml
@@ -0,0 +1,33 @@
+# ============LICENSE_START===============================================
+# Copyright (C) 2024 OpenInfra Foundation Europe. All rights reserved.
+# ========================================================================
+# 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.
+# ============LICENSE_END=================================================
+#
+
+{{- if .Values.kongpv.enabled }}
+apiVersion: v1
+kind: PersistentVolume
+metadata:
+ name: kongpv
+ labels:
+ type: local
+spec:
+ capacity:
+ storage: "{{ .Values.kongpv.persistence.size }}"
+ accessModes:
+ - "{{ .Values.kongpv.persistence.accessMode }}"
+ hostPath:
+ path: "{{ .Values.kongpv.persistence.path }}"
+ persistentVolumeReclaimPolicy: "{{ .Values.kongpv.persistence.volumeReclaimPolicy }}"
+{{- end }}
diff --git a/smo-install/oran_oom/kong/templates/01-kongpvc.yaml b/smo-install/oran_oom/kong/templates/01-kongpvc.yaml
new file mode 100644
index 0000000..5f631cf
--- /dev/null
+++ b/smo-install/oran_oom/kong/templates/01-kongpvc.yaml
@@ -0,0 +1,29 @@
+# ============LICENSE_START===============================================
+# Copyright (C) 2024 OpenInfra Foundation Europe. All rights reserved.
+# ========================================================================
+# 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.
+# ============LICENSE_END=================================================
+#
+apiVersion: v1
+kind: PersistentVolumeClaim
+metadata:
+ name: data-oran-nonrtric-postgresql-0
+spec:
+ accessModes:
+ - "{{ .Values.kongpvc.persistence.accessMode }}"
+ resources:
+ requests:
+ storage: "{{ .Values.kongpvc.persistence.size }}"
+{{- if .Values.kongpv.enabled }}
+ volumeName: kongpv
+{{- end }}
diff --git a/smo-install/oran_oom/kong/values.yaml b/smo-install/oran_oom/kong/values.yaml
new file mode 100644
index 0000000..527f0d0
--- /dev/null
+++ b/smo-install/oran_oom/kong/values.yaml
@@ -0,0 +1,149 @@
+
+# ============LICENSE_START===============================================
+# Copyright (C) 2024 OpenInfra Foundation Europe. All rights reserved.
+# ========================================================================
+# 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.
+# ============LICENSE_END=================================================
+
+# Default values for Kong PV and PVC
+
+kongpv:
+ enabled: true # Disabled for Minikube
+ persistence:
+ volumeReclaimPolicy: Delete
+ accessMode: ReadWriteOnce
+ size: 2Gi
+ path: "/tmp/kongpv"
+
+kongpvc:
+ persistence:
+ volumeReclaimPolicy: Delete
+ accessMode: ReadWriteOnce
+ size: 2Gi
+
+#
+# Default values for Kong's Helm Chart.
+#
+
+kong:
+ # Sections:
+ # - Deployment parameters
+ # - Kong parameters
+ # - Ingress Controller parameters
+ # - Postgres sub-chart parameters
+ # - Miscellaneous parameters
+ # For a detailed example of values.yaml, please see https://github.com/Kong/charts/blob/main/charts/kong/values.yaml
+ # -----------------------------------------------------------------------------
+ # Deployment parameters
+ # -----------------------------------------------------------------------------
+ deployment:
+ kong:
+ enabled: true
+ serviceAccount:
+ create: true
+ automountServiceAccountToken: false
+ # -----------------------------------------------------------------------------
+ # Kong parameters
+ # -----------------------------------------------------------------------------
+ env:
+ database: "postgres"
+ # Specify Kong's Docker image and repository details here
+ image:
+ repository: kong
+ tag: "3.4"
+ pullPolicy: IfNotPresent
+ # Specify Kong admin API service and listener configuration
+ admin:
+ enabled: true
+ type: NodePort
+ http:
+ # Enable plaintext HTTP listen for the admin API
+ enabled: true
+ servicePort: 8001
+ containerPort: 8001
+ nodePort: 32081
+ parameters: []
+ tls:
+ # Enable HTTPS listen for the admin API
+ enabled: false
+ servicePort: 8444
+ containerPort: 8444
+ nodePort: 32444
+ parameters:
+ - http2
+ ingress:
+ enabled: false
+ # Specify Kong proxy service configuration
+ proxy:
+ # Enable creating a Kubernetes service for the proxy
+ enabled: true
+ type: LoadBalancer
+ loadBalancerClass:
+ nameOverride: ""
+ annotations: {}
+ labels:
+ enable-metrics: "true"
+ http:
+ # Enable plaintext HTTP listen for the proxy
+ enabled: true
+ servicePort: 80
+ containerPort: 8000
+ # Set a nodePort which is available if service type is NodePort
+ nodePort: 32080
+ parameters: []
+ tls:
+ # Enable HTTPS listen for the proxy
+ enabled: false
+ servicePort: 443
+ containerPort: 8443
+ parameters:
+ - http2
+ # -----------------------------------------------------------------------------
+ # Ingress Controller parameters
+ # -----------------------------------------------------------------------------
+ ingressController:
+ enabled: true
+ installCRDs: false
+ image:
+ repository: kong/kubernetes-ingress-controller
+ tag: "3.0"
+ env:
+ kong_admin_tls_skip_verify: true
+ # -----------------------------------------------------------------------------
+ # Postgres sub-chart parameters
+ # -----------------------------------------------------------------------------
+ postgresql:
+ enabled: true
+ auth:
+ database: kong
+ username: kong
+ password: kong
+ postgresPassword: kong
+ image:
+ # use postgres < 14 until is https://github.com/Kong/kong/issues/8533 resolved
+ tag: 13.11.0-debian-11-r20
+ service:
+ ports:
+ postgresql: "5432"
+ volumePermissions:
+ enabled: true
+ primary:
+ persistence:
+ existingClaim: data-oran-nonrtric-postgresql-0
+ # -----------------------------------------------------------------------------
+ # Miscellaneous parameters
+ # -----------------------------------------------------------------------------
+ waitImage:
+ enabled: true
+ pullPolicy: IfNotPresent
+ replicaCount: 1
diff --git a/smo-install/oran_oom/nonrtric/Chart.yaml b/smo-install/oran_oom/nonrtric/Chart.yaml
index e7dd005..5462a68 100644
--- a/smo-install/oran_oom/nonrtric/Chart.yaml
+++ b/smo-install/oran_oom/nonrtric/Chart.yaml
@@ -1,3 +1,19 @@
+# ============LICENSE_START========================================================
+# Modification Copyright (C) 2024 OpenInfra Foundation Europe. All rights reserved.
+# =================================================================================
+# 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.
+# ============LICENSE_END==========================================================
+
apiVersion: v2
name: nonrtric
version: 1.0.0
@@ -79,8 +95,8 @@
condition: nonrtric.installHelmmanager
- name: kong
- version: ~2.4.0
- repository: https://nexus3.o-ran-sc.org/repository/helm-konghq/
+ version: ~1.0.0
+ repository: "@local"
condition: nonrtric.installKong
- name: dmaapadapterservice
@@ -97,3 +113,8 @@
version: ~1.0.0
repository: "@local"
condition: nonrtric.installCapifcore
+
+ - name: servicemanager
+ version: ~1.0.0
+ repository: "@local"
+ condition: nonrtric.installServicemanager
diff --git a/smo-install/oran_oom/nonrtric/values.yaml b/smo-install/oran_oom/nonrtric/values.yaml
index f344441..7b862a7 100644
--- a/smo-install/oran_oom/nonrtric/values.yaml
+++ b/smo-install/oran_oom/nonrtric/values.yaml
@@ -44,6 +44,7 @@
installHelmmanager: true
installrAppmanager: true
installCapifcore: true
+ installServicemanager: true
volume1:
size: 1Gi
diff --git a/smo-install/oran_oom/servicemanager/Chart.yaml b/smo-install/oran_oom/servicemanager/Chart.yaml
new file mode 100644
index 0000000..db6a13e
--- /dev/null
+++ b/smo-install/oran_oom/servicemanager/Chart.yaml
@@ -0,0 +1,27 @@
+################################################################################
+# Copyright (c) 2024 OpenInfra Foundation Europe. #
+# #
+# 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: v2
+appVersion: "2.0.0"
+description: A Helm chart for ServiceManager
+name: servicemanager
+version: 1.0.0
+
+dependencies:
+ - name: nonrtric-common
+ version: ^2.0.0
+ repository: "@local"
diff --git a/smo-install/oran_oom/servicemanager/templates/configmap.yaml b/smo-install/oran_oom/servicemanager/templates/configmap.yaml
new file mode 100644
index 0000000..746b039
--- /dev/null
+++ b/smo-install/oran_oom/servicemanager/templates/configmap.yaml
@@ -0,0 +1,24 @@
+################################################################################
+# Copyright (c) 2024 OpenInfra Foundation Europe. #
+# #
+# 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: ConfigMap
+metadata:
+ name: servicemanager-configmap
+data:
+{{- range $key, $value := .Values.data }}
+ {{ $key }}: |
+{{ $value | indent 4 }}
+{{- end }}
diff --git a/smo-install/oran_oom/servicemanager/templates/deployment.yaml b/smo-install/oran_oom/servicemanager/templates/deployment.yaml
new file mode 100644
index 0000000..fd76886
--- /dev/null
+++ b/smo-install/oran_oom/servicemanager/templates/deployment.yaml
@@ -0,0 +1,39 @@
+################################################################################
+# Copyright (c) 2024 OpenInfra Foundation Europe. #
+# #
+# 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. #
+################################################################################
+
+kind: Deployment
+apiVersion: apps/v1
+metadata: {{- include "common.resourceMetadata" . | nindent 2 }}
+spec:
+ replicas: 1
+ selector: {{- include "common.selectors" . | nindent 4 }}
+ template:
+ metadata: {{- include "common.templateMetadata" . | nindent 6 }}
+ spec:
+ hostname: {{ include "common.name" . }}
+ containers:
+ - name: {{ include "common.containername" . }}
+ image: {{ .Values.image.registry }}/{{ .Values.image.name }}:{{ .Values.image.tag }}
+ imagePullPolicy: {{ .Values.imagePullPolicy }}
+ {{- include "common.tcpsocketProbes" . | nindent 8 }}
+ volumeMounts:
+ - name: servicemanager-config-volume
+ mountPath: /app/servicemanager/.env
+ subPath: .env
+ volumes:
+ - name: servicemanager-config-volume
+ configMap:
+ name: servicemanager-configmap
diff --git a/smo-install/oran_oom/servicemanager/templates/service.yaml b/smo-install/oran_oom/servicemanager/templates/service.yaml
new file mode 100644
index 0000000..3a64f6a
--- /dev/null
+++ b/smo-install/oran_oom/servicemanager/templates/service.yaml
@@ -0,0 +1,17 @@
+################################################################################
+# Copyright (C) 2024 OpenInfra Foundation Europe. All rights reserved. #
+# #
+# 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. #
+################################################################################
+
+{{ include "common.service" . }}
diff --git a/smo-install/oran_oom/servicemanager/values.yaml b/smo-install/oran_oom/servicemanager/values.yaml
new file mode 100644
index 0000000..a0a4ffd
--- /dev/null
+++ b/smo-install/oran_oom/servicemanager/values.yaml
@@ -0,0 +1,75 @@
+# ============LICENSE_START===============================================
+# Copyright (C) 2024 OpenInfra Foundation Europe. All rights reserved.
+# ========================================================================
+# 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.
+# ============LICENSE_END=================================================
+
+# Default values for Servicemanager
+
+imagePullPolicy: IfNotPresent
+image:
+ registry: 'nexus3.o-ran-sc.org:10004/o-ran-sc'
+ name: nonrtric-plt-servicemanager
+ tag: 0.1.2
+service:
+ httpName: http
+ ports:
+ - name: http
+ internalPort: "8095"
+ targetPort: "8095"
+ nodePort: 31575
+ type: NodePort
+liveness:
+ initialDelaySeconds: 300
+ periodSeconds: 10
+readiness:
+ initialDelaySeconds: 60
+ periodSeconds: 10
+resources:
+ small:
+ limits:
+ cpu: 250m
+ memory: 256Mi
+ requests:
+ cpu: 80m
+ memory: 128Mi
+ large:
+ limits:
+ cpu: 400m
+ memory: 8Gi
+ requests:
+ cpu: 200m
+ memory: 2Gi
+ unlimited: {}
+nameOverride: ""
+
+
+allowHttp: true
+SERVICE_MANAGER_ENV: ""
+
+data:
+ .env: |
+ # The Kong Data plane provides the endpoint that Service Manager gives to the rApp so that the rApp can invoke the CAPIF published API.
+ # In a Kubernetes environment, we need to use the Kong NodePort IP and nodePort if the rApp needs access from outside the Kong cluster.
+ # From inside the Kong cluster, we can use the Kubernetes cluster DNS entry, kong-nonrtric-kong-proxy.nonrtric.svc.cluster.local.
+ KONG_DOMAIN: "kong"
+ KONG_PROTOCOL: "http"
+ KONG_CONTROL_PLANE_IPV4: "oran-nonrtric-kong-admin.nonrtric.svc.cluster.local"
+ KONG_CONTROL_PLANE_PORT: "8001"
+ KONG_DATA_PLANE_IPV4: "oran-nonrtric-kong-proxy.nonrtric.svc.cluster.local"
+ KONG_DATA_PLANE_PORT: "80"
+ CAPIF_PROTOCOL: "http"
+ CAPIF_IPV4: "capifcore.nonrtric.svc.cluster.local"
+ CAPIF_PORT: "8090"
+ LOG_LEVEL: "Info"
+ SERVICE_MANAGER_PORT: "8095"
diff --git a/smo-install/scripts/sub-scripts/install-nonrtric.sh b/smo-install/scripts/sub-scripts/install-nonrtric.sh
index 2926b40..97479d0 100755
--- a/smo-install/scripts/sub-scripts/install-nonrtric.sh
+++ b/smo-install/scripts/sub-scripts/install-nonrtric.sh
@@ -1,12 +1,12 @@
#!/bin/bash
###
-# ============LICENSE_START=======================================================
+# ============LICENSE_START========================================================
# ORAN SMO Package
-# ================================================================================
-# Copyright (C) 2021 AT&T Intellectual Property. All rights
-# reserved.
-# ================================================================================
+# =================================================================================
+# Copyright (C) 2021 AT&T Intellectual Property. All rights reserved.
+# Modification Copyright (C) 2024 OpenInfra Foundation Europe. All rights reserved.
+# =================================================================================
# 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
@@ -18,11 +18,48 @@
# 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.
-# ============LICENSE_END============================================
-# ===================================================================
-#
+# ============LICENSE_END==========================================================
+# =================================================================================
+#
###
kubectl create namespace nonrtric
echo '### Installing ORAN NONRTRIC part ###'
-helm install --debug oran-nonrtric local/nonrtric --namespace nonrtric -f $1 --set nonrtric.persistence.mountPath="/dockerdata-nfs/deployment-$2"
+
+OVERRIDEYAML=$1
+
+if ! command -v yq > /dev/null 2>&1; then
+ echo "yq is not installed. Installing yq..."
+ sudo snap install yq --channel=v3/stable
+fi
+
+INSTALL_KONG=$(yq read "$OVERRIDEYAML" 'nonrtric.installKong')
+if [ $? -ne 0 ] || [ -z "$INSTALL_KONG" ]; then
+ echo "Error: failed to parse installKong from YAML with yq. Aborting install."
+ exit 1
+fi
+
+INSTALL_CAPIF=$(yq read "$OVERRIDEYAML" 'nonrtric.installCapifcore')
+if [ $? -ne 0 ] || [ -z "$INSTALL_CAPIF" ]; then
+ echo "Error: failed to parse installCapifcore from YAML with yq. Aborting install."
+ exit 1
+fi
+
+INSTALL_SERVICEMANAGER=$(yq read "$OVERRIDEYAML" 'nonrtric.installServicemanager')
+if [ $? -ne 0 ] || [ -z "$INSTALL_SERVICEMANAGER" ]; then
+ echo "Error: failed to parse installServicemanager from YAML with yq. Aborting install."
+ exit 1
+fi
+
+if [ "$INSTALL_SERVICEMANAGER" == "true" ]; then
+ if [ "$INSTALL_KONG" == "false" ]; then
+ echo "Error: INSTALL_KONG must be true if INSTALL_SERVICEMANAGER is true. Aborting install."
+ exit 1
+ fi
+ if [ "$INSTALL_CAPIF" == "false" ]; then
+ echo "Error: INSTALL_CAPIF must be true if INSTALL_SERVICEMANAGER is true. Aborting install."
+ exit 1
+ fi
+fi
+
+helm install --debug oran-nonrtric local/nonrtric --namespace nonrtric -f $OVERRIDEYAML --set nonrtric.persistence.mountPath="/dockerdata-nfs/deployment-$2"
diff --git a/smo-install/scripts/sub-scripts/uninstall-nonrtric.sh b/smo-install/scripts/sub-scripts/uninstall-nonrtric.sh
index 6c528e3..ee52b7c 100755
--- a/smo-install/scripts/sub-scripts/uninstall-nonrtric.sh
+++ b/smo-install/scripts/sub-scripts/uninstall-nonrtric.sh
@@ -1,12 +1,13 @@
#!/bin/bash
###
-# ============LICENSE_START=======================================================
+# ============LICENSE_START========================================================
# ORAN SMO Package
-# ================================================================================
+# =================================================================================
# Copyright (C) 2021 AT&T Intellectual Property. All rights
# reserved.
-# ================================================================================
+# Modification Copyright (C) 2024 OpenInfra Foundation Europe. All rights reserved.
+# =================================================================================
# 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
@@ -18,11 +19,32 @@
# 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.
-# ============LICENSE_END============================================
-# ===================================================================
-#
+# ============LICENSE_END==========================================================
+# =================================================================================
+#
###
+if ! jq --version > /dev/null 2>&1 ; then
+ sudo apt-get update
+ sudo apt-get install -y jq
+fi
+
+INSTALL_KONG=$(helm get values oran-nonrtric -n nonrtric -o json | jq '.nonrtric.installKong')
+if [ $? -ne 0 ]; then
+ echo "Failed to parse helm release value installKong with jq."
+ exit 1
+fi
+
+if [ "$INSTALL_KONG" = true ];then
+ echo "Warning - deleting Kong routes and services for ServiceManager."
+ SERVICEMANAGER_POD=$(kubectl get pods -o custom-columns=NAME:.metadata.name -l app.kubernetes.io/name=servicemanager --no-headers -n nonrtric)
+ if [[ -n $SERVICEMANAGER_POD ]]; then
+ kubectl exec $SERVICEMANAGER_POD -n nonrtric -- ./kongclearup
+ else
+ echo "Error - Servicemanager pod not found, didn't delete Kong routes and services for ServiceManager."
+ fi
+fi
+
kubectl delete namespace nonrtric
kubectl delete pv nonrtric-pv2
kubectl delete pv nonrtric-pv1