Merge "Add one-click deployment scripts for deploying INFRA PLT and AUX"
authorLusheng Ji <lji@research.att.com>
Tue, 23 Jul 2019 18:44:35 +0000 (18:44 +0000)
committerGerrit Code Review <gerrit@o-ran-sc.org>
Tue, 23 Jul 2019 18:44:35 +0000 (18:44 +0000)
77 files changed:
RECIPE_EXAMPLE/RIC_INFRA_RECIPE_EXAMPLE
bin/package-ric-deployment-tools [new file with mode: 0755]
ric-aux/80-Auxiliary-Functions/helm/dashboard/templates/_genurl.tpl
ric-aux/80-Auxiliary-Functions/helm/dashboard/templates/appconfig.yaml
ric-aux/80-Auxiliary-Functions/helm/dashboard/values.yaml
ric-common/Common-Template/helm/ric-common/templates/_configmapname.tpl
ric-common/Common-Template/helm/ric-common/templates/_containername.tpl
ric-common/Common-Template/helm/ric-common/templates/_deploymentname.tpl
ric-common/Common-Template/helm/ric-common/templates/_ingresscontroller.tpl
ric-common/Common-Template/helm/ric-common/templates/_ingressname.tpl
ric-common/Common-Template/helm/ric-common/templates/_name.tpl
ric-common/Common-Template/helm/ric-common/templates/_ports.tpl [new file with mode: 0644]
ric-common/Common-Template/helm/ric-common/templates/_serviceaccountname.tpl
ric-common/Common-Template/helm/ric-common/templates/_servicename.tpl
ric-infra/15-Chartmuseum/bin/clear_data_path [new file with mode: 0755]
ric-infra/15-Chartmuseum/bin/install [new file with mode: 0755]
ric-infra/15-Chartmuseum/bin/uninstall [new file with mode: 0755]
ric-infra/15-Chartmuseum/etc/chartmuseum.conf [new file with mode: 0644]
ric-infra/15-Chartmuseum/helm/chartmuseum/Chart.yaml [new file with mode: 0644]
ric-infra/15-Chartmuseum/helm/chartmuseum/requirements.yaml [new file with mode: 0644]
ric-infra/15-Chartmuseum/helm/chartmuseum/templates/_gen-cert.tpl [new file with mode: 0644]
ric-infra/15-Chartmuseum/helm/chartmuseum/templates/deployment.yaml [new file with mode: 0644]
ric-infra/15-Chartmuseum/helm/chartmuseum/templates/env.yaml [new file with mode: 0644]
ric-infra/15-Chartmuseum/helm/chartmuseum/templates/ingress.yaml [new file with mode: 0644]
ric-infra/15-Chartmuseum/helm/chartmuseum/templates/job-save-certs.yaml [new file with mode: 0644]
ric-infra/15-Chartmuseum/helm/chartmuseum/templates/persistentVolume.yaml [new file with mode: 0644]
ric-infra/15-Chartmuseum/helm/chartmuseum/templates/persistentVolumeClaim.yaml [new file with mode: 0644]
ric-infra/15-Chartmuseum/helm/chartmuseum/templates/secret.yaml [new file with mode: 0644]
ric-infra/15-Chartmuseum/helm/chartmuseum/templates/service.yaml [moved from ric-platform/50-RIC-Platform/helm/appmgr/templates/service-test.yaml with 76% similarity]
ric-infra/15-Chartmuseum/helm/chartmuseum/templates/storageClass.yaml [new file with mode: 0644]
ric-infra/15-Chartmuseum/helm/chartmuseum/values.yaml [new file with mode: 0644]
ric-platform/50-RIC-Platform/bin/install
ric-platform/50-RIC-Platform/bin/uninstall
ric-platform/50-RIC-Platform/helm/a1mediator/templates/config.yaml
ric-platform/50-RIC-Platform/helm/a1mediator/templates/deployment.yaml
ric-platform/50-RIC-Platform/helm/a1mediator/templates/env.yaml
ric-platform/50-RIC-Platform/helm/a1mediator/templates/ingress-a1mediator.yaml
ric-platform/50-RIC-Platform/helm/a1mediator/templates/service-http.yaml
ric-platform/50-RIC-Platform/helm/a1mediator/templates/service-rmr.yaml
ric-platform/50-RIC-Platform/helm/a1mediator/values.yaml
ric-platform/50-RIC-Platform/helm/appmgr/templates/appconfig.yaml
ric-platform/50-RIC-Platform/helm/appmgr/templates/deployment.yaml
ric-platform/50-RIC-Platform/helm/appmgr/templates/env.yaml
ric-platform/50-RIC-Platform/helm/appmgr/templates/ingress-appmgr.yaml
ric-platform/50-RIC-Platform/helm/appmgr/templates/service-http.yaml
ric-platform/50-RIC-Platform/helm/appmgr/templates/service-rmr.yaml
ric-platform/50-RIC-Platform/helm/appmgr/templates/serviceaccount.yaml
ric-platform/50-RIC-Platform/helm/appmgr/values.yaml
ric-platform/50-RIC-Platform/helm/dbaas/templates/deployment.yaml
ric-platform/50-RIC-Platform/helm/dbaas/templates/service.yaml
ric-platform/50-RIC-Platform/helm/dbaas/values.yaml
ric-platform/50-RIC-Platform/helm/e2mgr/templates/configmap.yaml
ric-platform/50-RIC-Platform/helm/e2mgr/templates/deployment.yaml
ric-platform/50-RIC-Platform/helm/e2mgr/templates/env.yaml
ric-platform/50-RIC-Platform/helm/e2mgr/templates/ingress-e2mgr.yaml
ric-platform/50-RIC-Platform/helm/e2mgr/templates/service-http.yaml
ric-platform/50-RIC-Platform/helm/e2mgr/templates/service-rmr.yaml
ric-platform/50-RIC-Platform/helm/e2mgr/values.yaml
ric-platform/50-RIC-Platform/helm/e2term/templates/configmap.yaml
ric-platform/50-RIC-Platform/helm/e2term/templates/deployment.yaml
ric-platform/50-RIC-Platform/helm/e2term/templates/env.yaml
ric-platform/50-RIC-Platform/helm/e2term/templates/service-rmr.yaml
ric-platform/50-RIC-Platform/helm/e2term/values.yaml
ric-platform/50-RIC-Platform/helm/kong-platform/values.yaml
ric-platform/50-RIC-Platform/helm/kong-xapp/values.yaml
ric-platform/50-RIC-Platform/helm/rtmgr/templates/config.yaml
ric-platform/50-RIC-Platform/helm/rtmgr/templates/deployment.yaml
ric-platform/50-RIC-Platform/helm/rtmgr/templates/env.yaml
ric-platform/50-RIC-Platform/helm/rtmgr/templates/service-rmr.yaml
ric-platform/50-RIC-Platform/helm/rtmgr/values.yaml
ric-platform/50-RIC-Platform/helm/submgr/Chart.yaml [new file with mode: 0644]
ric-platform/50-RIC-Platform/helm/submgr/requirements.yaml [new file with mode: 0644]
ric-platform/50-RIC-Platform/helm/submgr/templates/deployment.yaml [new file with mode: 0644]
ric-platform/50-RIC-Platform/helm/submgr/templates/env.yaml [new file with mode: 0644]
ric-platform/50-RIC-Platform/helm/submgr/templates/service-http.yaml [new file with mode: 0644]
ric-platform/50-RIC-Platform/helm/submgr/templates/service-rmr.yaml [new file with mode: 0644]
ric-platform/50-RIC-Platform/helm/submgr/values.yaml [new file with mode: 0644]

index ecedb0c..f5bea07 100644 (file)
@@ -89,3 +89,11 @@ nexus:
   datapath: /tmp/nexus3-data/
   storagesize: 20Gi
 
+chartmuseum:
+  repositoryOverride: "registry.hub.docker.com"
+  image:
+    name: chartmuseum/chartmuseum
+    tag: v0.8.2
+
+  storagesize: 2Gi
+  datapath: /tmp/chartmuseum-data/
diff --git a/bin/package-ric-deployment-tools b/bin/package-ric-deployment-tools
new file mode 100755 (executable)
index 0000000..d932fb9
--- /dev/null
@@ -0,0 +1,116 @@
+#!/bin/bash
+################################################################################
+#   Copyright (c) 2019 AT&T Intellectual Property.                             #
+#   Copyright (c) 2019 Nokia.                                                  #
+#                                                                              #
+#   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.                                             #
+################################################################################
+
+# This script package RIC deployment tools as a debian package
+
+VERSION=$1
+
+if [ -z "$VERSION" ];then
+echo "Please provide a version number."
+exit 1
+
+fi
+
+DPKG_BUILDPACKAGE=$(whereis dpkg-buildpackage | awk '{print $2}')
+
+if [ -z "$DPKG_BUILDPACKAGE" ];then
+echo "dpkg-buildpackage not found. Please run \"apt install -y dpkg-dev\""
+exit 1
+
+fi
+
+
+DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )"
+mkdir -p /tmp/ric-deployment-tools-$VERSION
+cp -r $DIR/../* /tmp/ric-deployment-tools-$VERSION/
+
+
+DIR=/tmp/ric-deployment-tools-$VERSION
+
+
+mkdir $DIR/debian
+
+cat <<EOF >$DIR/debian/changelog
+ric-deployment-tools ($VERSION) stable; urgency=low
+  
+  * Release $VERSION
+
+ -- Zhe Huang <zhehuang@research.att.com>  $(date -R)
+EOF
+
+cat <<EOF >$DIR/debian/compat
+9
+EOF
+
+cat <<EOF >$DIR/debian/control
+Source: ric-deployment-tools
+Section: Miscellaneous
+Priority: optional
+Maintainer: Zhe Huang <zhehuang@research.att.com>
+Build-Depends: debhelper (>= 9)
+Standards-Version: 4.1.2
+Homepage: https://gerrit.o-ran-sc.org/r/admin/repos/it/dep
+#Vcs-Git: https://anonscm.debian.org/git/collab-maint/ric-deployment.git
+#Vcs-Browser: https://anonscm.debian.org/cgit/collab-maint/ric-deployment.git
+
+Package: ric-deployment-tools
+Architecture: all
+Depends: \${misc:Depends}
+Description: Utility tools to deploy RAN intelligent controller
+ ric-deployment-tools provides scripts and helm charts to deploy RIC platform components and RIC auxiliary functions.
+EOF
+
+cat <<EOF >$DIR/debian/rules
+#!/usr/bin/make -f
+# See debhelper(7) (uncomment to enable)
+# output every command that modifies files on the build system.
+#export DH_VERBOSE = 1
+
+
+# see FEATURE AREAS in dpkg-buildflags(1)
+#export DEB_BUILD_MAINT_OPTIONS = hardening=+all
+
+# see ENVIRONMENT in dpkg-buildflags(1)
+# package maintainers to append CFLAGS
+#export DEB_CFLAGS_MAINT_APPEND  = -Wall -pedantic
+# package maintainers to append LDFLAGS
+#export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed
+
+export DESTROOT=\$(CURDIR)/debian/ric-deployment-tools
+
+%:
+       dh \$@
+
+override_dh_auto_install:
+       dh_auto_install
+       install -d \$(DESTROOT)/opt/ric/ric-deployment-tools
+       rsync -a \$(CURDIR)/* \$(DESTROOT)/opt/ric/ric-deployment-tools --exclude debian
+# dh_make generated override targets
+# This is example for Cmake (See https://bugs.debian.org/641051 )
+#override_dh_auto_configure:
+#      dh_auto_configure -- #  -DCMAKE_LIBRARY_PATH=\$(DEB_HOST_MULTIARCH)
+
+
+EOF
+
+
+cd $DIR
+dpkg-buildpackage -us -uc
+
+
+echo "RIC it/dep repo has been packaged as /tmp/ric-deployment-tools_${VERSION}_all.deb."
index 9f89c39..1aba1a6 100644 (file)
@@ -20,38 +20,38 @@ Generate the URLS of the endpoints.
 */}}
 
 
