Merge "Fix ORU-APP https"
authorMartin Skorupski <martin.skorupski@highstreet-technologies.com>
Mon, 17 Jan 2022 23:52:05 +0000 (23:52 +0000)
committerGerrit Code Review <gerrit@o-ran-sc.org>
Mon, 17 Jan 2022 23:52:05 +0000 (23:52 +0000)
35 files changed:
bin/deploy-nonrtric
bin/undeploy-nonrtric
nonrtric/RECIPE_EXAMPLE/example_recipe.yaml
nonrtric/helm/a1simulator/values.yaml
nonrtric/helm/controlpanel/values.yaml
nonrtric/helm/dmaapadapterservice/values.yaml
nonrtric/helm/dmaapmediatorservice/templates/statefulset.yaml
nonrtric/helm/dmaapmediatorservice/values.yaml
nonrtric/helm/helmmanager/templates/statefulset.yaml
nonrtric/helm/helmmanager/values.yaml
nonrtric/helm/informationservice/values.yaml
nonrtric/helm/nonrtric/Chart.yaml
nonrtric/helm/nonrtric/templates/pv1.yaml
nonrtric/helm/nonrtric/templates/pv2.yaml
nonrtric/helm/nonrtric/values.yaml
nonrtric/helm/nonrtricgateway/values.yaml
nonrtric/helm/odusliceassurance/Chart.yaml [new file with mode: 0644]
nonrtric/helm/odusliceassurance/requirements.yaml [new file with mode: 0644]
nonrtric/helm/odusliceassurance/templates/deployment.yaml [new file with mode: 0644]
nonrtric/helm/odusliceassurance/templates/service.yaml [new file with mode: 0644]
nonrtric/helm/odusliceassurance/values.yaml [new file with mode: 0644]
nonrtric/helm/oruclosedlooprecovery/Chart.yaml [new file with mode: 0644]
nonrtric/helm/oruclosedlooprecovery/requirements.yaml [new file with mode: 0644]
nonrtric/helm/oruclosedlooprecovery/resources/config/o-ru-to-o-du-map.csv [new file with mode: 0644]
nonrtric/helm/oruclosedlooprecovery/templates/configmap.yaml [new file with mode: 0644]
nonrtric/helm/oruclosedlooprecovery/templates/deployment.yaml [new file with mode: 0644]
nonrtric/helm/oruclosedlooprecovery/templates/service.yaml [new file with mode: 0644]
nonrtric/helm/oruclosedlooprecovery/values.yaml [new file with mode: 0644]
nonrtric/helm/policymanagementservice/resources/config/application.yaml
nonrtric/helm/policymanagementservice/templates/statefulset.yaml
nonrtric/helm/policymanagementservice/values.yaml
nonrtric/helm/rappcatalogueservice/values.yaml
ric-common/Common-Template/helm/nonrtric-common/templates/_odusliceassurance.tpl [new file with mode: 0644]
ric-common/Common-Template/helm/nonrtric-common/templates/_oruclosedlooprecovery.tpl [new file with mode: 0644]
ric-dep

