Merge "[RICPLT-2526] KeepAlive configuration changes"
authorLusheng Ji <lji@research.att.com>
Fri, 20 Dec 2019 04:07:40 +0000 (04:07 +0000)
committerGerrit Code Review <gerrit@o-ran-sc.org>
Fri, 20 Dec 2019 04:07:40 +0000 (04:07 +0000)
13 files changed:
ric-platform/50-RIC-Platform/helm/a1mediator/Chart.yaml
ric-platform/50-RIC-Platform/helm/a1mediator/resources/ricmanifest.json [deleted file]
ric-platform/50-RIC-Platform/helm/a1mediator/resources/rmr_string_int_mapping.txt [deleted file]
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/service-http.yaml
ric-platform/50-RIC-Platform/helm/a1mediator/values.yaml
ric-platform/50-RIC-Platform/helm/rsm/templates/deployment.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/values.yaml

index be6cc65..28d5951 100644 (file)
@@ -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 (file)
index 98706fe..0000000
+++ /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 (file)
index 7d4839d..0000000
+++ /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
-
index 8830427..97a07b3 100644 (file)
@@ -23,23 +23,12 @@ metadata:
 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 }}
index 1d2a49d..4430483 100644 (file)
@@ -48,12 +48,6 @@ spec:
       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
index 3141b1e..e60850a 100644 (file)
@@ -22,9 +22,12 @@ 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 }} 
+  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 }}"
index 1aeab75..1c0e679 100644 (file)
@@ -35,4 +35,3 @@ spec:
   selector:
     app: {{ include "common.namespace.platform" . }}-{{ include "common.name.a1mediator" . }}
     release: {{ .Release.Name }}
-
index 8a58108..72298b5 100644 (file)
@@ -29,7 +29,7 @@ a1mediator:
 
   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 @@ a1mediator:
 
 # 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
index 4900539..28c836f 100755 (executable)
@@ -40,6 +40,12 @@ spec:
         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" . }}
index 997ae4f..f45dc98 100644 (file)
@@ -28,29 +28,51 @@ data:
   # 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
index ee0878e..b5db46c 100644 (file)
@@ -71,5 +71,5 @@ spec:
             name: {{ include "common.configmapname.rtmgr" . }}-rtmgrcfg
             items:
               - key: rtmgrcfg
-                path: rtmgr-config.json
+                path: rtmgr-config.yaml
                 mode: 0644
index 2fb3115..564529b 100644 (file)
@@ -24,12 +24,7 @@ data:
    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 }}"
index 1b989b0..d32f718 100644 (file)
@@ -44,7 +44,6 @@ rtmgr:
   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.