-{{- define "dashboard.endpoint.a1mediator" -}}
+{{- define "dashboard.prefix.a1mediator" -}}
   {{- $ingress := ( include "common.ingressurl.ricplt" . ) -}}
-  {{- if .Values.dashboard.properties.a1med.url.override -}}
-    {{- printf "%s" .Values.dashboard.properties.a1med.url.override -}}
+  {{- if .Values.dashboard.properties.a1med.url.prefix -}}
+    {{- printf "%s" .Values.dashboard.properties.a1med.url.prefix -}}
   {{- else -}}
-    {{- printf "http://%s/a1mediator%s" $ingress .Values.dashboard.properties.a1med.url.suffix -}}
+    {{- printf "http://%s/a1mediator" $ingress -}}
   {{- end -}}
 {{- end -}}
 
-{{- define "dashboard.endpoint.anrxapp" -}}
+{{- define "dashboard.prefix.anrxapp" -}}
   {{- $ingress := ( include "common.ingressurl.ricxapp" . ) -}}
-  {{- if .Values.dashboard.properties.anrxapp.url.override -}}
-    {{- printf "%s" .Values.dashboard.properties.anrxapp.url.override -}}
+  {{- if .Values.dashboard.properties.anrxapp.url.prefix -}}
+    {{- printf "%s" .Values.dashboard.properties.anrxapp.url.prefix -}}
   {{- else -}}
-    {{- printf "http://%s/anr%s" $ingress .Values.dashboard.properties.anrxapp.url.suffix -}}
+    {{- printf "http://%s/anr" $ingress -}}
   {{- end -}}
 {{- end -}}
 
-{{- define "dashboard.endpoint.e2mgr" -}}
+{{- define "dashboard.prefix.e2mgr" -}}
   {{- $ingress := ( include "common.ingressurl.ricplt" . ) -}}
-  {{- if .Values.dashboard.properties.e2mgr.url.override -}}
-    {{- printf "%s" .Values.dashboard.properties.e2mgr.url.override -}}
+  {{- if .Values.dashboard.properties.e2mgr.url.prefix -}}
+    {{- printf "%s" .Values.dashboard.properties.e2mgr.url.prefix -}}
   {{- else -}}
-    {{- printf "http://%s/e2mgr%s" $ingress .Values.dashboard.properties.e2mgr.url.suffix -}}
+    {{- printf "http://%s/e2mgr" $ingress -}}
   {{- end -}}
 {{- end -}}
-    
-{{- define "dashboard.endpoint.xappmgr" -}}
+
+{{- define "dashboard.prefix.appmgr" -}}
   {{- $ingress := ( include "common.ingressurl.ricplt" . ) -}}
-  {{- if .Values.dashboard.properties.xappmgr.url.override -}}
-    {{- printf "%s" .Values.dashboard.properties.xappmgr.url.override -}}
+  {{- if .Values.dashboard.properties.appmgr.url.prefix -}}
+    {{- printf "%s" .Values.dashboard.properties.appmgr.url.prefix -}}
   {{- else -}}
-    {{- printf "http://%s/appmgr%s" $ingress .Values.dashboard.properties.xappmgr.url.suffix -}}
+    {{- printf "http://%s/appmgr" $ingress -}}
   {{- end -}}
 {{- end -}}
index 2b68de2..e6358c5 100644 (file)
@@ -26,9 +26,11 @@ data:
   application.properties: |
     # appconfig.yaml
     server.port = {{ .Values.dashboard.service.http.containerPort }}
-    a1med.url =   {{ include "dashboard.endpoint.a1mediator" . }}
-    anrxapp.url = {{ include "dashboard.endpoint.anrxapp" . }}
-    e2mgr.url =   {{ include "dashboard.endpoint.e2mgr" . }}
-    # mock names for R1 testing, removing this entry disables the mock
-    e2mgr.mock.rannames = {{ .Values.dashboard.properties.e2mgr.mock.rannames }}
-    xappmgr.url = {{ include "dashboard.endpoint.xappmgr" . }}
+    a1med.url.prefix =   {{ include "dashboard.prefix.a1mediator" . }}
+    a1med.url.suffix =   {{ .Values.dashboard.properties.a1med.url.suffix   }}
+    anrxapp.url.prefix = {{ include "dashboard.prefix.anrxapp" . }}
+    anrxapp.url.suffix = {{ .Values.dashboard.properties.anrxapp.url.suffix }}
+    appmgr.url.prefix =  {{ include "dashboard.prefix.appmgr" .  }}
+    appmgr.url.suffix =  {{ .Values.dashboard.properties.appmgr.url.suffix  }}
+    e2mgr.url.prefix =   {{ include "dashboard.prefix.e2mgr" .   }}
+    e2mgr.url.suffix =   {{ .Values.dashboard.properties.e2mgr.url.suffix   }}
index 17188ac..77a3a5c 100644 (file)
@@ -23,8 +23,8 @@ repositoryCred: docker-reg-cred
 
 dashboard:
   image:
-    name: ric-dash-be
-    tag: 1.0.5
+    name: ric-dashboard
+    tag: 1.2.0
   replicaCount: 1
   service:
     http:
@@ -33,34 +33,28 @@ dashboard:
       containerPort: 8080
   # config URLs must be specified at deployment
   properties:
-    # These URLs use K8S/Kong service names
+    # The URL prefixes use K8S/Kong service names
     a1med:
-      # The URL will be provided by the RIC common template
       url:
-        # no suffix required
-        suffix: ""
-        # You can override the URL using the following option
-        # override:  http://ricplt-entry/a1mediator
+        # The default a1mediator endpoint is http://ricplt-entry/a1mediator
+        # You can override the a1mediator endpoint using the following option
+        # prefix:
+        suffix: ''
     anrxapp:
-      # The URL will be provided by the RIC common template
       url:
-        # no suffix required
-        suffix: ""
-        # You can override the URL using the following option
-        # override:  http://ricxapp-entry/anr
-    e2mgr:
-      # The URL will be provided by the RIC common template
+        # The default anrxapp endpoint is http://ricxapp-entry/anr
+        # You can override the anrxapp endpoint using the following option
+        # prefix:
+        suffix: ''
+    appmgr:
       url:
-        # suffix must be "/v1"
-        suffix: "/v1"
-        # You can override the URL using the following option
-        # override:  http://ricplt-entry/e2mgr/v1
-      mock:
-        rannames: "" # mock with CSV; e.g., ABCD123456, EFGH123456
-    xappmgr:
-      # The URL will be provided by the RIC common template
+        # The default appmgr endpoint is http://ricplt-entry/appmgr
+        # You can override the appmgr endpoint using the following option
+        # prefix:
+        suffix: /ric/v1
+    e2mgr:
       url:
-        # suffix must be "/ric/v1"
-        suffix: "/ric/v1"
-        # You can override the URL using the following option
-        # override:  http://ricplt-entry/appmgr/ric/v1
+        # The default e2mgr endpoint is http://ricplt-entry/e2mgr
+        # You can override the e2mgr endpoint using the following option
+        # prefix:
+        suffix: /v1
index 7aa2795..c9fcebf 100644 (file)
   {{- printf "configmap-%s" $name | trunc 63 | trimSuffix "-" -}}
 {{- end -}}
 