index 775a311..cdf993e 100755 (executable)
@@ -106,7 +106,7 @@ rm $HELM_LOCAL_REPO/*
 helm repo remove local
 $ROOT_DIR/prepare-common-templates
 
-COMPONENTS="controlpanel a1controller a1simulator policymanagementservice informationservice rappcatalogueservice nonrtricgateway dmaapadapterservice dmaapmediatorservice helmmanager"
+COMPONENTS="controlpanel a1controller a1simulator policymanagementservice informationservice rappcatalogueservice nonrtricgateway dmaapadapterservice dmaapmediatorservice helmmanager oruclosedlooprecovery odusliceassurance"
 for component in $COMPONENTS; do
     echo "Packaging NONRTRIC component [$component]"
     helm dep up $ROOT_DIR/../nonrtric/helm/$component
index b3b2cc9..a97f888 100755 (executable)
@@ -18,7 +18,7 @@
 # This script to undeploy the NONRTRIC
 
 
-COMPONENTS="controlpanel a1controller a1simulator policymanagementservice informationservice rappcatalogueservice nonrtricgateway dmaapadapterservice dmaapmediatorservice helmmanager"
+COMPONENTS="controlpanel a1controller a1simulator policymanagementservice informationservice rappcatalogueservice nonrtricgateway dmaapadapterservice dmaapmediatorservice helmmanager oruclosedlooprecovery odusliceassurance"
 RECIPE_NAMESPACE=$(kubectl get cm --all-namespaces | grep nonrtric-recipe | awk '{print $1}')
 kubectl get configmap  -n $RECIPE_NAMESPACE nonrtric-recipe  -o jsonpath='{.data.recipe}' > /tmp/recipe.yaml
 
index 73de17e..510ecb2 100644 (file)
@@ -19,7 +19,7 @@
 #-------------------------------------------------------------------------
 
 
-# Here you can enable inclusion or exclusion of each component. A not installed component will not be installed.
+# Here you can enable inclusion or exclusion of each component. A not enabled component will not be installed.
 nonrtric:
   installPms: true
   installA1controller: true
@@ -32,18 +32,21 @@ nonrtric:
   installDmaapadapterservice: true
   installDmaapmediatorservice: true
   installHelmmanager: true
+  installOruclosedlooprecovery: true
+  installOdusliceassurance: true
   volume1:
     # Set the size to 0 if you do not need the volume (if you are using Dynamic Volume Provisioning)
     size: 2Gi
     storageClassName: pms-storage
+    hostPath: /var/nonrtric/pms-storage
   volume2:
      # Set the size to 0 if you do not need the volume (if you are using Dynamic Volume Provisioning)
     size: 2Gi
     storageClassName: ics-storage
+    hostPath: /var/nonrtric/ics-storage
   volume3:
     size: 1Gi
     storageClassName: helmmanager-storage
-
 common:
   releasePrefix: r3-dev-nonrtric
 # Do not change the namespace
@@ -55,7 +58,7 @@ informationservice:
   informationservice:
     imagePullPolicy: Always
     image:
-      registry: 'nexus3.o-ran-sc.org:10004/o-ran-sc'
+      registry: 'nexus3.o-ran-sc.org:10002/o-ran-sc'
       name: 'nonrtric-information-coordinator-service'
       tag: 1.2.0
     service:
@@ -85,8 +88,8 @@ policymanagementservice:
   policymanagementservice:
     imagePullPolicy: Always
     image:
-      registry: 'nexus3.o-ran-sc.org:10004/o-ran-sc'
-      name: nonrtric-policy-agent
+      registry: 'nexus3.o-ran-sc.org:10002/o-ran-sc'
+      name: nonrtric-a1-policy-management-service
       tag: 2.3.0
     service:
       allowHttp: true
@@ -139,7 +142,7 @@ a1simulator:
     name: a1-sim
     imagePullPolicy: Always
     image:
-      registry: 'nexus3.o-ran-sc.org:10004/o-ran-sc'
+      registry: 'nexus3.o-ran-sc.org:10002/o-ran-sc'
       name: a1-simulator
       tag: 2.2.0
     service:
@@ -170,7 +173,7 @@ controlpanel:
   controlpanel:
     imagePullPolicy: Always
     image:
-      registry: 'nexus3.o-ran-sc.org:10004/o-ran-sc'
+      registry: 'nexus3.o-ran-sc.org:10002/o-ran-sc'
       name: nonrtric-controlpanel
       tag: 2.3.0
     replicaCount: 1
@@ -197,9 +200,9 @@ rappcatalogueservice:
   rappcatalogueservice:
     imagePullPolicy: Always
     image:
-      registry: 'nexus3.o-ran-sc.org:10004/o-ran-sc'
+      registry: 'nexus3.o-ran-sc.org:10002/o-ran-sc'
       name: nonrtric-r-app-catalogue
-      tag: 1.1.0
+      tag: 1.0.1
     service:
       allowHttp: true
       httpName: http
@@ -219,9 +222,9 @@ nonrtricgateway:
   nonrtricgateway:
     imagePullPolicy: Always
     image:
-      registry: 'nexus3.o-ran-sc.org:10004/o-ran-sc'
+      registry: 'nexus3.o-ran-sc.org:10002/o-ran-sc'
       name: nonrtric-gateway
-      tag: 1.1.0
+      tag: 1.0.0
     service:
       httpName: http
       internalPort1: 9090
@@ -238,7 +241,7 @@ dmaapadapterservice:
   dmaapadapterservice:
     imagePullPolicy: Always
     image:
-      registry: 'nexus3.o-ran-sc.org:10004/o-ran-sc'
+      registry: 'nexus3.o-ran-sc.org:10002/o-ran-sc'
       name: 'nonrtric-dmaap-adaptor'
       tag: 1.0.0
     service:
@@ -260,7 +263,7 @@ dmaapmediatorservice:
   dmaapmediatorservice:
     imagePullPolicy: IfNotPresent
     image:
-      registry: "nexus3.o-ran-sc.org:10004/o-ran-sc"
+      registry: "nexus3.o-ran-sc.org:10002/o-ran-sc"
       name: "nonrtric-dmaap-mediator-producer"
       tag: 1.0.0
     service:
@@ -283,7 +286,7 @@ helmmanager:
     clusterRoleName: cluster-admin
     imagePullPolicy: Always
     image:
-      registry: "nexus3.o-ran-sc.org:10004/o-ran-sc"
+      registry: "nexus3.o-ran-sc.org:10002/o-ran-sc"
       name: "nonrtric-helm-manager"
       tag: 1.1.0
     service:
@@ -300,4 +303,39 @@ helmmanager:
       # Either refer to a volume created under the nonrtric by storageClassName. Then the claimed size should be the same.
       # The alternative use a dynamic volume provisioner in the cluster. Storage class can then be for instance 'standard' or 'gluster-fs' (depeneds on which classes that are available)
       size: 1Gi
-      storageClassName: helmmanager-storage
\ No newline at end of file
+      storageClassName: helmmanager-storage
+
+odusliceassurance:
+  odusliceassurance:
+    imagePullPolicy: IfNotPresent
+    image:
+      registry: "nexus3.o-ran-sc.org:10002/o-ran-sc"
+      name: "nonrtric-o-du-slice-assurance"
+      tag: 1.0.0
+    env:
+      mr_host: "http://onap-dmaap"
+      mr_port: "3904"
+      sdnr_address: "http://sdnr:8181"
+      sdnr_user: "admin"
+      sdnr_password: "Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U"
+      log_level: "Info"
+      polltime: "10"
+
+oruclosedlooprecovery:
+  oruclosedlooprecovery:
+    imagePullPolicy: IfNotPresent
+    image:
+      registry: "nexus3.o-ran-sc.org:10002/o-ran-sc"
+      name: "nonrtric-o-ru-closed-loop-recovery"
+      tag: 1.0.0
+    env:
+      consumer_host: "http://mrproducer"
+      consumer_port: "8095"
+      consumer_cert_path: "security/producer.crt"
+      consumer_key_path: "security/producer.key"
+      info_coord_addr: "http://ics:8083"
+      sdnr_address: "http://sdnr:8282"
+      sdnr_user: "admin"
+      sdnr_password: "Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U"
+      oru_to_odu_map_file: "o-ru-to-o-du-map.csv"
+      log_level: "Info"
index 3f587c6..d104e1a 100644 (file)
@@ -22,7 +22,7 @@ a1simulator:
   name: a1-sim
   imagePullPolicy: IfNotPresent
   image:
-    registry: 'nexus3.o-ran-sc.org:10004/o-ran-sc'
+    registry: 'nexus3.o-ran-sc.org:10002/o-ran-sc'
     name: a1-simulator
     tag: 2.2.0
   service:
index 91f233f..063b830 100644 (file)
@@ -21,7 +21,7 @@
 controlpanel:
   imagePullPolicy: IfNotPresent
   image:
-    registry: 'nexus3.o-ran-sc.org:10004/o-ran-sc'
+    registry: 'nexus3.o-ran-sc.org:10002/o-ran-sc'
     name: nonrtric-controlpanel
     tag: 2.3.0
   replicaCount: 1
index 123b2b7..3260e26 100644 (file)
@@ -21,7 +21,7 @@
 dmaapadapterservice:
   imagePullPolicy: IfNotPresent
   image:
-    registry: "nexus3.o-ran-sc.org:10004/o-ran-sc"
+    registry: "nexus3.o-ran-sc.org:10002/o-ran-sc"
     name: "nonrtric-dmaap-adaptor"
     tag: 1.0.0
   service:
index ae3971d..3694754 100644 (file)
@@ -50,17 +50,16 @@ spec:
           protocol: TCP
         - containerPort: {{ .Values.dmaapmediatorservice.service.targetPort2 }}
           protocol: TCP
-        # Temporarily disabled probes due to no http available in the container
-        # readinessProbe:
-        #   tcpSocket:
-        #     port: {{ .Values.dmaapmediatorservice.service.targetPort1 }}
-        #   initialDelaySeconds: {{ .Values.dmaapmediatorservice.liveness.initialDelaySeconds }}
-        #   periodSeconds: {{ .Values.dmaapmediatorservice.liveness.periodSeconds }}
-        # livenessProbe:
-        #   tcpSocket:
-        #     port: {{ .Values.dmaapmediatorservice.service.targetPort1 }}
-        #   initialDelaySeconds: {{ .Values.dmaapmediatorservice.liveness.initialDelaySeconds }}
-        #   periodSeconds: {{ .Values.dmaapmediatorservice.liveness.periodSeconds }}
+        readinessProbe:
+          tcpSocket:
+            port: {{ .Values.dmaapmediatorservice.service.targetPort2 }}
+          initialDelaySeconds: {{ .Values.dmaapmediatorservice.liveness.initialDelaySeconds }}
+          periodSeconds: {{ .Values.dmaapmediatorservice.liveness.periodSeconds }}
+        livenessProbe:
+          tcpSocket:
+            port: {{ .Values.dmaapmediatorservice.service.targetPort2 }}
+          initialDelaySeconds: {{ .Values.dmaapmediatorservice.liveness.initialDelaySeconds }}
+          periodSeconds: {{ .Values.dmaapmediatorservice.liveness.periodSeconds }}
         volumeMounts:
         - name: {{ include "common.name.dmaapmediatorservice" . }}-dmaapmediator-data
           mountPath: /configs/type_config.json
index 4a32b42..3ae2eac 100644 (file)
@@ -21,7 +21,7 @@
 dmaapmediatorservice:
   imagePullPolicy: IfNotPresent
   image:
-    registry: "nexus3.o-ran-sc.org:10004/o-ran-sc"
+    registry: "nexus3.o-ran-sc.org:10002/o-ran-sc"
     name: "nonrtric-dmaap-mediator-producer"
     tag: 1.0.0
   service:
index 668ac5f..d980ecb 100644 (file)
@@ -48,17 +48,16 @@ spec:
         ports:
         - containerPort: {{ .Values.helmmanager.service.targetPort1 }}
           protocol: TCP
-        # readinessProbe:
-        #   tcpSocket:
-        #     port: {{ .Values.helmmanager.service.targetPort1 }}
-        #   initialDelaySeconds: {{ .Values.helmmanager.liveness.initialDelaySeconds }}
-        #   periodSeconds: {{ .Values.helmmanager.liveness.periodSeconds }}
-        # livenessProbe:
-        #   httpGet:
-        #     path: /helm/charts
-        #     port: {{ .Values.helmmanager.service.targetPort1 }}
-        #   initialDelaySeconds: {{ .Values.helmmanager.liveness.initialDelaySeconds }}
-        #   periodSeconds: {{ .Values.helmmanager.liveness.periodSeconds }}
+        readinessProbe:
+          tcpSocket:
+            port: {{ .Values.helmmanager.service.targetPort1 }}
+          initialDelaySeconds: {{ .Values.helmmanager.liveness.initialDelaySeconds }}
+          periodSeconds: {{ .Values.helmmanager.liveness.periodSeconds }}
+        livenessProbe:
+          tcpSocket:
+            port: {{ .Values.helmmanager.service.targetPort1 }}
+          initialDelaySeconds: {{ .Values.helmmanager.liveness.initialDelaySeconds }}
+          periodSeconds: {{ .Values.helmmanager.liveness.periodSeconds }}
         volumeMounts:
         - name: {{ include "common.name.helmmanager" . }}-vardata
           mountPath: "/var/helm-manager-service"
index 40ef634..0751698 100644 (file)
@@ -22,7 +22,7 @@ helmmanager:
   clusterRoleName: cluster-admin
   imagePullPolicy: IfNotPresent
   image:
-    registry: "nexus3.o-ran-sc.org:10004/o-ran-sc"
+    registry: "nexus3.o-ran-sc.org:10002/o-ran-sc"
     name: "nonrtric-helm-manager"
     tag: 1.1.0
   service:
index e998656..a5d571a 100644 (file)
@@ -21,7 +21,7 @@
 informationservice:
   imagePullPolicy: IfNotPresent
   image:
-    registry: "nexus3.o-ran-sc.org:10004/o-ran-sc"
+    registry: "nexus3.o-ran-sc.org:10002/o-ran-sc"
     name: "nonrtric-information-coordinator-service"
     tag: 1.2.0
   service:
index 76422ff..7307229 100644 (file)
@@ -75,3 +75,12 @@ dependencies:
     repository: "@local"
     condition: nonrtric.installHelmmanager
 
+  - name: odusliceassurance
+    version: ~1.0.0
+    repository: "@local"
+    condition: nonrtric.installOdusliceassurance
+
+  - name: oruclosedlooprecovery
+    version: ~1.0.0
+    repository: "@local"
+    condition: nonrtric.installOruclosedlooprecovery
index c9ba128..27426e4 100644 (file)
@@ -29,7 +29,7 @@ spec:
     - ReadWriteMany
   persistentVolumeReclaimPolicy: Retain
   hostPath:
-    path: /dockerdata-nfs/nonrtric/volume1
+    path:  {{ .Values.nonrtric.volume1.hostPath }}
   storageClassName: {{ .Values.nonrtric.volume1.storageClassName }}
 
 {{- end }}
index 6fd313c..0058780 100644 (file)
@@ -29,7 +29,7 @@ spec:
     - ReadWriteMany
   persistentVolumeReclaimPolicy: Retain
   hostPath:
-    path: /dockerdata-nfs/nonrtric/volume2
+    path:  {{ .Values.nonrtric.volume2.hostPath }}
   storageClassName: {{ .Values.nonrtric.volume2.storageClassName }}
 
 {{- end }}
index 4b07fb9..983ca34 100644 (file)
@@ -25,12 +25,17 @@ nonrtric:
   installDmaapadapterservice: true
   installDmaapmediatorservice: true
   installHelmmanager: true
+  installOruclosedlooprecovery: true
+  installOdusliceassurance: true
+
   volume1:
     size: 1Gi
     storageClassName: volume1
+    hostPath: /dockerdata-nfs/nonrtric/volume1
   volume2:
     size: 1Gi
     storageClassName: volume2
+    hostPath: /dockerdata-nfs/nonrtric/volume2
   volume3:
     size: 1Gi
     storageClassName: volume3
\ No newline at end of file
index 6333376..acfc3dc 100644 (file)
@@ -21,9 +21,9 @@
 nonrtricgateway:
   imagePullPolicy: IfNotPresent
   image:
-    registry: 'nexus3.o-ran-sc.org:10004/o-ran-sc'
+    registry: 'nexus3.o-ran-sc.org:10002/o-ran-sc'
     name: nonrtric-gateway
-    tag: 1.1.0
+    tag: 1.0.0
   service:
     httpName: http
     internalPort1: 9090
diff --git a/nonrtric/helm/odusliceassurance/Chart.yaml b/nonrtric/helm/odusliceassurance/Chart.yaml
new file mode 100644 (file)
index 0000000..f506b96
--- /dev/null
@@ -0,0 +1,21 @@
+################################################################################
+#   Copyright (c) 2021 Nordix Foundation.                                      #
+#                                                                              #
+#   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
+appVersion: "2.0.0"
+description: A Helm chart for odu slice assurance
+name: odusliceassurance
+version: 1.0.0
diff --git a/nonrtric/helm/odusliceassurance/requirements.yaml b/nonrtric/helm/odusliceassurance/requirements.yaml
new file mode 100644 (file)
index 0000000..69b4db6
--- /dev/null
@@ -0,0 +1,20 @@
+################################################################################
+#   Copyright (c) 2021 Nordix Foundation.                                      #
+#                                                                              #
+#   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.                                             #
+################################################################################
+
+dependencies:
+  - name: nonrtric-common
+    version: ^2.0.0
+    repository: "@local"
diff --git a/nonrtric/helm/odusliceassurance/templates/deployment.yaml b/nonrtric/helm/odusliceassurance/templates/deployment.yaml
new file mode 100644 (file)
index 0000000..819a725
--- /dev/null
@@ -0,0 +1,65 @@
+################################################################################
+#   Copyright (c) 2021 Nordix Foundation.                                      #
+#                                                                              #
+#   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:
+  name: {{ include "common.name.odusliceassurance" . }}
+  namespace: {{ include "common.namespace.nonrtric" . }}
+  generation: 1
+  labels:
+    app: {{ include "common.namespace.nonrtric" . }}-{{ include "common.name.odusliceassurance" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+  annotations:
+    deployment.kubernetes.io/revision: '1'
+spec:
+  replicas: 1
+  selector:
+    matchLabels:
+      app: {{ include "common.namespace.nonrtric" . }}-{{ include "common.name.odusliceassurance" . }}
+      release: {{ .Release.Name }}
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.namespace.nonrtric" . }}-{{ include "common.name.odusliceassurance" . }}
+        release: {{ .Release.Name }}
+    spec:
+      hostname: {{ include "common.name.odusliceassurance" . }}
+      containers:
+      - name: {{ include "common.container.odusliceassurance" . }}
+        image: {{ .Values.odusliceassurance.image.registry }}/{{ .Values.odusliceassurance.image.name }}:{{ .Values.odusliceassurance.image.tag }}
+        imagePullPolicy: {{ .Values.odusliceassurance.imagePullPolicy }}
+        ports:
+        - containerPort: 80
+          protocol: TCP
+        env:
+          - name: MR_HOST
+            value: "{{ .Values.odusliceassurance.env.mr_host }}"
+          - name: MR_PORT
+            value: "{{ .Values.odusliceassurance.env.mr_port }}"
+          - name: SDNR_ADDRESS
+            value: "{{ .Values.odusliceassurance.env.sdnr_address }}"
+          - name: SDNR_USER
+            value: "{{ .Values.odusliceassurance.env.sdnr_user }}"
+          - name: SDNR_PASSWORD
+            value: "{{ .Values.odusliceassurance.env.sdnr_password }}"
+          - name: LOG_LEVEL
+            value: "{{ .Values.odusliceassurance.env.log_level }}"
+          - name: POLLTIME
+            value: "{{ .Values.odusliceassurance.env.polltime }}"
+
diff --git a/nonrtric/helm/odusliceassurance/templates/service.yaml b/nonrtric/helm/odusliceassurance/templates/service.yaml
new file mode 100644 (file)
index 0000000..d4d29f2
--- /dev/null
@@ -0,0 +1,37 @@
+################################################################################
+#   Copyright (c) 2021 Nordix Foundation.                                      #
+#                                                                              #
+#   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: Service
+apiVersion: v1
+metadata:
+  name: {{ include "common.name.odusliceassurance" . }}
+  namespace: {{ include "common.namespace.nonrtric" . }}
+  labels:
+    app: {{ include "common.namespace.nonrtric" . }}-{{ include "common.name.odusliceassurance" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  ports:
+    {{if eq .Values.odusliceassurance.service.allowHttp true -}}
+    - name: {{ index .Values.odusliceassurance.service.httpName }}
+      port: {{ .Values.odusliceassurance.service.port }}
+      protocol: TCP
+    {{- end }}
+  selector:
+    app: {{ include "common.namespace.nonrtric" . }}-{{ include "common.name.odusliceassurance" . }}
+    release: {{ .Release.Name }}
+  type: ClusterIP
diff --git a/nonrtric/helm/odusliceassurance/values.yaml b/nonrtric/helm/odusliceassurance/values.yaml
new file mode 100644 (file)
index 0000000..8479912
--- /dev/null
@@ -0,0 +1,38 @@
+################################################################################
+#   Copyright (c) 2021 Nordix Foundation.                                      #
+#                                                                              #
+#   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.                                             #
+################################################################################
+
+# Default values for odu slice assurance.
+# This is a YAML-formatted file.
+# Declare variables to be passed into your templates.
+
+odusliceassurance:
+  imagePullPolicy: IfNotPresent
+  image:
+    registry: 'nexus3.o-ran-sc.org:10002/o-ran-sc'
+    name: nonrtric-o-du-slice-assurance
+    tag: 1.0.0
+  service:
+    httpName: web
+    allowHttp: true
+    port: 80
+  env:
+    mr_host: "http://onap-dmaap"
+    mr_port: "3904"
+    sdnr_address: "http://sdnr:8181"
+    sdnr_user: "admin"
+    sdnr_password: "Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U"
+    log_level: "Info"
+    polltime: "10"
diff --git a/nonrtric/helm/oruclosedlooprecovery/Chart.yaml b/nonrtric/helm/oruclosedlooprecovery/Chart.yaml
new file mode 100644 (file)
index 0000000..df25c81
--- /dev/null
@@ -0,0 +1,21 @@
+################################################################################
+#   Copyright (c) 2021 Nordix Foundation.                                      #
+#                                                                              #
+#   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
+appVersion: "2.0.0"
+description: A Helm chart for oru closed loop recovery
+name: oruclosedlooprecovery
+version: 1.0.0
diff --git a/nonrtric/helm/oruclosedlooprecovery/requirements.yaml b/nonrtric/helm/oruclosedlooprecovery/requirements.yaml
new file mode 100644 (file)
index 0000000..69b4db6
--- /dev/null
@@ -0,0 +1,20 @@
+################################################################################
+#   Copyright (c) 2021 Nordix Foundation.                                      #
+#                                                                              #
+#   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.                                             #
+################################################################################
+
+dependencies:
+  - name: nonrtric-common
+    version: ^2.0.0
+    repository: "@local"
diff --git a/nonrtric/helm/oruclosedlooprecovery/resources/config/o-ru-to-o-du-map.csv b/nonrtric/helm/oruclosedlooprecovery/resources/config/o-ru-to-o-du-map.csv
new file mode 100644 (file)
index 0000000..951337a
--- /dev/null
@@ -0,0 +1,11 @@
+ERICSSON-O-RU-11220,HCL-O-DU-1122
+ERICSSON-O-RU-11221,HCL-O-DU-1122
+ERICSSON-O-RU-11222,HCL-O-DU-1122
+ERICSSON-O-RU-11223,HCL-O-DU-1122
+ERICSSON-O-RU-11223,HCL-O-DU-1122
+ERICSSON-O-RU-11224,HCL-O-DU-1123
+ERICSSON-O-RU-11225,HCL-O-DU-1123
+ERICSSON-O-RU-11226,HCL-O-DU-1123
+ERICSSON-O-RU-11227,HCL-O-DU-1124
+ERICSSON-O-RU-11228,HCL-O-DU-1125
+ERICSSON-O-RU-11229,HCL-O-DU-1125
\ No newline at end of file
diff --git a/nonrtric/helm/oruclosedlooprecovery/templates/configmap.yaml b/nonrtric/helm/oruclosedlooprecovery/templates/configmap.yaml
new file mode 100644 (file)
index 0000000..4f1ce19
--- /dev/null
@@ -0,0 +1,29 @@
+################################################################################
+#   Copyright (c) 2021 Nordix Foundation.                                      #
+#                                                                              #
+#   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: {{ include "common.name.oruclosedlooprecovery" . }}-configmap-config
+  namespace: {{ include "common.namespace.nonrtric" . }}
+  labels:
+    app: {{ include "common.namespace.nonrtric" . }}-{{ include "common.name.oruclosedlooprecovery" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+data:
+{{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }}
\ No newline at end of file
diff --git a/nonrtric/helm/oruclosedlooprecovery/templates/deployment.yaml b/nonrtric/helm/oruclosedlooprecovery/templates/deployment.yaml
new file mode 100644 (file)
index 0000000..0f2d08c
--- /dev/null
@@ -0,0 +1,78 @@
+################################################################################
+#   Copyright (c) 2021 Nordix Foundation.                                      #
+#                                                                              #
+#   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:
+  name: {{ include "common.name.oruclosedlooprecovery" . }}
+  namespace: {{ include "common.namespace.nonrtric" . }}
+  generation: 1
+  labels:
+    app: {{ include "common.namespace.nonrtric" . }}-{{ include "common.name.oruclosedlooprecovery" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+  annotations:
+    deployment.kubernetes.io/revision: '1'
+spec:
+  replicas: 1
+  selector:
+    matchLabels:
+      app: {{ include "common.namespace.nonrtric" . }}-{{ include "common.name.oruclosedlooprecovery" . }}
+      release: {{ .Release.Name }}
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.namespace.nonrtric" . }}-{{ include "common.name.oruclosedlooprecovery" . }}
+        release: {{ .Release.Name }}
+    spec:
+      hostname: {{ include "common.name.oruclosedlooprecovery" . }}
+      containers:
+      - name: {{ include "common.container.oruclosedlooprecovery" . }}
+        image: {{ .Values.oruclosedlooprecovery.image.registry }}/{{ .Values.oruclosedlooprecovery.image.name }}:{{ .Values.oruclosedlooprecovery.image.tag }}
+        imagePullPolicy: {{ .Values.oruclosedlooprecovery.imagePullPolicy }}
+        ports:
+        - containerPort: 80
+          protocol: TCP
+        env:
+          - name: CONSUMER_HOST
+            value: "{{ .Values.oruclosedlooprecovery.env.consumer_host }}"
+          - name: CONSUMER_PORT
+            value: "{{ .Values.oruclosedlooprecovery.env.consumer_port }}"
+          - name: CONSUMER_CERT_PATH
+            value: "{{ .Values.oruclosedlooprecovery.env.consumer_cert_path }}"
+          - name: CONSUMER_KEY_PATH
+            value: "{{ .Values.oruclosedlooprecovery.env.consumer_key_path }}"
+          - name: INFO_COORD_ADDR
+            value: "{{ .Values.oruclosedlooprecovery.env.info_coord_addr }}"
+          - name: SDNR_ADDRESS
+            value: "{{ .Values.oruclosedlooprecovery.env.sdnr_address }}"
+          - name: SDNR_USER
+            value: "{{ .Values.oruclosedlooprecovery.env.sdnr_user }}"
+          - name: SDNR_PASSWORD
+            value: "{{ .Values.oruclosedlooprecovery.env.sdnr_password }}"
+          - name: ORU_TO_ODU_MAP_FILE
+            value: "{{ .Values.oruclosedlooprecovery.env.oru_to_odu_map_file }}"
+          - name: LOG_LEVEL
+            value: "{{ .Values.oruclosedlooprecovery.env.log_level }}"
+        volumeMounts:
+        - name: {{ include "common.name.oruclosedlooprecovery" . }}-oru-config
+          mountPath: "/app/o-ru-to-o-du-map.csv"
+          subPath: "o-ru-to-o-du-map.csv"
+      volumes:
+        - name: {{ include "common.name.oruclosedlooprecovery" . }}-oru-config
+          configMap:
+            name: {{ include "common.name.oruclosedlooprecovery" . }}-configmap-config
diff --git a/nonrtric/helm/oruclosedlooprecovery/templates/service.yaml b/nonrtric/helm/oruclosedlooprecovery/templates/service.yaml
new file mode 100644 (file)
index 0000000..adca209
--- /dev/null
@@ -0,0 +1,37 @@
+################################################################################
+#   Copyright (c) 2021 Nordix Foundation.                                      #
+#                                                                              #
+#   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: Service
+apiVersion: v1
+metadata:
+  name: {{ include "common.name.oruclosedlooprecovery" . }}
+  namespace: {{ include "common.namespace.nonrtric" . }}
+  labels:
+    app: {{ include "common.namespace.nonrtric" . }}-{{ include "common.name.oruclosedlooprecovery" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  ports:
+    {{if eq .Values.oruclosedlooprecovery.service.allowHttp true -}}
+    - name: {{ index .Values.oruclosedlooprecovery.service.httpName }}
+      port: {{ .Values.oruclosedlooprecovery.service.port }}
+      protocol: TCP
+    {{- end }}
+  selector:
+    app: {{ include "common.namespace.nonrtric" . }}-{{ include "common.name.oruclosedlooprecovery" . }}
+    release: {{ .Release.Name }}
+  type: ClusterIP
diff --git a/nonrtric/helm/oruclosedlooprecovery/values.yaml b/nonrtric/helm/oruclosedlooprecovery/values.yaml
new file mode 100644 (file)
index 0000000..e3830c8
--- /dev/null
@@ -0,0 +1,41 @@
+################################################################################
+#   Copyright (c) 2021 Nordix Foundation.                                      #
+#                                                                              #
+#   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.                                             #
+################################################################################
+
+# Default values for oru closed loop recovery.
+# This is a YAML-formatted file.
+# Declare variables to be passed into your templates.
+
+oruclosedlooprecovery:
+  imagePullPolicy: IfNotPresent
+  image:
+    registry: 'nexus3.o-ran-sc.org:10002/o-ran-sc'
+    name: nonrtric-o-ru-closed-loop-recovery
+    tag: 1.0.0
+  service:
+    httpName: web
+    allowHttp: true
+    port: 80
+  env:
+    consumer_host: "http://mrproducer"
+    consumer_port: "8095"
+    consumer_cert_path: "security/producer.crt"
+    consumer_key_path: "security/producer.key"
+    info_coord_addr: "http://ics:8083"
+    sdnr_address: "http://sdnr:8282"
+    sdnr_user: "admin"
+    sdnr_password: "Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U"
+    oru_to_odu_map_file: "o-ru-to-o-du-map.csv"
+    log_level: "Info"
index 5fc5051..0294e37 100644 (file)
@@ -53,7 +53,7 @@ server:
 app:
   # Location of the component configuration file. The file will only be used if the Consul database is not used;
   # configuration from the Consul will override the file.
-  filepath: /opt/app/policy-agent/data/application_configuration.json
+  filepath: /var/policy-management-service/application_configuration.json
   webclient:
     # Configuration of the trust store used for the HTTP client (outgoing requests)
     # The file location and the password for the truststore is only relevant if trust-store-used == true
@@ -67,3 +67,6 @@ app:
     http.proxy-port: 0
   # path where the service can store data
   vardata-directory: /var/policy-management-service
+  # the config-file-schema-path referres to a location in the jar file. If this property is empty or missing,
+  # no schema validation will be executed.
+  config-file-schema-path: /application_configuration_schema.json
index 3ef2826..0930d07 100644 (file)
@@ -41,6 +41,21 @@ spec:
         release: {{ .Release.Name }}
     spec:
       hostname: {{ include "common.name.policymanagementservice" . }}
+      initContainers:
+      - name: copy
+        image: busybox:1.28
+        command:
+        - /bin/sh
+        - -c
+        - FILE=/var/policy-management-service/application_configuration.json;
+          if [ ! -f $FILE ]; then
+            cp  /etc/app/policy-management-service/initialdata/application_configuration.json $FILE;
+          fi
+        volumeMounts:
+        - name: {{ include "common.name.policymanagementservice" . }}-vardata
+          mountPath: "/var/policy-management-service"
+        - name: {{ include "common.name.policymanagementservice" . }}-policy-data
+          mountPath: /etc/app/policy-management-service/initialdata
       containers:
       - name: {{ include "common.container.policymanagementservice" . }}
         image: {{ .Values.policymanagementservice.image.registry }}/{{ .Values.policymanagementservice.image.name }}:{{ .Values.policymanagementservice.image.tag }}
@@ -67,7 +82,7 @@ spec:
         - name: {{ include "common.name.policymanagementservice" . }}-policy-config
           mountPath: /opt/app/policy-agent/config
         - name: {{ include "common.name.policymanagementservice" . }}-policy-data
-          mountPath: /opt/app/policy-agent/data
+          mountPath: /etc/app/policy-management-service/initialdata
       volumes:
         - name: {{ include "common.name.policymanagementservice" . }}-policy-config
           configMap:
index b0e21c8..8782d05 100644 (file)
@@ -21,8 +21,8 @@
 policymanagementservice:
   imagePullPolicy: IfNotPresent
   image:
-    registry: "nexus3.o-ran-sc.org:10004/o-ran-sc"
-    name: nonrtric-policy-agent
+    registry: "nexus3.o-ran-sc.org:10002/o-ran-sc"
+    name: nonrtric-a1-policy-management-service
     tag: 2.3.0
   service:
     allowHttp: true
index 507ed55..3165c46 100644 (file)
@@ -21,9 +21,9 @@
 rappcatalogueservice:
   imagePullPolicy: IfNotPresent
   image:
-    registry: 'nexus3.o-ran-sc.org:10004/o-ran-sc'
+    registry: 'nexus3.o-ran-sc.org:10002/o-ran-sc'
     name: nonrtric-r-app-catalogue
-    tag: 1.1.0
+    tag: 1.0.1
   service:
     allowHttp: true
     httpName: http
diff --git a/ric-common/Common-Template/helm/nonrtric-common/templates/_odusliceassurance.tpl b/ric-common/Common-Template/helm/nonrtric-common/templates/_odusliceassurance.tpl
new file mode 100644 (file)
index 0000000..d6e1d48
--- /dev/null
@@ -0,0 +1,24 @@
+################################################################################
+#   Copyright (c) 2020 Nordix Foundation.                                      #
+#                                                                              #
+#   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.                                             #
+################################################################################
+
+{{- define "common.name.odusliceassurance" -}}
+  {{- printf "odusliceassurance" -}}
+{{- end -}}
+
+{{- define "common.container.odusliceassurance" -}}
+  {{- $name := ( include "common.name.odusliceassurance" . ) -}}
+  {{- printf "container-%s" $name | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
diff --git a/ric-common/Common-Template/helm/nonrtric-common/templates/_oruclosedlooprecovery.tpl b/ric-common/Common-Template/helm/nonrtric-common/templates/_oruclosedlooprecovery.tpl
new file mode 100644 (file)
index 0000000..0cf0b23
--- /dev/null
@@ -0,0 +1,24 @@
+################################################################################
+#   Copyright (c) 2021 Nordix Foundation.                                      #
+#                                                                              #
+#   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.                                             #
+################################################################################
+
+{{- define "common.name.oruclosedlooprecovery" -}}
+  {{- printf "oruclosedlooprecovery" -}}
+{{- end -}}
+
+{{- define "common.container.oruclosedlooprecovery" -}}
+  {{- $name := ( include "common.name.oruclosedlooprecovery" . ) -}}
+  {{- printf "container-%s" $name | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
diff --git a/ric-dep b/ric-dep
index ec2b8b6..0ce5f68 160000 (submodule)
--- a/ric-dep
+++ b/ric-dep
@@ -1 +1 @@
-Subproject commit ec2b8b667714c063130176e612f9188a54dffc5b
+Subproject commit 0ce5f68bafe78470b1331284c47918c513173ad2