a1mediator:
image:
name: ric-plt-a1
- tag: 1.0.4
+ tag: 2.0.0
rmr_timeout_config:
- rcv_retry_interval_ms: 500
- rcv_retry_times: 20
+ a1_rcv_retry_times: 20
+ ins_del_no_resp_ttl: 5
+ ins_del_resp_ttl: 10
appmgr:
image:
e2term:
- image:
- registry: "nexus3.o-ran-sc.org:10002/o-ran-sc"
- name: ric-plt-e2
- tag: 3.0.1
-
- privilegedmode: false
- hostnetworkmode: false
- env:
- print: "1"
- messagecollectorfile: "/data/outgoing/"
- dataVolSize: 100Mi
- storageClassName: local-storage
- pizpub:
- enabled: false
+ alpha:
+ image:
+ registry: "nexus3.o-ran-sc.org:10002/o-ran-sc"
+ name: ric-plt-e2
+ tag: 3.0.1
+
+ privilegedmode: false
+ hostnetworkmode: false
+ env:
+ print: "1"
+ messagecollectorfile: "/data/outgoing/"
+ dataVolSize: 100Mi
+ storageClassName: local-storage
+ pizpub:
+ enabled: false
jaegeradapter:
rsm:
image:
- registry: "nexus3.o-ran-sc.org:10002/o-ran-sc"
- name: ric-plt-resource-status-manager
- tag: 3.0.1
+ init:
+ name: redis
+ tag: latest
+ registry: "docker.io"
+ main:
+ name: ric-plt-resource-status-manager
+ tag: 3.0.1
+ registry: "nexus3.o-ran-sc.org:10002/o-ran-sc"
privilegedmode: false
- enableResourceStatus: true
rtmgr:
image:
sbiurl: 0.0.0.0
nbi: httpRESTful
nbiurl: http://0.0.0.0:8888
- loglevel: DEBUG
submgr:
image:
+++ /dev/null
-################################################################################
-# Copyright (c) 2019 AT&T Intellectual Property. #
-# #
-# 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. #
-###############################################################################
-
-#-------------------------------------------------------------------------
-# Global common setting
-#-------------------------------------------------------------------------
-
-common:
- releasePrefix: r3
-
-# If a local docker registry is used, please specify it using the following option
-# localregistry: nexus3.o-ran-sc.org:10004
-
-# Change the overall image pull policy using the following option
-# pullpolicy: IfNotPresent
-
-# Change the namespaces using the following options
-# namespace:
-# aux: ricaux
-# platform: ricplt
-# xapp: ricxapp
-# infra: ricinfra
-
-# ricip should be the ingress controller listening IP for the platform cluster
-# auxip should be the ingress controller listening IP for the AUX cluster
-extsvcplt:
- ricip: "10.0.0.1"
- auxip: "10.0.0.1"
-
-
-#Specify the docker registry credential using the following
-docker-credential:
- enabled: true
- credential:
- oran:
- registry: "nexus3.o-ran-sc.org:10004"
- credential:
- user: "docker"
- password: "docker"
- email: "@"
-
-
-a1mediator:
- image:
- name: ric-plt-a1
- tag: 1.0.4
- rmr_timeout_config:
- rcv_retry_interval_ms: 500
- rcv_retry_times: 20
-
-appmgr:
- image:
- init:
- name: it-dep-init
- tag: 0.0.1
- appmgr:
- name: ric-plt-appmgr
- tag: 0.2.0
- chartmuseum:
- name: chartmuseum/chartmuseum
- tag: v0.8.2
-
-dbaas:
- backend:
- image:
- name: ric-plt-dbaas
- tag: 0.1.0
-
-e2mgr:
- image:
- name: ric-plt-e2mgr
- tag: 3.0.1
- privilegedmode: false
- env:
- RIC_ID: "bbbccc-abcd0e/20"
-
-
-
-e2term:
- alpha:
- imagePullPolicy: IfNotPresent
- image:
- name: ric-plt-e2
- tag: 3.0.1
- registry: "nexus3.o-ran-sc.org:10004"
-
- privilegedmode: false
- hostnetworkmode: false
-
- replicaCount: 1
- env:
- print: "1"
- messagecollectorfile: "/data/outgoing/"
-
- dataVolSize: 100Mi
- storageClassName: local-storage
-
- pizpub:
- enabled: false
-
-
-jaegeradapter:
- image:
- name: jaegertracing/all-in-one
- tag: 1.12
-
-
-rsm:
- image:
- name: ric-plt-resource-status-manager
- tag: 3.0.1
- privilegedmode: false
- enableResourceStatus: true
-
-rtmgr:
- image:
- name: ric-plt-rtmgr
- tag: 0.3.8
- rpe: rmrpush
- sbi: nngpush
- sbiurl: 0.0.0.0
- nbi: httpRESTful
- nbiurl: http://0.0.0.0:8888
- loglevel: DEBUG
-
-submgr:
- image:
- name: ric-plt-submgr
- tag: 0.10.7
-
-vespamgr:
- image:
- name: ric-plt-vespamgr
- tag: 0.0.8
- prometheusurl: "http://rec-prometheus-server.default"
+++ /dev/null
-{
- "controls":[
- {
- "name":"admission_control_policy",
- "description":"various parameters to control admission of dual connection",
- "control_state_request_rmr_type":"DC_ADM_GET_POLICY",
- "control_state_request_reply_rmr_type":"DC_ADM_GET_POLICY_ACK",
- "message_receives_rmr_type":"DC_ADM_INT_CONTROL",
- "message_receives_payload_schema":{
- "$schema":"http://json-schema.org/draft-07/schema#",
- "type":"object",
- "properties":{
- "enforce":{
- "type":"boolean",
- "default":true
- },
- "window_length":{
- "type":"integer",
- "default":1,
- "minimum":1,
- "maximum":60,
- "description":"Sliding window length (in minutes)"
- },
- "blocking_rate":{
- "type":"number",
- "default":10,
- "minimum":1,
- "maximum":100,
- "description":"% Connections to block"
- },
- "trigger_threshold":{
- "type":"integer",
- "default":10,
- "minimum":1,
- "description":"Minimum number of events in window to trigger blocking"
- }
- },
- "required":[
- "enforce",
- "blocking_rate",
- "trigger_threshold",
- "window_length"
- ],
- "additionalProperties":false
- },
- "message_sends_rmr_type":"DC_ADM_INT_CONTROL_ACK",
- "message_sends_payload_schema":{
- "$schema":"http://json-schema.org/draft-07/schema#",
- "type":"object",
- "properties":{
- "status":{
- "type":"string",
- "enum":[
- "SUCCESS",
- "FAIL"
- ]
- },
- "message":{
- "type":"string"
- }
- },
- "required":[
- "status"
- ],
- "additionalProperties":false
- }
- }
- ]
-}
+++ /dev/null
-DC_ADM_INT_CONTROL:20000
-DC_ADM_INT_CONTROL_ACK:20001
-DC_ADM_GET_POLICY: 20002
-DC_ADM_GET_POLICY_ACK: 20003
-
data:
local.rt: |
newrt|start
- 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|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
- rte|12022|service-ricxapp-admctrl-rmr.{{ include "common.namespace.xapp" . }}:4563;service-ricxapp-ueec-rmr.{{ include "common.namespace.xapp" . }}:4560
- rte|12050|service-ricxapp-admctrl-rmr.{{ include "common.namespace.xapp" . }}:4563;service-ricxapp-ueec-rmr.{{ include "common.namespace.xapp" . }}:4560
- rte|20000|service-ricxapp-admctrl-rmr.{{ include "common.namespace.xapp" . }}:4563
- rte|20002|service-ricxapp-admctrl-rmr.{{ include "common.namespace.xapp" . }}:4563
- rte|20001|{{ include "common.servicename.a1mediator.rmr" . }}.{{ include "common.namespace.platform" . }}:{{ include "common.serviceport.a1mediator.rmr.data" . }}
- rte|20003|{{ include "common.servicename.a1mediator.rmr" . }}.{{ include "common.namespace.platform" . }}:{{ include "common.serviceport.a1mediator.rmr.data" . }}
+ # Warning! this is not a functioning table because the subscription manager and route manager are now involved in a1 flows
+ # the real routing table requires subscription ids as routing is now done over sub ids, but this isn't known until xapp deploy time, it's a dynamic process triggered by the xapp manager
+ # there is a single message type for all messages a1 sends out now, subid is the other necessary piece of info
+ # there are two message types a1 listens for; 20011 (instance response) and 20012 (query)
+ # xapps likely use rts to reply with 20012 so the routing entry isn't needed for that in most cases
+ mse|20010|SUBID|service-ricxapp-admctrl-rmr.{{ include "common.namespace.xapp" . }}:4563
+ rte|20011|{{ include "common.servicename.a1mediator.rmr" . }}.{{ include "common.namespace.platform" . }}:{{ include "common.serviceport.a1mediator.rmr.data" . }}
+ rte|20012|{{ include "common.servicename.a1mediator.rmr" . }}.{{ include "common.namespace.platform" . }}:{{ include "common.serviceport.a1mediator.rmr.data" . }}
newrt|end
- rmr_string_int_mapping.txt: {{ tpl (.Files.Get "resources/rmr_string_int_mapping.txt") . | quote }}
- ricmanifest.json: {{ tpl (.Files.Get "resources/ricmanifest.json") . | quote }}
containers:
- name: {{ include "common.containername.a1mediator" . }}
volumeMounts:
- - name: a1conf
- mountPath: /opt/ricmanifest.json
- subPath: ricmanifest.json
- - name: a1conf
- mountPath: /opt/rmr_string_int_mapping.txt
- subPath: rmr_string_int_mapping.txt
- name: a1conf
mountPath: /opt/route/local.rt
subPath: local.rt
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 }}
+ 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 }}"
-
+ PYTHONUNBUFFERED: "1"
+ A1_RMR_RETRY_TIMES: "{{ .Values.a1mediator.rmr_timeout_config.a1_rcv_retry_times }}"
+ # this sets the source field in messages from a1 to point back to a1s service name, rather than it's random pod name
+ # In my private testing, this is needed! however it wasn't here in it/dep. If routing doesn't work, possibly add this back.
+ # RMR_SRC_ID: curlybrace curlybrace .Values.rmrservice.name curlybrace curlybrace
+ INSTANCE_DELETE_NO_RESP_TTL: "{{ .Values.a1mediator.rmr_timeout_config.ins_del_no_resp_ttl }}"
+ INSTANCE_DELETE_RESP_TTL: "{{ .Values.a1mediator.rmr_timeout_config.ins_del_resp_ttl }}"
imagePullPolicy: IfNotPresent
image:
name: ric-plt-a1
- tag: 1.0.4
+ tag: 2.0.0
registry: "nexus3.o-ran-sc.org:10002/o-ran-sc"
# Service ports are now defined in
# these are ENV variables that A1 takes; see docs
rmr_timeout_config:
- rcv_retry_interval_ms: 500
- rcv_retry_times: 20
+ a1_rcv_retry_times: 20
+ ins_del_no_resp_ttl: 5
+ ins_del_resp_ttl: 10
rte|1080|{{ include "common.servicename.e2mgr.rmr" . }}.{{ include "common.namespace.platform" . }}:{{ include "common.serviceport.e2mgr.rmr.data" . }}
rte|1090|{{ include "common.servicename.e2term.rmr" . }}.{{ include "common.namespace.platform" . }}:{{ include "common.serviceport.e2term.rmr.data" . }}
rte|1100|{{ include "common.servicename.e2term.rmr" . }}.{{ include "common.namespace.platform" . }}:{{ include "common.serviceport.e2term.rmr.data" . }}
+ rte|1101|{{ include "common.servicename.e2term.rmr" . }}.{{ include "common.namespace.platform" . }}:{{ include "common.serviceport.e2term.rmr.data" . }}
rte|1200|{{ include "common.servicename.rsm.rmr" . }}.{{ include "common.namespace.platform" . }}:{{ include "common.serviceport.rsm.rmr.data" . }}
rte|1210|{{ include "common.servicename.rsm.rmr" . }}.{{ include "common.namespace.platform" . }}:{{ include "common.serviceport.rsm.rmr.data" . }}
rte|1220|{{ include "common.servicename.rsm.rmr" . }}.{{ include "common.namespace.platform" . }}:{{ include "common.serviceport.rsm.rmr.data" . }}
maxMsgSize: 4096
{{- end }}
+ routingManager:
+ {{- if hasKey .Values.e2mgr "baseUrl" }}
+ baseUrl: {{ .Values.e2mgr.baseUrl }}
+ {{- else }}
+ baseUrl: "http://service-ricplt-rtmgr-http:3800/ric/v1/handles/"
+ {{- end }}
+
{{- if hasKey .Values.e2mgr "notificationResponseBuffer" }}
notificationResponseBuffer: {{ .Values.e2mgr.notificationResponseBuffer }}
{{- else }}
rnibRetryIntervalMs: {{ .Values.e2mgr.rnibRetryIntervalMs }}
{{- else }}
rnibRetryIntervalMs: 10
- {{- end }}
+ {{- end }}
+ {{- if hasKey .Values.e2mgr "keepAliveResponseTimeoutMs" }}
+ keepAliveResponseTimeoutMs: {{ .Values.e2mgr.keepAliveResponseTimeoutMs }}
+ {{- else }}
+ keepAliveResponseTimeoutMs: 4500
+ {{- end }}
+
+ {{- if hasKey .Values.e2mgr "keepAliveDelayMs" }}
+ keepAliveDelayMs: {{ .Values.e2mgr.keepAliveDelayMs }}
+ {{- else }}
+ keepAliveDelayMs: 1500
+ {{- end }}
---
version: 0.2.0
repository: "file://subcharts/extsvcplt"
condition: extsvcplt.enabled
- - name: chartmuseum
- version: 0.0.1
- repository: "file://./subcharts/chartmuseum"
- condition: chartmuseum.enabled
- name: docker-credential
version: 1.0.0
repository: "file://./subcharts/docker-credential"
+++ /dev/null
-################################################################################
-# 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
+++ /dev/null
-################################################################################
-# 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: ~3.0.0
- repository: "@local"
+++ /dev/null
-################################################################################
-# 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 chartmuseum helm repo
-*/}}
-
-{{- define "chartmuseum.gen-cert" -}}
-{{- $altNames := list ( include "common.ingressurl.aux" . ) -}}
-{{- $ca := genCA "docker-registry-ca" 365 -}}
-{{- $cert := genSignedCert ( include "common.ingressurl.aux" . ) nil $altNames 365 $ca -}}
-tls.crt: {{ $cert.Cert | b64enc }}
-tls.key: {{ $cert.Key | b64enc }}
-{{- end -}}
-
+++ /dev/null
-################################################################################
-# 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/v1
-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:
- securityContext:
- fsGroup: 0
- runAsUser: 0
- 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" . }}
+++ /dev/null
-################################################################################
-# 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"
+++ /dev/null
-################################################################################
-# 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: networking.k8s.io/v1beta1
-kind: Ingress
-metadata:
- name: {{ include "common.ingressname.chartmuseum" . }}
-spec:
- tls:
- - hosts:
- - {{ include "common.ingressurl.aux" . }}
- secretName: secret-{{ include "common.name.chartmuseum" . }}
- rules:
- - http:
- paths:
- - backend:
- serviceName: {{ include "common.servicename.chartmuseum.http" . }}
- servicePort: http
- path: "/helm"
+++ /dev/null
-################################################################################
-# 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:
- imagePullSecrets:
- - name: {{ include "common.repositoryCred" . }}
- containers:
- - name: cert-copy
- image: {{ include "common.repository" . }}/{{ .Values.chartmuseum.job.image.name }}:{{ .Values.chartmuseum.job.image.tag }}
- imagePullPolicy: {{ include "common.pullPolicy" . }}
- 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
+++ /dev/null
-{{- if not .Values.chartmuseum.storageclass }}
-
-kind: StorageClass
-apiVersion: storage.k8s.io/v1
-metadata:
- name: storageclass-{{ include "common.name.chartmuseum" . }}
-provisioner: kubernetes.io/no-provisioner
-volumeBindingMode: WaitForFirstConsumer
-
----
-
-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: local-storage
- operator: In
- values:
- - enable
-{{- end -}}
-
+++ /dev/null
-kind: PersistentVolumeClaim
-apiVersion: v1
-metadata:
- name: pvc-{{ include "common.name.chartmuseum" . }}
-spec:
- accessModes:
- - ReadWriteOnce
- storageClassName: {{ .Values.chartmuseum.storageclass | default (printf "storageclass-%s" ( include "common.name.chartmuseum" . )) }}
- resources:
- requests:
- storage: {{ .Values.chartmuseum.storagesize }}
+++ /dev/null
-################################################################################
-# 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 }}
+++ /dev/null
-################################################################################
-# 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: Service
-metadata:
- name: {{ include "common.servicename.chartmuseum.http" . }}
- namespace: {{ include "common.namespace.infra" . }}
- labels:
- app: {{ include "common.namespace.infra" . }}-{{ include "common.name.chartmuseum" . }}
- chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
- release: {{ .Release.Name }}
- heritage: {{ .Release.Service }}
-spec:
- type: ClusterIP
- ports:
- - port: {{ include "common.serviceport.chartmuseum.http" . }}
- targetPort: http
- protocol: TCP
- name: http
- selector:
- app: {{ include "common.namespace.infra" . }}-{{ include "common.name.chartmuseum" . }}
- release: {{ .Release.Name }}
+++ /dev/null
-################################################################################
-# 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: "docker.io"
-imagePullPolicy: IfNotPresent
-repositoryCred: docker-reg-cred
-helmRepositoryCert: xapp-mgr-certs
-
-chartmuseum:
- repositoryOverride: "docker.io"
- replicaCount: 1
-
- job:
- image:
- name: alpine
- tag: latest
-
-# This is designed to be deployed using local image
- image:
- name: chartmuseum/chartmuseum
- tag: v0.8.2
-
-# Specify a storage class to bypass the local storage definition.
-# storageclass:
- storagesize: 2Gi
- datapath: /opt/data/chartmuseum-data
ricip: "10.0.0.1"
auxip: "10.0.0.1"
-chartmuseum:
- enabled: false
docker-credential:
enabled: true
{{- else }}
rnibRetryIntervalMs: 10
{{- end }}
- characteristics:
- {{- if hasKey .Values.rsm "enableResourceStatus" }}
- enableResourceStatus: {{ .Values.rsmenableResourceStatus }}
- {{- else }}
- enableResourceStatus: true
- {{- end }}
- {{- if hasKey .Values.rsm "prbPeriodic" }}
- prbPeriodic: {{ .Values.rsm.prbPeriodic }}
- {{- else }}
- prbPeriodic: true
- {{- end }}
- {{- if hasKey .Values.rsm "tnlLoadIndPeriodic" }}
- tnlLoadIndPeriodic: {{ .Values.rsm.tnlLoadIndPeriodic }}
- {{- else }}
- tnlLoadIndPeriodic: true
- {{- end }}
- {{- if hasKey .Values.rsm "hwLoadIndPeriodic" }}
- hwLoadIndPeriodic: {{ .Values.rsm.hwLoadIndPeriodic }}
- {{- else }}
- hwLoadIndPeriodic: true
- {{- end }}
- {{- if hasKey .Values.rsm "absStatusPeriodic" }}
- absStatusPeriodic: {{ .Values.rsm.absStatusPeriodic }}
- {{- else }}
- absStatusPeriodic: true
- {{- end }}
- {{- if hasKey .Values.rsm "rsrpMeasurementPeriodic" }}
- rsrpMeasurementPeriodic: {{ .Values.rsm.rsrpMeasurementPeriodic }}
- {{- else }}
- rsrpMeasurementPeriodic: true
- {{- end }}
- {{- if hasKey .Values.rsm "csiPeriodic" }}
- csiPeriodic: {{ .Values.rsm.csiPeriodic }}
- {{- else }}
- csiPeriodic: true
- {{- end }}
- {{- if hasKey .Values.rsm "periodicityMs" }}
- periodicityMs: {{ .Values.rsm.periodicityMs }}
- {{- else }}
- periodicityMs: 1
- {{- end }}
- {{- if hasKey .Values.rsm "periodicityRsrpMeasurementMs" }}
- periodicityRsrpMeasurementMs: {{ .Values.rsm.periodicityRsrpMeasurementMs }}
- {{- else }}
- periodicityRsrpMeasurementMs: 120
- {{- end }}
- {{- if hasKey .Values.rsm "periodicityCsiMs" }}
- periodicityCsiMs: {{ .Values.rsm.periodicityCsiMs }}
- {{- else }}
- periodicityCsiMs: 5
- {{- end }}
- resourceStatusParams:
- enableResourceStatus: true
- partialSuccessAllowed: true
- prbPeriodic: true
- tnlLoadIndPeriodic: true
- hwLoadIndPeriodic: true
- absStatusPeriodic: true
- rsrpMeasurementPeriodic: true
- csiPeriodic: true
- periodicityMs: 1000
- periodicityRsrpMeasurementMs: 480
- periodicityCsiMs: 20
---
# See the License for the specific language governing permissions and #
# limitations under the License. #
################################################################################
-{{- $imagectx := dict "ctx" . "defaultregistry" .Values.rsm.image.registry }}
+{{- $imagectx := dict "ctx" . "defaultregistry" .Values.rsm.image.main.registry }}
+{{- $initimagectx := dict "ctx" . "defaultregistry" .Values.rsm.image.init.registry }}
{{- $pullpolicyctx := dict "ctx" . "defaultpullpolicy" .Values.rsm.imagePullPolicy }}
apiVersion: apps/v1
kind: Deployment
app: {{ include "common.namespace.platform" . }}-{{ include "common.name.rsm" . }}
release: {{ .Release.Name }}
spec:
+ initContainers:
+ - name: redis-init
+ image: {{ include "common.dockerregistry.url" $initimagectx }}/{{ .Values.rsm.image.init.name }}:{{ .Values.rsm.image.init.tag }}
+ imagePullPolicy: {{ include "common.dockerregistry.pullpolicy" $pullpolicyctx }}
+ command: ['sh', '-c', 'redis-cli -h service-ricplt-dbaas-tcp -p 6379 set "{rsm},CFG:GENERAL:v1.0.0" "{\"enableResourceStatus\":true,\"partialSuccessAllowed\":true,\"prbPeriodic\":true,\"tnlLoadIndPeriodic\":true,\"wwLoadIndPeriodic\":true,\"absStatusPeriodic\":true,\"rsrpMeasurementPeriodic\":true,\"csiPeriodic\":true,\"periodicityMs\":1,\"periodicityRsrpMeasurementMs\":3,\"periodicityCsiMs\":4}" nx']
hostname: {{ include "common.name.rsm" . }}
imagePullSecrets:
- name: {{ include "common.dockerregistry.credential" $imagectx }}
containers:
- name: {{ include "common.containername.rsm" . }}
- image: {{ include "common.dockerregistry.url" $imagectx }}/{{ .Values.rsm.image.name }}:{{ .Values.rsm.image.tag }}
+ image: {{ include "common.dockerregistry.url" $imagectx }}/{{ .Values.rsm.image.main.name }}:{{ .Values.rsm.image.main.tag }}
imagePullPolicy: {{ include "common.dockerregistry.pullpolicy" $pullpolicyctx }}
volumeMounts:
- mountPath: /opt/RSM/router.txt
rsm:
imagePullPolicy: IfNotPresent
image:
- name: ric-plt-resource-status-manager
- tag: 3.0.1
- registry: "nexus3.o-ran-sc.org:10002/o-ran-sc"
+ init:
+ name: redis
+ tag: latest
+ registry: "docker.io"
+ main:
+ name: ric-plt-resource-status-manager
+ tag: 3.0.1
+ registry: "nexus3.o-ran-sc.org:10002/o-ran-sc"
privilegedmode: false
replicaCount: 1
- enableResourceStatus: true
# Service ports are now defined in
# FQDN and port info of the platform components for routing manager to form
# and distribute corresponding routes to them
rtmgrcfg: |
- {
"PlatformComponents":
- [
- {
- "name": "E2TERM",
- "fqdn": "{{ printf "%s.%s" (include "common.servicename.e2term.rmr" .) (include "common.namespace.platform" .) }}",
- "port": {{ include "common.serviceport.e2term.rmr.data" . }}
- },
- {
- "name": "SUBMAN",
- "fqdn": "{{ printf "%s.%s" (include "common.servicename.submgr.rmr" .) (include "common.namespace.platform" .) }}",
- "port": {{ include "common.serviceport.submgr.rmr.data" . }}
- },
- {
- "name": "E2MAN",
- "fqdn": "{{ printf "%s.%s" (include "common.servicename.e2mgr.rmr" .) (include "common.namespace.platform" .) }}",
- "port": {{ include "common.serviceport.e2mgr.rmr.data" . }}
- }
- ]
- }
+ -
+ "name": "E2TERM"
+ "fqdn": "{{ printf "%s.%s" (include "common.servicename.e2term.rmr" .) (include "common.namespace.platform" .) }}"
+ "port": {{ include "common.serviceport.e2term.rmr.data" . }}
+ -
+ "name": "SUBMAN"
+ "fqdn": "{{ printf "%s.%s" (include "common.servicename.submgr.rmr" .) (include "common.namespace.platform" .) }}"
+ "port": {{ include "common.serviceport.submgr.rmr.data" . }}
+ -
+ "name": "E2MAN"
+ "fqdn": "{{ printf "%s.%s" (include "common.servicename.e2mgr.rmr" .) (include "common.namespace.platform" .) }}"
+ "port": {{ include "common.serviceport.e2mgr.rmr.data" . }}
+ -
+ "name": "RSM"
+ "fqdn": "{{ printf "%s.%s" (include "common.servicename.rsm.rmr" .) (include "common.namespace.platform" .) }}"
+ "port": {{ include "common.serviceport.rsm.rmr.data" . }}
+ -
+ "name": "A1MEDIATOR"
+ "fqdn": "{{ printf "%s.%s" (include "common.servicename.a1mediator.rmr" .) (include "common.namespace.platform" .) }}"
+ "port": {{ include "common.serviceport.a1mediator.rmr.data" . }}
+
+ "XMURL":
+ "http://{{ include "common.servicename.appmgr.http" . }}:{{ include "common.serviceport.appmgr.http" . }}/ric/v1/xapps"
+ "RTFILE":
+ "/db/rt.json"
+ "CFGFILE":
+ "/cfg/rtmgr-config.yaml"
+ "RPE":
+ "{{ .Values.rtmgr.rpe }}"
+ "SBI":
+ "{{ .Values.rtmgr.sbi }}"
+ "SBIURL":
+ "{{ .Values.rtmgr.sbiurl }}"
+ "NBI":
+ "{{ .Values.rtmgr.nbi }}"
+ "NBIURL":
+ "http://{{ include "common.servicename.rtmgr.http" . }}:{{ include "common.serviceport.rtmgr.http" . }}"
+ "SDL":
+ "file"
+ "local":
+ "host": ":8080"
+ "logger":
+ "level": 4
+ "rmr":
+ "protPort": "tcp:4560"
+ "maxSize": 2072
+ "numWorkers": 1
+ "PlatformRoutes": [
+ { 'messagetype': 'RIC_SUB_REQ', 'senderendpoint': 'SUBMAN', 'subscriptionid': -1, 'endpoint': '', 'meid': '%meid'},
+ { 'messagetype': 'RIC_SUB_DEL_REQ', 'senderendpoint': 'SUBMAN', 'subscriptionid': -1,'endpoint': '', 'meid': '%meid'},
+ { 'messagetype': 'RIC_SUB_RESP', 'senderendpoint': '', 'subscriptionid': -1, 'endpoint': 'SUBMAN', 'meid': ''},
+ { 'messagetype': 'RIC_SUB_DEL_RESP', 'senderendpoint': '', 'subscriptionid': -1, 'endpoint': 'SUBMAN', 'meid': ''},
+ { 'messagetype': 'RIC_SUB_FAILURE', 'senderendpoint': '', 'subscriptionid': -1, 'endpoint': 'SUBMAN', 'meid': ''},
+ { 'messagetype': 'RIC_SUB_DEL_FAILURE', 'senderendpoint': '', 'subscriptionid': -1, 'endpoint': 'SUBMAN', 'meid': ''},
+ { 'messagetype': 'RIC_X2_SETUP_REQ', 'senderendpoint': 'E2MAN', 'subscriptionid': -1, 'endpoint': '', 'meid': '%meid'},
+ { 'messagetype': 'RIC_X2_RESET', 'senderendpoint': 'E2MAN', 'subscriptionid': -1, 'endpoint': '', 'meid': '%meid'},
+ { 'messagetype': 'RIC_X2_RESET_RESP', 'senderendpoint': 'E2MAN', 'subscriptionid': -1, 'endpoint': '', 'meid': '%meid'},
+ { 'messagetype': 'RIC_ENDC_X2_SETUP_REQ', 'senderendpoint': 'E2MAN', 'subscriptionid': -1, 'endpoint': '', 'meid': '%meid'},
+ { 'messagetype': 'RIC_ENB_CONF_UPDATE_ACK', 'senderendpoint': 'E2MAN', 'subscriptionid': -1, 'endpoint': '', 'meid': '%meid'},
+ { 'messagetype': 'RIC_ENB_CONF_UPDATE_FAILURE', 'senderendpoint': 'E2MAN', 'subscriptionid': -1, 'endpoint': '', 'meid': '%meid'},
+ { 'messagetype': 'RIC_ENDC_CONF_UPDATE_ACK', 'senderendpoint': 'E2MAN', 'subscriptionid': -1, 'endpoint': '', 'meid': '%meid'},
+ { 'messagetype': 'RIC_ENDC_CONF_UPDATE_FAILURE', 'senderendpoint': 'E2MAN', 'subscriptionid': -1, 'endpoint': '', 'meid': '%meid'},
+ { 'messagetype': 'E2_TERM_INIT', 'senderendpoint': '', 'subscriptionid': -1, 'endpoint': 'E2MAN', 'meid': ''},
+ { 'messagetype': 'RIC_X2_SETUP_RESP', 'senderendpoint': '', 'subscriptionid': -1, 'endpoint': 'E2MAN', 'meid': ''},
+ { 'messagetype': 'RIC_X2_SETUP_FAILURE', 'senderendpoint': '', 'subscriptionid': -1, 'endpoint': 'E2MAN', 'meid': ''},
+ { 'messagetype': 'RIC_X2_RESET', 'senderendpoint': '', 'subscriptionid': -1, 'endpoint': 'E2MAN', 'meid': ''},
+ { 'messagetype': 'RIC_X2_RESET_RESP', 'senderendpoint': '', 'subscriptionid': -1, 'endpoint': 'E2MAN', 'meid': ''},
+ { 'messagetype': 'RIC_ENDC_X2_SETUP_RESP', 'senderendpoint': '', 'subscriptionid': -1, 'endpoint': 'E2MAN', 'meid': ''},
+ { 'messagetype': 'RIC_ENDC_X2_SETUP_FAILURE', 'senderendpoint': '', 'subscriptionid': -1, 'endpoint': 'E2MAN', 'meid': ''},
+ { 'messagetype': 'RIC_ENDC_CONF_UPDATE', 'senderendpoint': '', 'subscriptionid': -1, 'endpoint': 'E2MAN', 'meid': ''},
+ { 'messagetype': 'RIC_SCTP_CONNECTION_FAILURE', 'senderendpoint': '', 'subscriptionid': -1, 'endpoint': 'E2MAN', 'meid': ''},
+ { 'messagetype': 'RIC_ERROR_INDICATION', 'senderendpoint': '', 'subscriptionid': -1, 'endpoint': 'E2MAN', 'meid': ''},
+ { 'messagetype': 'RIC_ENB_CONF_UPDATE', 'senderendpoint': '', 'subscriptionid': -1, 'endpoint': 'E2MAN', 'meid': ''},
+ { 'messagetype': 'RIC_ENB_LOAD_INFORMATION', 'senderendpoint': '', 'subscriptionid': -1, 'endpoint': 'E2MAN', 'meid': ''},
+ { 'messagetype': 'E2_TERM_KEEP_ALIVE_RESP', 'senderendpoint': '', 'subscriptionid': -1, 'endpoint': 'E2MAN', 'meid': ''},
+ { 'messagetype': 'RAN_CONNECTED', 'senderendpoint': 'E2MAN', 'subscriptionid': -1, 'endpoint': 'RSM', 'meid': ''},
+ { 'messagetype': 'RAN_RESTARTED', 'senderendpoint': 'E2MAN', 'subscriptionid': -1, 'endpoint': 'RSM', 'meid': ''},
+ { 'messagetype': 'RAN_RECONFIGURED', 'senderendpoint': 'E2MAN', 'subscriptionid': -1, 'endpoint': 'RSM', 'meid': ''},
+ { 'messagetype': 'RIC_RES_STATUS_REQ', 'senderendpoint': 'RSM', 'subscriptionid': -1, 'endpoint': '', 'meid': '%meid'},
+ { 'messagetype': 'RIC_RES_STATUS_RESP', 'senderendpoint': '', 'subscriptionid': -1, 'endpoint': 'RSM', 'meid': ''},
+ { 'messagetype': 'RIC_RES_STATUS_FAILURE', 'senderendpoint': '', 'subscriptionid': -1, 'endpoint': 'RSM', 'meid': ''},
+ { 'messagetype': 'A1_POLICY_QUERY', 'senderendpoint': '', 'subscriptionid': -1, 'endpoint': 'A1MEDIATOR', 'meid': ''},
+ { 'messagetype': 'A1_POLICY_RESP', 'senderendpoint': '', 'subscriptionid': -1, 'endpoint': 'A1MEDIATOR', 'meid': ''},
+ ]
name: {{ include "common.configmapname.rtmgr" . }}-rtmgrcfg
items:
- key: rtmgrcfg
- path: rtmgr-config.json
+ path: rtmgr-config.yaml
mode: 0644
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.rtmgr.rmr.route" . | quote }}
+ CFGFILE: "/cfg/rtmgr-config.yaml"
+ #RMR_SEED_RT: "/uta_rtg_ric.rt"
+ #RMR_SRC_ID: "service-ricplt-rtmgr-rmr.ricplt"
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 }}"
- SBI: "{{ .Values.rtmgr.sbi }}"
- SBIURL: "{{ .Values.rtmgr.sbiurl }}"
- NBI: "{{ .Values.rtmgr.nbi }}"
- NBIURL: "http://{{ include "common.servicename.rtmgr.http" . }}:{{ include "common.serviceport.rtmgr.http" . }}"
- LOGLEVEL: "{{ .Values.rtmgr.loglevel }}"
sbiurl: 0.0.0.0
nbi: httpRESTful
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.