+{{- define "common.configmapname.submgr" -}}
+  {{- $name := ( include "common.fullname.submgr" . ) -}}
+  {{- printf "configmap-%s" $name | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+
 {{- define "common.configmapname.a1mediator" -}}
   {{- $name := ( include "common.fullname.a1mediator" . ) -}}
   {{- printf "configmap-%s" $name | trunc 63 | trimSuffix "-" -}}
   {{- printf "configmap-%s" $name | trunc 63 | trimSuffix "-" -}}
 {{- end -}}
 
+{{- define "common.configmapname.chartmuseum" -}}
+  {{- $name := ( include "common.fullname.chartmuseum" . ) -}}
+  {{- printf "configmap-%s" $name | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+
 {{- define "common.configmapname.dashboard" -}}
   {{- $name := ( include "common.fullname.dashboard" . ) -}}
   {{- printf "configmap-%s" $name | trunc 63 | trimSuffix "-" -}}
index 3935beb..b80a7ad 100644 (file)
   {{- printf "container-%s" $name | trunc 63 | trimSuffix "-" -}}
 {{- end -}}
 
+{{- define "common.containername.submgr" -}}
+  {{- $name := ( include "common.fullname.submgr" . ) -}}
+  {{- printf "container-%s" $name | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+
 {{- define "common.containername.a1mediator" -}}
   {{- $name := ( include "common.fullname.a1mediator" . ) -}}
   {{- printf "container-%s" $name | trunc 63 | trimSuffix "-" -}}
   {{- printf "container-%s" $name | trunc 63 | trimSuffix "-" -}}
 {{- end -}}
 
+{{- define "common.containername.chartmuseum" -}}
+  {{- $name := ( include "common.fullname.chartmuseum" . ) -}}
+  {{- printf "container-%s" $name | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+
 {{- define "common.containername.dashboard" -}}
   {{- $name := ( include "common.fullname.dashboard" . ) -}}
   {{- printf "container-%s" $name | trunc 63 | trimSuffix "-" -}}
index 185bfc1..c7a0ed2 100644 (file)
   {{- printf "deployment-%s" $name | trunc 63 | trimSuffix "-" -}}
 {{- end -}}
 
+{{- define "common.deploymentname.submgr" -}}
+  {{- $name := ( include "common.fullname.submgr" . ) -}}
+  {{- printf "deployment-%s" $name | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+
 {{- define "common.deploymentname.a1mediator" -}}
   {{- $name := ( include "common.fullname.a1mediator" . ) -}}
   {{- printf "deployment-%s" $name | trunc 63 | trimSuffix "-" -}}
   {{- printf "deployment-%s" $name | trunc 63 | trimSuffix "-" -}}
 {{- end -}}
 
+{{- define "common.deploymentname.chartmuseum" -}}
+  {{- $name := ( include "common.fullname.chartmuseum" . ) -}}
+  {{- printf "deployment-%s" $name | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+
 {{- define "common.deploymentname.dashboard" -}}
   {{- $name := ( include "common.fullname.dashboard" . ) -}}
   {{- printf "deployment-%s" $name | trunc 63 | trimSuffix "-" -}}
index 5602418..f3fcab0 100644 (file)
 
 
 {{- define "common.ingresshttpport.ricinfra" -}}
-  {{- printf "33080" -}}
+  {{- printf "32180" -}}
 {{- end -}}
 
 
 
 {{- define "common.ingresshttpsport.ricinfra" -}}
-  {{- printf "33443" -}}
+  {{- printf "32543" -}}
 {{- end -}}
 
index f80063f..ec5951f 100644 (file)
   {{- printf "ingress-%s" $name | trunc 63 | trimSuffix "-" -}}
 {{- end -}}
 
+{{- define "common.ingressname.submgr" -}}
+  {{- $name := ( include "common.fullname.submgr" . ) -}}
+  {{- printf "ingress-%s" $name | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+
 {{- define "common.ingressname.a1mediator" -}}
   {{- $name := ( include "common.fullname.a1mediator" . ) -}}
   {{- printf "ingress-%s" $name | trunc 63 | trimSuffix "-" -}}
   {{- printf "ingress-%s" $name | trunc 63 | trimSuffix "-" -}}
 {{- end -}}
 
+{{- define "common.ingressname.chartmuseum" -}}
+  {{- $name := ( include "common.fullname.chartmuseum" . ) -}}
+  {{- printf "ingress-%s" $name | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+
 {{- define "common.ingressname.ves" -}}
   {{- $name := ( include "common.fullname.ves" . ) -}}
   {{- printf "ingress-%s" $name | trunc 63 | trimSuffix "-" -}}
index 9ad9ffa..bbfce4f 100644 (file)
   {{- printf "%s-%s" $namespace $name | trunc 63 | trimSuffix "-" -}}
 {{- end -}}
 
+{{- define "common.name.chartmuseum" -}}
+  {{- if .Values.chartmuseum -}}
+    {{- if .Values.chartmuseum.nameOverride -}}
+      {{- printf "%s" .Values.chartmuseum.nameOverride -}}
+    {{- else -}}
+      {{- printf "chartmuseum" -}}
+    {{- end -}}
+  {{- else -}}
+    {{- printf "chartmuseum" -}}
+  {{- end -}}
+{{- end -}}
+
+
+{{- define "common.fullname.chartmuseum" -}}
+  {{- $name := ( include "common.name.chartmuseum" . ) -}}
+  {{- $namespace := ( include "common.namespace.infra" . ) -}}
+  {{- printf "%s-%s" $namespace $name | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
 
 {{- define "common.name.dashboard" -}}
   {{- if .Values.dashboard -}}
diff --git a/ric-common/Common-Template/helm/ric-common/templates/_ports.tpl b/ric-common/Common-Template/helm/ric-common/templates/_ports.tpl
new file mode 100644 (file)
index 0000000..36f91c4
--- /dev/null
@@ -0,0 +1,73 @@
+################################################################################
+#   Copyright (c) 2019 AT&T Intellectual Property.                             #
+#   Copyright (c) 2019 Nokia.                                                  #
+#                                                                              #
+#   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.                                             #
+################################################################################
+
+{{/*
+  This file defines the port numbers various components expose.
+
+  To ensure compatibility when switching between ClusterIP and headless service
+  types, the service port and container port must be the same.
+
+  For inter-component communications, the sender shall use 
+  {{ include "common.serviceport.XXXX" . }} template in its chart to
+  configure the destination port.  The receiver side MUST keep the
+  port numbers consistent with the ports that the container code implements.
+*/}}
+
+{{- define "common.serviceport.e2term.rmr.data" -}}38000{{- end -}}
+{{- define "common.serviceport.e2term.rmr.route" -}}4561{{- end -}}
+{{- define "common.serviceport.e2term.http" -}}8080{{- end -}}
+{{- define "common.serviceport.e2term.sctp" -}}5577{{- end -}}
+
+
+{{- define "common.serviceport.e2mgr.rmr.data" -}}3801{{- end -}}
+{{- define "common.serviceport.e2mgr.rmr.route" -}}4561{{- end -}}
+{{- define "common.serviceport.e2mgr.http" -}}3800{{- end -}}
+
+{{- define "common.serviceport.a1mediator.rmr.data" -}}4562{{- end -}}
+{{- define "common.serviceport.a1mediator.rmr.route" -}}4561{{- end -}}
+{{- define "common.serviceport.a1mediator.http" -}}10000{{- end -}}
+
+{{- define "common.serviceport.rtmgr.rmr.data" -}}4560{{- end -}}
+{{- define "common.serviceport.rtmgr.rmr.route" -}}4561{{- end -}}
+{{- define "common.serviceport.rtmgr.http" -}}3800{{- end -}}
+
+{{- define "common.serviceport.submgr.rmr.data" -}}4560{{- end -}}
+{{- define "common.serviceport.submgr.rmr.route" -}}4561{{- end -}}
+{{- define "common.serviceport.submgr.http" -}}3800{{- end -}}
+
+{{- define "common.serviceport.appmgr.rmr.data" -}}4560{{- end -}}
+{{- define "common.serviceport.appmgr.rmr.route" -}}4561{{- end -}}
+{{- define "common.serviceport.appmgr.http" -}}8080{{- end -}}
+
+{{- define "common.serviceport.nexus.http" -}}8080{{- end -}}
+
+{{- define "common.serviceport.chartmuseum.http" -}}8080{{- end -}}
+
+{{- define "common.serviceport.dashboard.http" -}}30080{{- end -}}
+{{- define "common.serviceport.dashboard.container" -}}8080{{- end -}}
+
+{{- define "common.serviceport.dbaas.tcp" -}}6379{{- end -}}
+
+{{- define "common.serviceport.messagerouter.http" -}}3904{{- end -}}
+{{- define "common.serviceport.messagerouter.https" -}}3905{{- end -}}
+{{- define "common.serviceport.messagerouter.kafka" -}}9092{{- end -}}
+{{- define "common.serviceport.messagerouter.zookeeper" -}}2181{{- end -}}
+
+{{- define "common.serviceport.ves.http" -}}30235{{- end -}}
+{{- define "common.serviceport.ves.http.container" -}}8080{{- end -}}
+{{- define "common.serviceport.ves.https" -}}30417{{- end -}}
+{{- define "common.serviceport.ves.https.container" -}}8443{{- end -}}
index 9daabc9..8e9c3f3 100644 (file)
   {{- printf "svcacct-%s" $name | trunc 63 | trimSuffix "-" -}}
 {{- end -}}
 
+{{- define "common.serviceaccountname.chartmuseum" -}}
+  {{- $name := ( include "common.fullname.chartmuseum" . ) -}}
+  {{- printf "svcacct-%s" $name | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+
 {{- define "common.serviceaccountname.dashboard" -}}
   {{- $name := ( include "common.fullname.dashboard" . ) -}}
   {{- printf "svcacct-%s" $name | trunc 63 | trimSuffix "-" -}}
index b480cec..8af2a97 100644 (file)
   {{- printf "service-%s-http" $name | trunc 63 | trimSuffix "-" -}}
 {{- end -}}
 
+{{- define "common.servicename.submgr.http" -}}
+  {{- $name := ( include "common.fullname.submgr" . ) -}}
+  {{- printf "service-%s-http" $name | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+
 {{- define "common.servicename.a1mediator.http" -}}
   {{- $name := ( include "common.fullname.a1mediator" . ) -}}
   {{- printf "service-%s-http" $name | trunc 63 | trimSuffix "-" -}}
   {{- printf "service-%s-http" $name | trunc 63 | trimSuffix "-" -}}
 {{- end -}}
 
+{{- define "common.servicename.chartmuseum.http" -}}
+  {{- $name := ( include "common.fullname.chartmuseum" . ) -}}
+  {{- printf "service-%s-http" $name | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+
 {{- define "common.servicename.dashboard.http" -}}
   {{- $name := ( include "common.fullname.dashboard" . ) -}}
   {{- printf "service-%s-http" $name | trunc 63 | trimSuffix "-" -}}
diff --git a/ric-infra/15-Chartmuseum/bin/clear_data_path b/ric-infra/15-Chartmuseum/bin/clear_data_path
new file mode 100755 (executable)
index 0000000..f7a3780
--- /dev/null
@@ -0,0 +1,47 @@
+#!/bin/bash
+################################################################################
+#   Copyright (c) 2019 AT&T Intellectual Property.                             #
+#   Copyright (c) 2019 Nokia.                                                  #
+#                                                                              #
+#   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.                                             #
+################################################################################
+
+OVERRIDEYAML=$1
+DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )"
+
+
+
+
+
+
+if [ -z $OVERRIDEYAML ]; then
+
+  DATAPATH=$(cat $DIR/../helm/chartmuseum/values.yaml | awk '/^.*datapath:.*/{ print $2;}')
+  
+else
+  DATAPATH=$(cat $OVERRIDEYAML | awk '/^chartmuseum:.*/{ getline; while ( match($0, / .*/) || (!$0)){  if(getline == 0){break;}; if (match($0, /^ .*datapath:.*/)){print $2}} }')
+
+
+  if [ -z $DATAPATH ]; then
+    DATAPATH=$(cat $DIR/../helm/chartmuseum/values.yaml | awk '/^.*datapath:.*/{ print $2;}')
+  fi
+
+fi
+
+  rm -rf $DATAPATH
+
+  mkdir -p $DATAPATH
+
+
+  chmod -R a+rwx $DATAPATH
+
diff --git a/ric-infra/15-Chartmuseum/bin/install b/ric-infra/15-Chartmuseum/bin/install
new file mode 100755 (executable)
index 0000000..f1a3bb8
--- /dev/null
@@ -0,0 +1,94 @@
+#!/bin/bash
+################################################################################
+#   Copyright (c) 2019 AT&T Intellectual Property.                             #
+#   Copyright (c) 2019 Nokia.                                                  #
+#                                                                              #
+#   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.                                             #
+################################################################################
+
+
+OVERRIDEYAML=$1
+
+
+DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )"
+
+source $DIR/../etc/chartmuseum.conf
+
+if [ -z "$RICINFRA_RELEASE_NAME" ];then
+   RELEASE_NAME=$helm_release_name
+else
+   RELEASE_NAME=$RICINFRA_RELEASE_NAME
+fi
+# Namespace configuration
+if [ -z "$RICPLT_NAMESPACE" ];then
+   PLT_NAMESPACE=$plt_namespace
+else
+   PLT_NAMESPACE=$RICPLT_NAMESPACE
+fi
+if [ -z "$RICXAPP_NAMESPACE" ];then
+   XAPP_NAMESPACE=$xapp_namespace
+else
+   XAPP_NAMESPACE=$RICXAPP_NAMESPACE
+fi
+if [ -z "$RICAUX_NAMESPACE" ];then
+   AUX_NAMESPACE=$aux_namespace
+else
+   AUX_NAMESPACE=$RICAUX_NAMESPACE
+fi
+if [ -z "$RICINFRA_NAMESPACE" ];then
+   INFRA_NAMESPACE=$infra_namespace
+else
+   INFRA_NAMESPACE=$RICINFRA_NAMESPACE
+fi
+
+if [ -z "$RIC_COMMON_OVERRIDE" ];then
+   COMMON_OVERRIDE="--set global.namespace.platform=$PLT_NAMESPACE --set global.namespace.xapp=$XAPP_NAMESPACE --set global.namespace.aux=$AUX_NAMESPACE --set global.namespace.infra=$INFRA_NAMESPACE"
+else
+   COMMON_OVERRIDE=$RIC_COMMON_OVERRIDE
+fi
+
+
+
+
+NODENAME=$(kubectl get node | awk 'NR==2{print $1}')
+kubectl label --overwrite nodes $NODENAME helm-node=enable
+
+DIRTEMP=$DIR
+. ./clear_data_path
+DIR=$DIRTEMP
+
+
+RICINFRA_COMPONENTS="chartmuseum"
+
+echo "Deploying RIC infra components [$RICINFRA_COMPONENTS]"
+echo "Helm Release Name: $RELEASE_NAME"
+
+
+COMMON_CHART_VERSION=$(cat $DIR/../../../ric-common/Common-Template/helm/ric-common/Chart.yaml | grep version | awk '{print $2}')
+helm package -d /tmp $DIR/../../../ric-common/Common-Template/helm/ric-common
+
+
+
+
+
+for component in $RICINFRA_COMPONENTS; do
+
+  mkdir -p $DIR/../helm/$component/charts/
+  cp /tmp/ric-common-$COMMON_CHART_VERSION.tgz $DIR/../helm/$component/charts/
+
+  if [ -z $OVERRIDEYAML ]; then
+    helm install --debug --namespace "${INFRA_NAMESPACE}" --name "${RELEASE_NAME}-$component" $COMMON_OVERRIDE $DIR/../helm/$component
+  else
+    helm install -f $OVERRIDEYAML --namespace "${INFRA_NAMESPACE}" --name "${RELEASE_NAME}-$component" $COMMON_OVERRIDE $DIR/../helm/$component
+  fi
+done
diff --git a/ric-infra/15-Chartmuseum/bin/uninstall b/ric-infra/15-Chartmuseum/bin/uninstall
new file mode 100755 (executable)
index 0000000..79ca2d7
--- /dev/null
@@ -0,0 +1,41 @@
+#!/bin/bash
+################################################################################
+#   Copyright (c) 2019 AT&T Intellectual Property.                             #
+#   Copyright (c) 2019 Nokia.                                                  #
+#                                                                              #
+#   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.                                             #
+################################################################################
+
+
+
+
+DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )"
+
+
+source $DIR/../etc/chartmuseum.conf
+
+if [ -z "$RICINFRA_RELEASE_NAME" ];then
+   RELEASE_NAME=$helm_release_name
+else
+   RELEASE_NAME=$RICINFRA_RELEASE_NAME
+fi
+
+RICINFRA_COMPONENTS="chartmuseum"
+
+echo "Undeploying RIC infra components [$RICINFRA_COMPONENTS]"
+echo "Helm Release Name: $RELEASE_NAME"
+
+
+for component in $RICINFRA_COMPONENTS; do
+  helm delete --purge  "${RELEASE_NAME}-${component}" 
+done
diff --git a/ric-infra/15-Chartmuseum/etc/chartmuseum.conf b/ric-infra/15-Chartmuseum/etc/chartmuseum.conf
new file mode 100644 (file)
index 0000000..92008b5
--- /dev/null
@@ -0,0 +1,37 @@
+################################################################################
+#   Copyright (c) 2019 AT&T Intellectual Property.                             #
+#   Copyright (c) 2019 Nokia.                                                  #
+#                                                                              #
+#   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.                                             #
+################################################################################
+
+
+# helm_release_name defines the release name helm will use to deploy RIC
+# It will be overrided by RICPLT_RELEASE_NAME
+helm_release_name=r1
+
+# namespace defines the namespace that helm will use to deploy RIC
+# It will be overrided by RICPLT_NAMESPACE
+plt_namespace=ricplt
+
+# namespace defines the namespace that helm will use to deploy RIC
+# It will be overrided by RICXAPP_NAMESPACE
+xapp_namespace=ricxapp
+
+# namespace defines the namespace that helm will use to deploy RIC
+# It will be overrided by RICAUX_NAMESPACE
+aux_namespace=ricaux
+
+# namespace defines the namespace that helm will use to deploy RIC
+# It will be overrided by RICINFRA_NAMESPACE
+infra_namespace=ricinfra
diff --git a/ric-infra/15-Chartmuseum/helm/chartmuseum/Chart.yaml b/ric-infra/15-Chartmuseum/helm/chartmuseum/Chart.yaml
new file mode 100644 (file)
index 0000000..7594952
--- /dev/null
@@ -0,0 +1,23 @@
+################################################################################
+#   Copyright (c) 2019 AT&T Intellectual Property.                             #
+#   Copyright (c) 2019 Nokia.                                                  #
+#                                                                              #
+#   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
+description: A Helm chart for helm repository for RIC
+name: chartmuseum
+version: 0.0.1
+appVersion: 0.1
diff --git a/ric-infra/15-Chartmuseum/helm/chartmuseum/requirements.yaml b/ric-infra/15-Chartmuseum/helm/chartmuseum/requirements.yaml
new file mode 100644 (file)
index 0000000..2ab71b4
--- /dev/null
@@ -0,0 +1,20 @@
+################################################################################
+#   Copyright (c) 2019 AT&T Intellectual Property.                             #
+#   Copyright (c) 2019 Nokia.                                                  #
+#                                                                              #
+#   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: ric-common
+    version: ~2.0.0
diff --git a/ric-infra/15-Chartmuseum/helm/chartmuseum/templates/_gen-cert.tpl b/ric-infra/15-Chartmuseum/helm/chartmuseum/templates/_gen-cert.tpl
new file mode 100644 (file)
index 0000000..9dcbdb9
--- /dev/null
@@ -0,0 +1,29 @@
+################################################################################
+#   Copyright (c) 2019 AT&T Intellectual Property.                             #
+#   Copyright (c) 2019 Nokia.                                                  #
+#                                                                              #
+#   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.                                             #
+################################################################################i
+
+{{/*
+Generate certificates for the docker registry
+*/}}
+
+{{- define "chartmuseum.gen-cert" -}}
+{{- $altNames := list ( include "common.ingressurl.localhelm" . ) -}}
+{{- $ca := genCA "docker-registry-ca" 365 -}}
+{{- $cert := genSignedCert ( include "common.ingressurl.localhelm" . ) nil $altNames 365 $ca -}}
+tls.crt: {{ $cert.Cert | b64enc }}
+tls.key: {{ $cert.Key | b64enc }}
+{{- end -}}
+
diff --git a/ric-infra/15-Chartmuseum/helm/chartmuseum/templates/deployment.yaml b/ric-infra/15-Chartmuseum/helm/chartmuseum/templates/deployment.yaml
new file mode 100644 (file)
index 0000000..c283c19
--- /dev/null
@@ -0,0 +1,63 @@
+################################################################################
+#   Copyright (c) 2019 AT&T Intellectual Property.                             #
+#   Copyright (c) 2019 Nokia.                                                  #
+#                                                                              #
+#   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: apps/v1beta2
+kind: Deployment
+metadata:
+  name: {{ include "common.deploymentname.chartmuseum" .}}
+  labels:
+    app: {{ include "common.namespace.infra" . }}-{{ include "common.name.chartmuseum" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  replicas: {{ .Values.chartmuseum.replicaCount }}
+  selector:
+    matchLabels:
+      app: {{ include "common.namespace.infra" . }}-{{ include "common.name.chartmuseum" . }}
+      release: {{ .Release.Name }}
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.namespace.infra" . }}-{{ include "common.name.chartmuseum" . }}
+        release: {{ .Release.Name }}
+    spec:
+      hostname: {{ .Chart.Name }}
+      imagePullSecrets:
+        - name: {{ include "common.repositoryCred" . }}
+      containers:
+        - name: {{ include "common.containername.chartmuseum" . }} 
+          image: {{ include "common.repository" . }}/{{ .Values.chartmuseum.image.name }}:{{ .Values.chartmuseum.image.tag }}
+          imagePullPolicy: {{ include "common.pullPolicy" . }}
+          envFrom:
+            - configMapRef:
+                name: {{ include "common.configmapname.chartmuseum" . }}-env
+          #          volumeMounts:
+          #- name: certs
+          #  mountPath: /var/run/certs
+          #  readOnly: true
+          ports:
+            - name: http
+              containerPort: {{ include "common.serviceport.chartmuseum.http" . }}
+              protocol: TCP
+          volumeMounts:
+            - name: chart-data
+              mountPath: /charts
+      volumes:
+        - name: chart-data
+          persistentVolumeClaim:
+            claimName: pvc-{{ include "common.name.chartmuseum" . }}
diff --git a/ric-infra/15-Chartmuseum/helm/chartmuseum/templates/env.yaml b/ric-infra/15-Chartmuseum/helm/chartmuseum/templates/env.yaml
new file mode 100644 (file)
index 0000000..8565e88
--- /dev/null
@@ -0,0 +1,24 @@
+################################################################################
+#   Copyright (c) 2019 AT&T Intellectual Property.                             #
+#   Copyright (c) 2019 Nokia.                                                  #
+#                                                                              #
+#   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.configmapname.chartmuseum" . }}-env
+data:
+   DEBUG: "true"
+   STORAGE: "local"
+   STORAGE_LOCAL_ROOTDIR: "/charts"
diff --git a/ric-infra/15-Chartmuseum/helm/chartmuseum/templates/ingress.yaml b/ric-infra/15-Chartmuseum/helm/chartmuseum/templates/ingress.yaml
new file mode 100644 (file)
index 0000000..8ecd7e1
--- /dev/null
@@ -0,0 +1,33 @@
+################################################################################
+#   Copyright (c) 2019 AT&T Intellectual Property.                             #
+#   Copyright (c) 2019 Nokia.                                                  #
+#                                                                              #
+#   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: extensions/v1beta1
+kind: Ingress
+metadata:
+  name: {{ include "common.ingressname.chartmuseum" . }}
+spec:
+  tls:
+    - hosts:
+      - {{ include "common.ingressurl.localhelm" . }}
+      secretName: secret-{{ include "common.name.chartmuseum" . }}
+  rules:
+    - host: {{ include "common.ingressurl.localhelm" . }}
+      http:
+        paths:
+          - backend:
+              serviceName: {{ include "common.servicename.chartmuseum.http" . }}
+              servicePort: http
+            path: "/"
diff --git a/ric-infra/15-Chartmuseum/helm/chartmuseum/templates/job-save-certs.yaml b/ric-infra/15-Chartmuseum/helm/chartmuseum/templates/job-save-certs.yaml
new file mode 100644 (file)
index 0000000..01f5ac6
--- /dev/null
@@ -0,0 +1,44 @@
+################################################################################
+#   Copyright (c) 2019 AT&T Intellectual Property.                             #
+#   Copyright (c) 2019 Nokia.                                                  #
+#                                                                              #
+#   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: batch/v1
+kind: Job
+metadata:
+  name: job-{{ include "common.fullname.chartmuseum" . }}-save-certs
+spec:
+  template:
+    spec:
+      containers:
+      - name: cert-copy
+        image: alpine
+        command: [ "/bin/sh","-c","cp -rL /var/run/helmcerts/..data/tls.crt /var/run/certs-copy/helmtls.crt"]
+        #        command: ["tail", "-f", "/dev/null"]
+        volumeMounts:
+        - name: helmcerts
+          mountPath: /var/run/helmcerts
+          readOnly: true
+        - name:  write-to-volume
+          mountPath: /var/run/certs-copy
+      volumes:
+      - name: helmcerts
+        secret:
+          secretName: secret-{{ include "common.name.chartmuseum" . }}
+      - name: write-to-volume
+        hostPath:
+          path: /tmp
+      restartPolicy: Never
+  backoffLimit: 4
diff --git a/ric-infra/15-Chartmuseum/helm/chartmuseum/templates/persistentVolume.yaml b/ric-infra/15-Chartmuseum/helm/chartmuseum/templates/persistentVolume.yaml
new file mode 100644 (file)
index 0000000..93127ca
--- /dev/null
@@ -0,0 +1,21 @@
+apiVersion: v1
+kind: PersistentVolume
+metadata:
+  name: pv-{{ include "common.name.chartmuseum" . }}
+spec:
+  capacity:
+    storage: {{ .Values.chartmuseum.storagesize }}
+  accessModes:
+  - ReadWriteOnce
+  persistentVolumeReclaimPolicy: Retain
+  storageClassName: storageclass-{{ include "common.name.chartmuseum" . }}
+  local:
+    path: {{ .Values.chartmuseum.datapath }}
+  nodeAffinity:
+    required:
+      nodeSelectorTerms:
+      - matchExpressions:
+        - key: helm-node
+          operator: In
+          values:
+          - enable
diff --git a/ric-infra/15-Chartmuseum/helm/chartmuseum/templates/persistentVolumeClaim.yaml b/ric-infra/15-Chartmuseum/helm/chartmuseum/templates/persistentVolumeClaim.yaml
new file mode 100644 (file)
index 0000000..11e0314
--- /dev/null
@@ -0,0 +1,11 @@
+kind: PersistentVolumeClaim
+apiVersion: v1
+metadata:
+  name:  pvc-{{ include "common.name.chartmuseum" . }}
+spec:
+  accessModes:
+  - ReadWriteOnce
+  storageClassName: storageclass-{{ include "common.name.chartmuseum" . }} 
+  resources:
+    requests:
+      storage: {{ .Values.chartmuseum.storagesize }}
diff --git a/ric-infra/15-Chartmuseum/helm/chartmuseum/templates/secret.yaml b/ric-infra/15-Chartmuseum/helm/chartmuseum/templates/secret.yaml
new file mode 100644 (file)
index 0000000..5490528
--- /dev/null
@@ -0,0 +1,27 @@
+################################################################################
+#   Copyright (c) 2019 AT&T Intellectual Property.                             #
+#   Copyright (c) 2019 Nokia.                                                  #
+#                                                                              #
+#   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: Secret
+type: kubernetes.io/tls
+metadata:
+  name: secret-{{ include "common.name.chartmuseum" . }}
+  annotations:
+    "helm.sh/hook": "pre-install"
+    "helm.sh/hook-delete-policy": "before-hook-creation"
+data:
+{{ ( include "chartmuseum.gen-cert" . ) | indent 2 }}
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ include "common.servicename.dashboard.http" . }}
-  namespace: {{ include "common.namespace.platform" . }}
+  name: {{ include "common.servicename.chartmuseum.http" . }}
+  namespace: {{ include "common.namespace.infra" . }}
   labels:
-    app: {{ include "common.namespace.platform" . }}-{{ include "common.name.appmgr" . }}
+    app: {{ include "common.namespace.infra" . }}-{{ include "common.name.chartmuseum" . }}
     chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
     release: {{ .Release.Name }}
-    heritage: {{ .Release.Service }} 
+    heritage: {{ .Release.Service }}
 spec:
   type: ClusterIP
   ports:
-    - port: {{ .Values.appmgr.service.http.port }}
-      protocol: "TCP"
-      name: "http"
-      targetPort: "http"
+    - port: {{ include "common.serviceport.chartmuseum.http" . }}
+      targetPort: http
+      protocol: TCP
+      name: http
   selector:
-    app: {{ include "common.namespace.platform" . }}-{{ include "common.name.appmgr" . }}
+    app: {{ include "common.namespace.infra" . }}-{{ include "common.name.chartmuseum" . }}
     release: {{ .Release.Name }}
-
diff --git a/ric-infra/15-Chartmuseum/helm/chartmuseum/templates/storageClass.yaml b/ric-infra/15-Chartmuseum/helm/chartmuseum/templates/storageClass.yaml
new file mode 100644 (file)
index 0000000..85eed19
--- /dev/null
@@ -0,0 +1,6 @@
+kind: StorageClass
+apiVersion: storage.k8s.io/v1
+metadata:
+  name: storageclass-{{ include "common.name.chartmuseum" . }}
+provisioner: kubernetes.io/no-provisioner
+volumeBindingMode: WaitForFirstConsumer
diff --git a/ric-infra/15-Chartmuseum/helm/chartmuseum/values.yaml b/ric-infra/15-Chartmuseum/helm/chartmuseum/values.yaml
new file mode 100644 (file)
index 0000000..203a678
--- /dev/null
@@ -0,0 +1,37 @@
+################################################################################
+#   Copyright (c) 2019 AT&T Intellectual Property.                             #
+#   Copyright (c) 2019 Nokia.                                                  #
+#                                                                              #
+#   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 nexus.
+# This is a YAML-formatted file.
+# Declare variables to be passed into your templates.
+repository: "registry.hub.docker.com"
+imagePullPolicy: IfNotPresent
+repositoryCred: docker-reg-cred
+helmRepositoryCert: xapp-mgr-certs
+
+chartmuseum:
+  replicaCount: 1
+
+
+# This is designed to be deployed using local image
+  image:
+    name: chartmuseum/chartmuseum
+    tag: v0.8.2
+
+
+  storagesize: 2Gi
+  datapath: /tmp/chartmuseum-data/
index ea7f493..fde899c 100755 (executable)
@@ -60,7 +60,7 @@ else
 fi
 
 
-RICPLT_COMPONENTS="appmgr rtmgr dbaas e2mgr e2term a1mediator kong-platform kong-xapp"
+RICPLT_COMPONENTS="appmgr rtmgr dbaas e2mgr e2term a1mediator kong-platform kong-xapp submgr"
 
 echo "Deploying RIC Platform components [$RICPLT_COMPONENTS]"
 echo "Helm Release Name: $RELEASE_NAME"
index 38e7ca4..153e350 100755 (executable)
@@ -30,7 +30,7 @@ else
    RELEASE_NAME=$RICPLT_RELEASE_NAME
 fi
 
-RICPLT_COMPONENTS="appmgr rtmgr dbaas e2mgr e2term a1mediator kong-platform kong-xapp"
+RICPLT_COMPONENTS="appmgr rtmgr dbaas e2mgr e2term a1mediator kong-platform kong-xapp submgr"
 
 
 echo "Undeploying RIC Platform components [$RICPLT_COMPONENTS]"
index db68c15..8f66005 100644 (file)
@@ -23,15 +23,15 @@ metadata:
 data:
   local.rt: |
     newrt|start
-    rte|10060|{{ include "common.servicename.e2term.rmr" . }}.{{ include "common.namespace.platform" . }}:38000
-    rte|10061|{{ include "common.servicename.e2mgr.rmr" . }}.{{ include "common.namespace.platform" . }}:3801
-    rte|10062|{{ include "common.servicename.e2mgr.rmr" . }}.{{ include "common.namespace.platform" . }}:3801
-    rte|10080|{{ include "common.servicename.e2mgr.rmr" . }}.{{ include "common.namespace.platform" . }}:3801
-    rte|10360|{{ include "common.servicename.e2term.rmr" . }}.{{ include "common.namespace.platform" . }}:38000
-    rte|10361|{{ include "common.servicename.e2mgr.rmr" . }}.{{ include "common.namespace.platform" . }}:3801
-    rte|10362|{{ include "common.servicename.e2mgr.rmr" . }}.{{ include "common.namespace.platform" . }}:3801
-    rte|12010|{{ include "common.servicename.e2term.rmr" . }}.{{ include "common.namespace.platform" . }}:38000
-    rte|20001|{{ include "common.servicename.a1mediator.rmr" . }}.{{ include "common.namespace.platform" . }}:4562
+    rte|10060|{{ include "common.servicename.e2term.rmr" .     }}.{{ include "common.namespace.platform" . }}:{{ include "common.serviceport.e2term.rmr.data" . }}
+    rte|10061|{{ include "common.servicename.e2mgr.rmr" .      }}.{{ include "common.namespace.platform" . }}:{{ include "common.serviceport.e2mgr.rmr.data" . }}
+    rte|10062|{{ include "common.servicename.e2mgr.rmr" .      }}.{{ include "common.namespace.platform" . }}:{{ include "common.serviceport.e2mgr.rmr.data" . }}
+    rte|10080|{{ include "common.servicename.e2mgr.rmr" .      }}.{{ include "common.namespace.platform" . }}:{{ include "common.serviceport.e2mgr.rmr.data" . }}
+    rte|10360|{{ include "common.servicename.e2term.rmr" .     }}.{{ include "common.namespace.platform" . }}:{{ include "common.serviceport.e2term.rmr.data" . }}
+    rte|10361|{{ include "common.servicename.e2mgr.rmr" .      }}.{{ include "common.namespace.platform" . }}:{{ include "common.serviceport.e2mgr.rmr.data" . }}
+    rte|10362|{{ include "common.servicename.e2mgr.rmr" .      }}.{{ include "common.namespace.platform" . }}:{{ include "common.serviceport.e2mgr.rmr.data" . }}
+    rte|12010|{{ include "common.servicename.e2term.rmr" .     }}.{{ include "common.namespace.platform" . }}:{{ include "common.serviceport.e2term.rmr.data" . }}
+    rte|20001|{{ include "common.servicename.a1mediator.rmr" . }}.{{ include "common.namespace.platform" . }}:{{ include "common.serviceport.a1mediator.rmr.data" . }}
     rte|12011|service-ricxapp-admctrl-rmr.{{ include "common.namespace.xapp" . }}:4563
     rte|12012|service-ricxapp-admctrl-rmr.{{ include "common.namespace.xapp" . }}:4563
     rte|12021|service-ricxapp-admctrl-rmr.{{ include "common.namespace.xapp" . }}:4563;service-ricxapp-ueec-rmr.{{ include "common.namespace.xapp" . }}:4560
index dbd8857..d6acd6e 100644 (file)
@@ -34,6 +34,10 @@ spec:
       release: {{ .Release.Name }}
   template:
     metadata:
+      {{- if .Values.a1mediator.annotations }}
+      annotations:
+        {{- .Values.a1mediator.annotations | nindent 8 -}}
+      {{ end }}
       labels:
         app: {{ include "common.namespace.platform" . }}-{{ include "common.name.a1mediator" . }}
         release: {{ .Release.Name }}
@@ -60,13 +64,13 @@ spec:
           imagePullPolicy: {{ include "common.pullPolicy" . }}
           ports:
             - name: http
-              containerPort: {{ .Values.a1mediator.service.http.containerPort }}
+              containerPort: {{ include "common.serviceport.a1mediator.http" . }}
               protocol: TCP
             - name: rmrroute
-              containerPort: {{ .Values.a1mediator.service.rmr.route.port }}
+              containerPort: {{ include "common.serviceport.a1mediator.rmr.route" . }}
               protocol: TCP
             - name: rmrdata
-              containerPort: {{ .Values.a1mediator.service.rmr.data.port }}
+              containerPort: {{ include "common.serviceport.a1mediator.rmr.data" . }}
               protocol: TCP
           livenessProbe:
             httpGet:
index 3b4203a..3141b1e 100644 (file)
@@ -20,10 +20,11 @@ metadata:
   name: {{ include "common.configmapname.a1mediator" . }}-env
 data:
   DBAAS_SERVICE_HOST: {{ include "common.servicename.dbaas.tcp" . | quote }}
-  DBAAS_SERVICE_PORT: "6379"
+  DBAAS_SERVICE_PORT: {{ include "common.serviceport.dbaas.tcp" . | quote }}
   DBAAS_PORT_6379_TCP_ADDR: {{ include "common.servicename.dbaas.tcp" . | quote }}
-  DBAAS_PORT_6379_TCP_PORT: "6379"
-  RMR_RTG_SVC: "{{ .Values.a1mediator.service.rmr.route.port }}"
+  DBAAS_PORT_6379_TCP_PORT: {{ include "common.serviceport.dbaas.tcp" . | quote }} 
+  RMR_RTG_SVC: {{ include "common.serviceport.a1mediator.rmr.route" . | quote }}
   PYTHONUNBUFFERED: "0"
   RMR_RCV_RETRY_INTERVAL: "{{ .Values.a1mediator.rmr_timeout_config.rcv_retry_interval_ms }}"
   RMR_RETRY_TIMES: "{{ .Values.a1mediator.rmr_timeout_config.rcv_retry_times }}"
+
index d7b63ab..4d26d30 100644 (file)
@@ -9,4 +9,4 @@ spec:
       - path: /a1mediator
         backend:
           serviceName: {{ include "common.servicename.a1mediator.http" . }}
-          servicePort: {{ .Values.a1mediator.service.http.port }}
\ No newline at end of file
+          servicePort: {{ include "common.serviceport.a1mediator.http" . }}
index b0f5a49..1aeab75 100644 (file)
@@ -28,7 +28,7 @@ metadata:
 spec:
   type: ClusterIP
   ports:
-    - port: {{ .Values.a1mediator.service.http.port }}
+    - port: {{ include "common.serviceport.a1mediator.http" . }}
       protocol: "TCP"
       name: "http"
       targetPort: "http"
index 7f555ca..c8f19f0 100644 (file)
@@ -28,11 +28,11 @@ metadata:
 spec:
   type: ClusterIP
   ports:
-    - port: {{ .Values.a1mediator.service.rmr.route.port }}
+    - port: {{ include "common.serviceport.a1mediator.rmr.route" . }}
       protocol: "TCP"
       name: "rmrroute"
       targetPort: "rmrroute"
-    - port: {{ .Values.a1mediator.service.rmr.data.port }}
+    - port: {{ include "common.serviceport.a1mediator.rmr.data" . }}
       protocol: "TCP"
       name: "rmrdata"
       targetPort: "rmrdata"
index 7893d3c..e92e4ed 100644 (file)
@@ -31,19 +31,12 @@ a1mediator:
     name: ric-plt-a1
     tag: 0.8.3
 
-  service:
-    http:
-      port: 10000
-      containerPort: 10000
-    rmr:
-      route:
-        port: 4561
-      data:
-        port: 4562
-
+  # Service ports are now defined in 
+  # ric-common/Common-Template/helm/ric-common/templates/_ports.tpl file.
+  # If need to change a service port, make the code change necessary, then
+  # update the _ports.tpl file with the new port number.
 
 # these are ENV variables that A1 takes; see docs
   rmr_timeout_config:
     rcv_retry_interval_ms: 500
     rcv_retry_times: 20
-
index 1a15217..894e2b1 100644 (file)
@@ -20,7 +20,7 @@ kind: ConfigMap
 metadata:
   name: {{ include "common.configmapname.appmgr" . }}-appconfig
 data:
-    {{- $restport := default ":8080" (printf ":%.0f" .Values.appmgr.service.http.containerPort) | quote -}}
+    {{- $restport := (printf ":%s" (include "common.serviceport.appmgr.http" .) ) | quote -}}
     {{- $helmrepo := include "common.helmrepository" . | quote -}}
     {{- $reponame := default "helm-repo" .Values.appmgr.reponame | quote -}}
     {{- $tiller := include "common.helmrepositorytiller" . | quote -}}
index 1ea190b..ce05589 100644 (file)
@@ -33,6 +33,10 @@ spec:
       release: {{ .Release.Name }}
   template:
     metadata:
+      {{- if .Values.appmgr.annotations }}
+      annotations:
+        {{- .Values.appmgr.annotations | nindent 8 -}}
+      {{ end }}
       labels:
         app: {{ include "common.namespace.platform" . }}-{{ include "common.name.appmgr" . }}
         release: {{ .Release.Name }}
@@ -47,13 +51,13 @@ spec:
           imagePullPolicy: {{ include "common.pullPolicy" . }}
           ports:
             - name: http
-              containerPort: {{ .Values.appmgr.service.http.containerPort }}
+              containerPort: {{ include "common.serviceport.appmgr.http" . }}
               protocol: TCP
             - name: rmrroute
-              containerPort: {{ .Values.appmgr.service.rmr.route.port }}
+              containerPort: {{ include "common.serviceport.appmgr.rmr.route" . }}
               protocol: TCP
             - name: rmrdata
-              containerPort: {{ .Values.appmgr.service.rmr.data.port }}
+              containerPort: {{ include "common.serviceport.appmgr.rmr.data" . }}
               protocol: TCP
           volumeMounts:
             - name: config-volume
index d371589..e0139f0 100644 (file)
@@ -22,7 +22,8 @@ metadata:
 data:
   NAME: "xappmgr"
   DBAAS_SERVICE_HOST: {{ include "common.servicename.dbaas.tcp" . | quote }}
-  DBAAS_SERVICE_PORT: "6379"
+  DBAAS_SERVICE_PORT: {{ include "common.serviceport.dbaas.tcp" . | quote }}
   DBAAS_PORT_6379_TCP_ADDR: {{ include "common.servicename.dbaas.tcp" . | quote }}
-  DBAAS_PORT_6379_TCP_PORT: "6379"
-  RMR_RTG_SVC: "{{ .Values.appmgr.service.rmr.route.port }}"
+  DBAAS_PORT_6379_TCP_PORT: {{ include "common.serviceport.dbaas.tcp" . | quote }} 
+  RMR_RTG_SVC: {{ include "common.serviceport.appmgr.rmr.route" . | quote }}
+
index 683b32b..8123930 100644 (file)
@@ -9,4 +9,4 @@ spec:
       - path: /appmgr
         backend:
           serviceName: {{ include "common.servicename.appmgr.http" . }}
-          servicePort: {{ .Values.appmgr.service.http.port }}
+          servicePort: {{ include "common.serviceport.appmgr.http" . }}
index 265b1e9..57a7d97 100644 (file)
@@ -28,7 +28,7 @@ metadata:
 spec:
   type: ClusterIP
   ports:
-    - port: {{ .Values.appmgr.service.http.port }}
+    - port: {{ include "common.serviceport.appmgr.http" . }}
       protocol: "TCP"
       name: "http"
       targetPort: "http"
index 3451529..a0608cb 100644 (file)
@@ -28,11 +28,11 @@ metadata:
 spec:
   type: ClusterIP
   ports:
-    - port: {{ .Values.appmgr.service.rmr.route.port }}
+    - port: {{ include "common.serviceport.appmgr.rmr.route" . }}
       protocol: "TCP"
       name: "rmrroute"
       targetPort: "rmrroute"
-    - port: {{ .Values.appmgr.service.rmr.data.port }}
+    - port: {{ include "common.serviceport.appmgr.rmr.data" . }}
       protocol: "TCP"
       name: "rmrdata"
       targetPort: "rmrdata"
index 8dbb63c..6164f73 100644 (file)
@@ -12,8 +12,8 @@ metadata:
   namespace: {{ include "common.helmrepositorytillernamespace" . }}
 rules:
 - apiGroups: [""]
-  resources: ["pods"]
-  verbs: ["get", "list"]
+  resources: ["pods", "pods/portforward"]
+  verbs: ["get", "list", "create"]
 ---
 apiVersion: rbac.authorization.k8s.io/v1beta1
 kind: RoleBinding
index d0929ce..351962c 100644 (file)
@@ -73,16 +73,10 @@ appmgr:
 
   reponame: "helm-repo"
 
-  service:
-    http:
-      port: 8080
-      containerPort: 8080
-    rmr:
-      route:
-        port: 4561
-      data:
-        port: 4560
-
+  # Service ports are now defined in 
+  # ric-common/Common-Template/helm/ric-common/templates/_ports.tpl file.
+  # If need to change a service port, make the code change necessary, then
+  # update the _ports.tpl file with the new port number.
 
   # config
   # Path referred in xapp-manager for retrieving configuration details
index 867b4c2..7095b18 100644 (file)
@@ -33,6 +33,10 @@ spec:
       release: {{ .Release.Name }}
   template:
     metadata:
+      {{- if .Values.dbaas.annotations }}
+      annotations:
+        {{- .Values.dbaas.annotations | nindent 8 -}}
+      {{ end }}
       labels:
         app: {{ include "common.namespace.platform" . }}-{{ include "common.name.dbaas" . }}
         release: {{ .Release.Name }}
@@ -44,7 +48,7 @@ spec:
       - image: {{ include "common.repository" . }}/{{ .Values.dbaas.backend.image.name }}:{{ .Values.dbaas.backend.image.tag }}
         imagePullPolicy: {{ include "common.pullPolicy" . }}
         ports:
-        - containerPort: {{ .Values.dbaas.backend.containerPort }}
+        - containerPort: {{ include "common.serviceport.dbaas.tcp" . }}
           name: sql
           protocol: TCP
         name: {{ include "common.containername.dbaas" . }}
index d0f3df5..af290b7 100644 (file)
@@ -30,7 +30,7 @@ spec:
     app: {{ include "common.namespace.platform" . }}-{{ include "common.name.dbaas" . }}
     release: {{ .Release.Name }}
   ports:
-  - port: {{ .Values.dbaas.backend.port }}
+  - port: {{ include "common.serviceport.dbaas.tcp" . }}
     targetPort: "sql"
     protocol: "TCP"
     name: "sql"
index 965aaa6..2f1de68 100644 (file)
@@ -23,8 +23,11 @@ dbaas:
   backend:
     terminationGracePeriodSeconds: 0
     replicas: 1
-    port: 6379
-    containerPort: 6379
     image:
       name: ric-plt-dbaas
       tag: 0.1.0
+
+    # Service ports are now defined in
+    # ric-common/Common-Template/helm/ric-common/templates/_ports.tpl file.
+    # If need to change a service port, make the code change necessary, then
+    # update the _ports.tpl file with the new port number.
\ No newline at end of file
index 6c9b318..dacb7e2 100644 (file)
@@ -24,15 +24,15 @@ metadata:
 data:
   router.txt: |
     newrt|start
-    rte|10060|{{ include "common.servicename.e2term.rmr" . }}.{{ include "common.namespace.platform" . }}:38000
-    rte|10061|{{ include "common.servicename.e2mgr.rmr" . }}.{{ include "common.namespace.platform" . }}:3801
-    rte|10062|{{ include "common.servicename.e2mgr.rmr" . }}.{{ include "common.namespace.platform" . }}:3801
-    rte|10080|{{ include "common.servicename.e2mgr.rmr" . }}.{{ include "common.namespace.platform" . }}:3801
-    rte|10360|{{ include "common.servicename.e2term.rmr" . }}.{{ include "common.namespace.platform" . }}:38000
-    rte|10361|{{ include "common.servicename.e2mgr.rmr" . }}.{{ include "common.namespace.platform" . }}:3801
-    rte|10362|{{ include "common.servicename.e2mgr.rmr" . }}.{{ include "common.namespace.platform" . }}:3801
-    rte|12010|{{ include "common.servicename.e2term.rmr" . }}.{{ include "common.namespace.platform" . }}:38000
-    rte|20001|{{ include "common.servicename.a1mediator.rmr" . }}.{{ include "common.namespace.platform" . }}:4562
+    rte|10060|{{ include "common.servicename.e2term.rmr" .     }}.{{ include "common.namespace.platform" . }}:{{ include "common.serviceport.e2term.rmr.data" . }}
+    rte|10061|{{ include "common.servicename.e2mgr.rmr" .      }}.{{ include "common.namespace.platform" . }}:{{ include "common.serviceport.e2mgr.rmr.data" . }}
+    rte|10062|{{ include "common.servicename.e2mgr.rmr" .      }}.{{ include "common.namespace.platform" . }}:{{ include "common.serviceport.e2mgr.rmr.data" . }}
+    rte|10080|{{ include "common.servicename.e2mgr.rmr" .      }}.{{ include "common.namespace.platform" . }}:{{ include "common.serviceport.e2mgr.rmr.data" . }}
+    rte|10360|{{ include "common.servicename.e2term.rmr" .     }}.{{ include "common.namespace.platform" . }}:{{ include "common.serviceport.e2term.rmr.data" . }}
+    rte|10361|{{ include "common.servicename.e2mgr.rmr" .      }}.{{ include "common.namespace.platform" . }}:{{ include "common.serviceport.e2mgr.rmr.data" . }}
+    rte|10362|{{ include "common.servicename.e2mgr.rmr" .      }}.{{ include "common.namespace.platform" . }}:{{ include "common.serviceport.e2mgr.rmr.data" . }}
+    rte|12010|{{ include "common.servicename.e2term.rmr" .     }}.{{ include "common.namespace.platform" . }}:{{ include "common.serviceport.e2term.rmr.data" . }}
+    rte|20001|{{ include "common.servicename.a1mediator.rmr" . }}.{{ include "common.namespace.platform" . }}:{{ include "common.serviceport.a1mediator.rmr.data" . }}
     rte|12011|service-ricxapp-admctrl-rmr.{{ include "common.namespace.xapp" . }}:4563
     rte|12012|service-ricxapp-admctrl-rmr.{{ include "common.namespace.xapp" . }}:4563
     rte|12021|service-ricxapp-admctrl-rmr.{{ include "common.namespace.xapp" . }}:4563;service-ricxapp-ueec-rmr.{{ include "common.namespace.xapp" . }}:4560
index 330f123..c10fa6b 100644 (file)
@@ -33,6 +33,10 @@ spec:
       release: {{ .Release.Name }}
   template:
     metadata:
+      {{- if .Values.e2mgr.annotations }}
+      annotations:
+        {{- .Values.e2mgr.annotations | nindent 8 -}}
+      {{ end }}
       labels:
         app: {{ include "common.namespace.platform" . }}-{{ include "common.name.e2mgr" . }}
         release: {{ .Release.Name }}
@@ -53,11 +57,11 @@ spec:
                 name: {{ include "common.configmapname.e2mgr" . }}-env
           ports:
             - name: "http"
-              containerPort: {{ .Values.e2mgr.service.http.containerPort }}
+              containerPort: {{ include "common.serviceport.e2mgr.http" . }}
             - name: "rmrroute"
-              containerPort: {{ .Values.e2mgr.service.rmr.route.port }}
+              containerPort: {{ include "common.serviceport.e2mgr.rmr.route" . }}
             - name: "rmrdata"
-              containerPort: {{ .Values.e2mgr.service.rmr.data.port }}
+              containerPort: {{ include "common.serviceport.e2mgr.rmr.data" . }}
           stdin: true
           tty: true
           securityContext:
index b37cfc4..dd70a68 100644 (file)
@@ -20,8 +20,10 @@ metadata:
   name: {{ include "common.configmapname.e2mgr" . }}-env
 data:
    DBAAS_SERVICE_HOST: {{ include "common.servicename.dbaas.tcp" . | quote }}
-   DBAAS_SERVICE_PORT: "6379"
+   DBAAS_SERVICE_PORT: {{ include "common.serviceport.dbaas.tcp" . | quote }}
    DBAAS_PORT_6379_TCP_ADDR: {{ include "common.servicename.dbaas.tcp" . | quote }}
-   DBAAS_PORT_6379_TCP_PORT: "6379"
-   RMR_RTG_SVC: "{{ .Values.e2mgr.service.rmr.route.port }}"
+   DBAAS_PORT_6379_TCP_PORT: {{ include "common.serviceport.dbaas.tcp" . | quote }} 
+   RMR_RTG_SVC: {{ include "common.serviceport.e2mgr.rmr.route" . | quote }}
    RIC_ID: "{{ .Values.e2mgr.env.RIC_ID }}"
+   #nano: {{ include "common.serviceport.e2mgr.rmr.data" . | quote }}
+
index d1c8faa..23d1975 100644 (file)
@@ -9,4 +9,4 @@ spec:
       - path: /e2mgr
         backend:
           serviceName: {{ include "common.servicename.e2mgr.http" . }}
-          servicePort: {{ .Values.e2mgr.service.http.port }}
+          servicePort: {{ include "common.serviceport.e2mgr.http" . }}
index 5e30924..53319bc 100644 (file)
@@ -28,7 +28,7 @@ metadata:
 spec:
   type: ClusterIP
   ports:
-    - port: {{ .Values.e2mgr.service.http.port }}
+    - port: {{ include "common.serviceport.e2mgr.http" . }}
       protocol: "TCP"
       name: "http"
       targetPort: "http" 
index 6a4bdad..a9e9416 100644 (file)
@@ -28,11 +28,11 @@ metadata:
 spec:
   type: ClusterIP
   ports:
-    - port: {{ .Values.e2mgr.service.rmr.route.port }}
+    - port: {{ include "common.serviceport.e2mgr.rmr.route" . }}
       protocol: "TCP"
       name: "rmrroute"
       targetPort: "rmrroute"
-    - port: {{ .Values.e2mgr.service.rmr.data.port }}
+    - port: {{ include "common.serviceport.e2mgr.rmr.data" . }}
       protocol: "TCP"
       name: "rmrdata"
       targetPort: "rmrdata"
index f2509d8..f6ee2dd 100644 (file)
@@ -47,12 +47,8 @@ e2mgr:
   env:
     RIC_ID: "bbbccc-abcd0e/20"
 
-  service:
-    http:
-      port: 3800
-      containerPort: 3800
-    rmr:
-      route:
-        port: 4561
-      data:
-        port: 3801
+
+  # Service ports are now defined in 
+  # ric-common/Common-Template/helm/ric-common/templates/_ports.tpl file.
+  # If need to change a service port, make the code change necessary, then
+  # update the _ports.tpl file with the new port number.
index 8bd6c12..d62a239 100644 (file)
@@ -24,15 +24,15 @@ metadata:
 data:
   router.txt: |
     newrt|start
-    rte|10060|{{ include "common.servicename.e2term.rmr" . }}.{{ include "common.namespace.platform" . }}:38000
-    rte|10061|{{ include "common.servicename.e2mgr.rmr" . }}.{{ include "common.namespace.platform" . }}:3801
-    rte|10062|{{ include "common.servicename.e2mgr.rmr" . }}.{{ include "common.namespace.platform" . }}:3801
-    rte|10080|{{ include "common.servicename.e2mgr.rmr" . }}.{{ include "common.namespace.platform" . }}:3801
-    rte|10360|{{ include "common.servicename.e2term.rmr" . }}.{{ include "common.namespace.platform" . }}:38000
-    rte|10361|{{ include "common.servicename.e2mgr.rmr" . }}.{{ include "common.namespace.platform" . }}:3801
-    rte|10362|{{ include "common.servicename.e2mgr.rmr" . }}.{{ include "common.namespace.platform" . }}:3801
-    rte|12010|{{ include "common.servicename.e2term.rmr" . }}.{{ include "common.namespace.platform" . }}:38000
-    rte|20001|{{ include "common.servicename.a1mediator.rmr" . }}.{{ include "common.namespace.platform" . }}:4562
+    rte|10060|{{ include "common.servicename.e2term.rmr" .     }}.{{ include "common.namespace.platform" . }}:{{ include "common.serviceport.e2term.rmr.data" . }}
+    rte|10061|{{ include "common.servicename.e2mgr.rmr" .      }}.{{ include "common.namespace.platform" . }}:{{ include "common.serviceport.e2mgr.rmr.data" . }}
+    rte|10062|{{ include "common.servicename.e2mgr.rmr" .      }}.{{ include "common.namespace.platform" . }}:{{ include "common.serviceport.e2mgr.rmr.data" . }}
+    rte|10080|{{ include "common.servicename.e2mgr.rmr" .      }}.{{ include "common.namespace.platform" . }}:{{ include "common.serviceport.e2mgr.rmr.data" . }}
+    rte|10360|{{ include "common.servicename.e2term.rmr" .     }}.{{ include "common.namespace.platform" . }}:{{ include "common.serviceport.e2term.rmr.data" . }}
+    rte|10361|{{ include "common.servicename.e2mgr.rmr" .      }}.{{ include "common.namespace.platform" . }}:{{ include "common.serviceport.e2mgr.rmr.data" . }}
+    rte|10362|{{ include "common.servicename.e2mgr.rmr" .      }}.{{ include "common.namespace.platform" . }}:{{ include "common.serviceport.e2mgr.rmr.data" . }}
+    rte|12010|{{ include "common.servicename.e2term.rmr" .     }}.{{ include "common.namespace.platform" . }}:{{ include "common.serviceport.e2term.rmr.data" . }}
+    rte|20001|{{ include "common.servicename.a1mediator.rmr" . }}.{{ include "common.namespace.platform" . }}:{{ include "common.serviceport.a1mediator.rmr.data" . }}
     rte|12011|service-ricxapp-admctrl-rmr.{{ include "common.namespace.xapp" . }}:4563
     rte|12012|service-ricxapp-admctrl-rmr.{{ include "common.namespace.xapp" . }}:4563
     rte|12021|service-ricxapp-admctrl-rmr.{{ include "common.namespace.xapp" . }}:4563;service-ricxapp-ueec-rmr.{{ include "common.namespace.xapp" . }}:4560
index 993fd52..ed80b84 100644 (file)
@@ -33,6 +33,10 @@ spec:
       release: {{ .Release.Name }}
   template:
     metadata:
+      {{- if .Values.e2term.annotations }}
+      annotations:
+        {{- .Values.e2term.annotations | nindent 8 -}}
+      {{ end }}
       labels:
         app: {{ include "common.namespace.platform" . }}-{{ include "common.name.e2term" . }}
         release: {{ .Release.Name }}
@@ -55,9 +59,9 @@ spec:
                 name: {{ include "common.configmapname.e2term" . }}-env
           ports:
             - name: "rmrroute"
-              containerPort: {{ .Values.e2term.service.rmr.route.port }}
+              containerPort: {{ include "common.serviceport.e2term.rmr.route" . }}
             - name: "rmrdata"
-              containerPort: {{ .Values.e2term.service.rmr.data.port }}
+              containerPort: {{ include "common.serviceport.e2term.rmr.data" . }}
           stdin: true
           tty: true
           securityContext:
index 7637a41..2183db1 100644 (file)
@@ -20,10 +20,12 @@ metadata:
   name: {{ include "common.configmapname.e2term" . }}-env
 data:
   DBAAS_SERVICE_HOST: {{ include "common.servicename.dbaas.tcp" . | quote }}
-  DBAAS_SERVICE_PORT: "6379"
+  DBAAS_SERVICE_PORT: {{ include "common.serviceport.dbaas.tcp" . | quote }}
   DBAAS_PORT_6379_TCP_ADDR: {{ include "common.servicename.dbaas.tcp" . | quote }}
-  DBAAS_PORT_6379_TCP_PORT: "6379"
-  RMR_RTG_SVC: "{{ .Values.e2term.service.rmr.route.port }}"
-  sctp: "5577"
-  nano: "{{ .Values.e2term.service.rmr.data.port }}"
+  DBAAS_PORT_6379_TCP_PORT: {{ include "common.serviceport.dbaas.tcp" . | quote }} 
+  RMR_RTG_SVC: {{ include "common.serviceport.e2term.rmr.route" . | quote }}
+  RMR_SEED_RT: "router.txt"
+  RMR_VCTL_FILE: "/tmp/rmr_verbose"
+  sctp: {{ include "common.serviceport.e2term.sctp" . | quote }}
+  nano: {{ include "common.serviceport.e2term.rmr.data" . | quote }}
   print: "{{ .Values.e2term.env.print }}"
index f4cf20a..f9443a5 100644 (file)
@@ -28,11 +28,11 @@ metadata:
 spec:
   type: ClusterIP
   ports:
-    - port: {{ .Values.e2term.service.rmr.route.port }}
+    - port: {{ include "common.serviceport.e2term.rmr.route" . }}
       protocol: "TCP"
       targetPort: "rmrroute"
       name: "rmrroute"
-    - port: {{ .Values.e2term.service.rmr.data.port }}
+    - port: {{ include "common.serviceport.e2term.rmr.data" . }}
       protocol: "TCP"
       targetPort: "rmrdata"
       name: "rmrdata"
index f40e068..a4d72fc 100644 (file)
@@ -40,13 +40,10 @@ e2term:
   
   
   replicaCount: 1
-  
   env:
     print: "1"
-  
-  service:
-    rmr:
-      route:
-        port: 4561
-      data:
-        port: 38000
+  # Service ports are now defined in 
+  # ric-common/Common-Template/helm/ric-common/templates/_ports.tpl file.
+  # If need to change a service port, make the code change necessary, then
+  # update the _ports.tpl file with the new port number.
index 0a2a629..c0b83f3 100644 (file)
@@ -16,4 +16,8 @@ kong:
     http:
       nodePort: 30080
     tls:
-      nodePort: 30443
\ No newline at end of file
+      nodePort: 30443
+  # These port numbers MUST matche with what's in
+  # ric-common/Common-Template/helm/ric-common/templates/_ingresscontroller.tpl file.
+  # If need to change a proxy port here, do not forget to update the 
+  # _ingresscontroller.tpl file with the new port number.
index 1cf2ab6..80a2d3f 100644 (file)
@@ -18,5 +18,8 @@ kong:
       nodePort: 31080
     tls:
       nodePort: 31443
-
+  # These port numbers MUST matche with what's in
+  # ric-common/Common-Template/helm/ric-common/templates/_ingresscontroller.tpl file.
+  # If need to change a proxy port here, do not forget to update the 
+  # _ingresscontroller.tpl file with the new port number.
 
index 9cd05fa..0214fc3 100644 (file)
@@ -34,17 +34,17 @@ data:
           {
              "name": "E2TERM",
              "fqdn": "{{ include "common.servicename.e2term.rmr" . }}",
-             "port": 4561
+             "port": {{ include "common.serviceport.e2term.rmr.data" . }}
           },
           {
              "name": "SUBMAN",
              "fqdn": "{{ include "common.servicename.submgr.rmr" . }}",
-             "port": 4561
+             "port": {{ include "common.serviceport.submgr.rmr.data" . }}
           },
           {
              "name": "E2MAN",
              "fqdn": "{{ include "common.servicename.e2mgr.rmr" . }}",
-             "port": 4561
+             "port": {{ include "common.serviceport.e2mgr.rmr.data" . }}
           }
        ]
     }
index fd93004..592309e 100644 (file)
@@ -33,6 +33,10 @@ spec:
       release: {{ .Release.Name }}
   template:
     metadata:
+      {{- if .Values.rtmgr.annotations }}
+      annotations:
+        {{- .Values.rtmgr.annotations | nindent 8 -}}
+      {{ end }}
       labels:
         app: {{ include "common.namespace.platform" . }}-{{ include "common.name.rtmgr" . }}
         release: {{ .Release.Name }}
@@ -56,9 +60,9 @@ spec:
               readOnly: true
           ports:
             - name: "rmrroute"
-              containerPort: {{ .Values.rtmgr.service.rmr.route.port }}
+              containerPort: {{ include "common.serviceport.rtmgr.rmr.route" . }}
             - name: "rmrdata"
-              containerPort: {{ .Values.rtmgr.service.rmr.data.port }}
+              containerPort: {{ include "common.serviceport.rtmgr.rmr.data" . }}
       volumes:
         - name: "rtmgrcfg"
           configMap:
index 2f6ab6a..ff374b6 100644 (file)
@@ -20,11 +20,11 @@ metadata:
   name: {{ include "common.configmapname.rtmgr" . }}-env
 data:
    DBAAS_SERVICE_HOST: {{ include "common.servicename.dbaas.tcp" . | quote }}
-   DBAAS_SERVICE_PORT: "6379"
+   DBAAS_SERVICE_PORT: {{ include "common.serviceport.dbaas.tcp" . | quote }}
    DBAAS_PORT_6379_TCP_ADDR: {{ include "common.servicename.dbaas.tcp" . | quote }}
-   DBAAS_PORT_6379_TCP_PORT: "6379"
-   RMR_RTG_SVC: "{{ .Values.rtmgr.service.rmr.route.port }}"
-   XMURL: "http://{{ include "common.servicename.appmgr.http" . }}:8080/ric/v1/xapps"
+   DBAAS_PORT_6379_TCP_PORT: {{ include "common.serviceport.dbaas.tcp" . | quote }} 
+   RMR_RTG_SVC: {{ include "common.serviceport.rtmgr.rmr.route" . | quote }}
+   XMURL: "http://{{ include "common.servicename.appmgr.http" . }}:{{ include "common.serviceport.appmgr.http" . }}/ric/v1/xapps"
    RTFILE: "/db/rt.json"
    CFGFILE: "/cfg/rtmgr-config.json"
    RPE: "{{ .Values.rtmgr.rpe }}"
@@ -33,4 +33,3 @@ data:
    NBI: "{{ .Values.rtmgr.nbi }}"
    NBIURL: "{{ .Values.rtmgr.nbiurl }}"
    LOGLEVEL: "{{ .Values.rtmgr.loglevel }}"
-
index 7471204..ac2f31e 100644 (file)
@@ -28,11 +28,11 @@ metadata:
 spec:
   type: ClusterIP
   ports:
-    - port: {{ .Values.rtmgr.service.rmr.route.port }}
+    - port: {{ include "common.serviceport.rtmgr.rmr.route" . }}
       protocol: TCP
       targetPort: "rmrroute"
       name: "rmrroute"
-    - port: {{ .Values.rtmgr.service.rmr.data.port }}
+    - port: {{ include "common.serviceport.rtmgr.rmr.data" . }}
       protocol: TCP
       targetPort: "rmrdata"
       name: "rmrdata"
index 904a597..1b989b0 100644 (file)
@@ -39,13 +39,6 @@ rtmgr:
     name: rtmgr
     tag: 0.0.2
   
-  service:
-    rmr:
-      route:
-        port: 4561
-      data:
-        port: 4560
-
   rpe: rmrpush
   sbi: nngpush
   sbiurl: 0.0.0.0
@@ -53,3 +46,7 @@ rtmgr:
   nbiurl: http://0.0.0.0:8888
   loglevel: DEBUG
 
+  # Service ports are now defined in 
+  # ric-common/Common-Template/helm/ric-common/templates/_ports.tpl file.
+  # If need to change a service port, make the code change necessary, then
+  # update the _ports.tpl file with the new port number.
diff --git a/ric-platform/50-RIC-Platform/helm/submgr/Chart.yaml b/ric-platform/50-RIC-Platform/helm/submgr/Chart.yaml
new file mode 100644 (file)
index 0000000..d51c729
--- /dev/null
@@ -0,0 +1,22 @@
+################################################################################
+#   Copyright (c) 2019 AT&T Intellectual Property.                             #
+#   Copyright (c) 2019 Nokia.                                                  #
+#                                                                              #
+#   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.                                             #
+################################################################################
+
+appVersion: "1.0"
+apiVersion: v1
+description: Oran Subscription Manager Helm charts
+name: submgr
+version: 1.1.0
diff --git a/ric-platform/50-RIC-Platform/helm/submgr/requirements.yaml b/ric-platform/50-RIC-Platform/helm/submgr/requirements.yaml
new file mode 100644 (file)
index 0000000..2ab71b4
--- /dev/null
@@ -0,0 +1,20 @@
+################################################################################
+#   Copyright (c) 2019 AT&T Intellectual Property.                             #
+#   Copyright (c) 2019 Nokia.                                                  #
+#                                                                              #
+#   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: ric-common
+    version: ~2.0.0
diff --git a/ric-platform/50-RIC-Platform/helm/submgr/templates/deployment.yaml b/ric-platform/50-RIC-Platform/helm/submgr/templates/deployment.yaml
new file mode 100644 (file)
index 0000000..2c66c7b
--- /dev/null
@@ -0,0 +1,69 @@
+#
+#==================================================================================
+#   Copyright (c) 2019 AT&T Intellectual Property.
+#   Copyright (c) 2019 Nokia
+#
+#   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.
+#==================================================================================
+#
+#
+#   Abstract: Subscription Manager Kubernetes manifest
+#   Date:              28 May 2019
+#
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: {{ include "common.deploymentname.submgr" . }}
+  namespace: {{ include "common.namespace.platform" . }}
+  labels:
+    app: {{ include "common.namespace.platform" . }}-{{ include "common.name.submgr" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  replicas: {{ .Values.submgr.replicaCount }}
+  selector:
+    matchLabels:
+      app: {{ include "common.namespace.platform" . }}-{{ include "common.name.submgr" . }}
+      release: {{ .Release.Name }}
+  template:
+    metadata:
+      {{- if .Values.submgr.annotations }}
+      annotations:
+        {{- .Values.submgr.annotations | nindent 8 -}}
+      {{ end }}
+      labels:
+        app: {{ include "common.namespace.platform" . }}-{{ include "common.name.submgr" . }}
+        release: {{ .Release.Name }}
+    spec:
+      hostname: {{ include "common.name.submgr" . }}
+      imagePullSecrets:
+        - name: {{ include "common.repositoryCred" . }}
+      containers:
+        - name: {{ include "common.containername.submgr" . }}
+          image: {{ include "common.repository" . }}/{{ .Values.submgr.image.name }}:{{ .Values.submgr.image.tag }}
+          imagePullPolicy: {{ include "common.pullPolicy" . }}
+          command: ["/run_submgr.sh"]
+          envFrom:
+            - configMapRef:
+                name: {{ include "common.configmapname.submgr" . }}-env
+          ports:
+            - name: http
+              containerPort: {{ include "common.serviceport.submgr.http" . }}
+              protocol: TCP
+            - name: rmrroute
+              containerPort: {{ include "common.serviceport.submgr.rmr.route" . }}
+              protocol: TCP
+            - name: rmrdata
+              containerPort: {{ include "common.serviceport.submgr.rmr.data" . }}
+              protocol: TCP
diff --git a/ric-platform/50-RIC-Platform/helm/submgr/templates/env.yaml b/ric-platform/50-RIC-Platform/helm/submgr/templates/env.yaml
new file mode 100644 (file)
index 0000000..091207b
--- /dev/null
@@ -0,0 +1,27 @@
+################################################################################
+#   Copyright (c) 2019 AT&T Intellectual Property.                             #
+#   Copyright (c) 2019 Nokia.                                                  #
+#                                                                              #
+#   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.configmapname.submgr" . }}-env
+data:
+  DBAAS_SERVICE_HOST: {{ include "common.servicename.dbaas.tcp" . | quote }}
+  DBAAS_SERVICE_PORT: {{ include "common.serviceport.dbaas.tcp" . | quote }}
+  DBAAS_PORT_6379_TCP_ADDR: {{ include "common.servicename.dbaas.tcp" . | quote }}
+  DBAAS_PORT_6379_TCP_PORT: {{ include "common.serviceport.dbaas.tcp" . | quote }} 
+  RMR_RTG_SVC: {{ include "common.serviceport.submgr.rmr.route" . | quote }}
+
diff --git a/ric-platform/50-RIC-Platform/helm/submgr/templates/service-http.yaml b/ric-platform/50-RIC-Platform/helm/submgr/templates/service-http.yaml
new file mode 100644 (file)
index 0000000..ed2d790
--- /dev/null
@@ -0,0 +1,42 @@
+#
+#==================================================================================
+#   Copyright (c) 2019 AT&T Intellectual Property.
+#   Copyright (c) 2019 Nokia
+#
+#   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.
+#==================================================================================
+#
+#
+#   Abstract: Subscription Manager service manifest 
+#   Date:              28 May 2019
+#
+kind: Service
+apiVersion: v1
+metadata:
+  name: {{ include "common.servicename.submgr.http" . }}
+  namespace: {{ include "common.namespace.platform" . }}
+  labels:
+    app: {{ include "common.namespace.platform" . }}-{{ include "common.name.submgr" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  selector:
+    app: {{ include "common.namespace.platform" . }}-{{ include "common.name.submgr" . }}
+    release: {{ .Release.Name }}
+  clusterIP: None
+  ports:
+  - name: http
+    port: {{ include "common.serviceport.submgr.http" . }}
+    protocol: TCP
+    targetPort: http
\ No newline at end of file
diff --git a/ric-platform/50-RIC-Platform/helm/submgr/templates/service-rmr.yaml b/ric-platform/50-RIC-Platform/helm/submgr/templates/service-rmr.yaml
new file mode 100644 (file)
index 0000000..3e8107e
--- /dev/null
@@ -0,0 +1,47 @@
+#
+#==================================================================================
+#   Copyright (c) 2019 AT&T Intellectual Property.
+#   Copyright (c) 2019 Nokia
+#
+#   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.
+#==================================================================================
+#
+#
+#   Abstract: Subscription Manager service manifest 
+#   Date:              28 May 2019
+#
+kind: Service
+apiVersion: v1
+metadata:
+  name: {{ include "common.servicename.submgr.rmr" . }}
+  namespace: {{ include "common.namespace.platform" . }}
+  labels:
+    app: {{ include "common.namespace.platform" . }}-{{ include "common.name.submgr" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  selector:
+    app: {{ include "common.namespace.platform" . }}-{{ include "common.name.submgr" . }}
+    release: {{ .Release.Name }}       
+  clusterIP: None
+  ports:
+  - name: rmrdata
+    port: {{ include "common.serviceport.submgr.rmr.data" . }}
+    protocol: TCP
+    targetPort: rmrdata
+  - name: rmrroute
+    port: {{ include "common.serviceport.submgr.rmr.route" . }}
+    protocol: TCP
+    targetPort: rmrroute
+
diff --git a/ric-platform/50-RIC-Platform/helm/submgr/values.yaml b/ric-platform/50-RIC-Platform/helm/submgr/values.yaml
new file mode 100644 (file)
index 0000000..f911e47
--- /dev/null
@@ -0,0 +1,33 @@
+################################################################################
+#   Copyright (c) 2019 AT&T Intellectual Property.                             #
+#   Copyright (c) 2019 Nokia.                                                  #
+#                                                                              #
+#   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.                                             #
+################################################################################
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+
+repository: "nexus3.o-ran-sc.org:10004"
+imagePullPolicy: IfNotPresent
+repositoryCred: docker-reg-cred
+
+submgr:
+
+  image:
+    name: ric-plt-submgr
+    tag: 0.1.1
+
+  replicaCount: 1