Merge "[RICPLT-2526] KeepAlive configuration changes"
diff --git a/ric-platform/50-RIC-Platform/helm/a1mediator/Chart.yaml b/ric-platform/50-RIC-Platform/helm/a1mediator/Chart.yaml
index be6cc65..28d5951 100644
--- a/ric-platform/50-RIC-Platform/helm/a1mediator/Chart.yaml
+++ b/ric-platform/50-RIC-Platform/helm/a1mediator/Chart.yaml
@@ -1,4 +1,4 @@
apiVersion: v1
description: A1 Helm chart for Kubernetes
name: a1mediator
-version: 1.0.0
+version: 2.0.0
diff --git a/ric-platform/50-RIC-Platform/helm/a1mediator/resources/ricmanifest.json b/ric-platform/50-RIC-Platform/helm/a1mediator/resources/ricmanifest.json
deleted file mode 100644
index 98706fe..0000000
--- a/ric-platform/50-RIC-Platform/helm/a1mediator/resources/ricmanifest.json
+++ /dev/null
@@ -1,69 +0,0 @@
-{
- "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
- }
- }
- ]
-}
diff --git a/ric-platform/50-RIC-Platform/helm/a1mediator/resources/rmr_string_int_mapping.txt b/ric-platform/50-RIC-Platform/helm/a1mediator/resources/rmr_string_int_mapping.txt
deleted file mode 100644
index 7d4839d..0000000
--- a/ric-platform/50-RIC-Platform/helm/a1mediator/resources/rmr_string_int_mapping.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-DC_ADM_INT_CONTROL:20000
-DC_ADM_INT_CONTROL_ACK:20001
-DC_ADM_GET_POLICY: 20002
-DC_ADM_GET_POLICY_ACK: 20003
-
diff --git a/ric-platform/50-RIC-Platform/helm/a1mediator/templates/config.yaml b/ric-platform/50-RIC-Platform/helm/a1mediator/templates/config.yaml
index 8830427..97a07b3 100644
--- a/ric-platform/50-RIC-Platform/helm/a1mediator/templates/config.yaml
+++ b/ric-platform/50-RIC-Platform/helm/a1mediator/templates/config.yaml
@@ -23,23 +23,12 @@
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 }}
diff --git a/ric-platform/50-RIC-Platform/helm/a1mediator/templates/deployment.yaml b/ric-platform/50-RIC-Platform/helm/a1mediator/templates/deployment.yaml
index 1d2a49d..4430483 100644
--- a/ric-platform/50-RIC-Platform/helm/a1mediator/templates/deployment.yaml
+++ b/ric-platform/50-RIC-Platform/helm/a1mediator/templates/deployment.yaml
@@ -49,12 +49,6 @@
- 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
envFrom:
diff --git a/ric-platform/50-RIC-Platform/helm/a1mediator/templates/env.yaml b/ric-platform/50-RIC-Platform/helm/a1mediator/templates/env.yaml
index 3141b1e..e60850a 100644
--- a/ric-platform/50-RIC-Platform/helm/a1mediator/templates/env.yaml
+++ b/ric-platform/50-RIC-Platform/helm/a1mediator/templates/env.yaml
@@ -22,9 +22,12 @@
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 }}"
diff --git a/ric-platform/50-RIC-Platform/helm/a1mediator/templates/service-http.yaml b/ric-platform/50-RIC-Platform/helm/a1mediator/templates/service-http.yaml
index 1aeab75..1c0e679 100644
--- a/ric-platform/50-RIC-Platform/helm/a1mediator/templates/service-http.yaml
+++ b/ric-platform/50-RIC-Platform/helm/a1mediator/templates/service-http.yaml
@@ -35,4 +35,3 @@
selector:
app: {{ include "common.namespace.platform" . }}-{{ include "common.name.a1mediator" . }}
release: {{ .Release.Name }}
-
diff --git a/ric-platform/50-RIC-Platform/helm/a1mediator/values.yaml b/ric-platform/50-RIC-Platform/helm/a1mediator/values.yaml
index 8a58108..72298b5 100644
--- a/ric-platform/50-RIC-Platform/helm/a1mediator/values.yaml
+++ b/ric-platform/50-RIC-Platform/helm/a1mediator/values.yaml
@@ -29,7 +29,7 @@
image:
name: ric-plt-a1
- tag: 0.10.3
+ tag: 2.0.0
# Service ports are now defined in
# ric-common/Common-Template/helm/ric-common/templates/_ports.tpl file.
@@ -38,5 +38,6 @@
# 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
diff --git a/ric-platform/50-RIC-Platform/helm/rsm/templates/deployment.yaml b/ric-platform/50-RIC-Platform/helm/rsm/templates/deployment.yaml
index 4900539..28c836f 100755
--- a/ric-platform/50-RIC-Platform/helm/rsm/templates/deployment.yaml
+++ b/ric-platform/50-RIC-Platform/helm/rsm/templates/deployment.yaml
@@ -40,6 +40,12 @@
app: {{ include "common.namespace.platform" . }}-{{ include "common.name.rsm" . }}
release: {{ .Release.Name }}
spec:
+ initContainers:
+ - name: redis-init
+ image: "redis"
+ imagePullPolicy: IfNotPresent
+ 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.repositoryCred" . }}
diff --git a/ric-platform/50-RIC-Platform/helm/rtmgr/templates/config.yaml b/ric-platform/50-RIC-Platform/helm/rtmgr/templates/config.yaml
index 997ae4f..f45dc98 100644
--- a/ric-platform/50-RIC-Platform/helm/rtmgr/templates/config.yaml
+++ b/ric-platform/50-RIC-Platform/helm/rtmgr/templates/config.yaml
@@ -28,29 +28,51 @@
# 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": "RSM",
- "fqdn": "{{ printf "%s.%s" (include "common.servicename.rsm.rmr" .) (include "common.namespace.platform" .) }}",
- "port": {{ include "common.serviceport.rsm.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
diff --git a/ric-platform/50-RIC-Platform/helm/rtmgr/templates/deployment.yaml b/ric-platform/50-RIC-Platform/helm/rtmgr/templates/deployment.yaml
index ee0878e..b5db46c 100644
--- a/ric-platform/50-RIC-Platform/helm/rtmgr/templates/deployment.yaml
+++ b/ric-platform/50-RIC-Platform/helm/rtmgr/templates/deployment.yaml
@@ -71,5 +71,5 @@
name: {{ include "common.configmapname.rtmgr" . }}-rtmgrcfg
items:
- key: rtmgrcfg
- path: rtmgr-config.json
+ path: rtmgr-config.yaml
mode: 0644
diff --git a/ric-platform/50-RIC-Platform/helm/rtmgr/templates/env.yaml b/ric-platform/50-RIC-Platform/helm/rtmgr/templates/env.yaml
index 2fb3115..564529b 100644
--- a/ric-platform/50-RIC-Platform/helm/rtmgr/templates/env.yaml
+++ b/ric-platform/50-RIC-Platform/helm/rtmgr/templates/env.yaml
@@ -24,12 +24,7 @@
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 }}"
diff --git a/ric-platform/50-RIC-Platform/helm/rtmgr/values.yaml b/ric-platform/50-RIC-Platform/helm/rtmgr/values.yaml
index 1b989b0..d32f718 100644
--- a/ric-platform/50-RIC-Platform/helm/rtmgr/values.yaml
+++ b/ric-platform/50-RIC-Platform/helm/rtmgr/values.yaml
@@ -44,7 +44,6 @@
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.