blob: 00d9ea421d62f632a77178d854f3c1dce559b62f [file] [log] [blame]
PatrikBuhr32de6c42023-04-20 06:42:23 +02001.. This work is licensed under a Creative Commons Attribution 4.0 International License.
2.. SPDX-License-Identifier: CC-BY-4.0
3.. Copyright (C) 2023 Nordix
4
5
6Data File Collector
7~~~~~~~~~~~~~~~~~~~
8
9************
10Introduction
11************
12
JohnKeeneyff7ea9d2023-04-25 19:32:40 +010013The task of the Data File Collector is to collect OAM data files from RAN traffic-handling nodes.
PatrikBuhr1dd66022023-05-08 10:02:42 +020014The main use case is (see also the picture below)):
PatrikBuhr32de6c42023-04-20 06:42:23 +020015
PatrikBuhr1dd66022023-05-08 10:02:42 +020016* (1) The DFC receives a "File Ready" VES event from a Kafka topic. This contains a list of all available files.
17* (2) The DFC fetches files that are not already fetched from the relevant RAN traffic-handling nodes. This is done using one of the supported file transfer protocols.
18* (3) Each file is stored in an S3 Object Store bucket or in the file system (in a persistent volume).
19* (4) For each stored file, a "File Publish" message is sent to a Kafka topic for further processing.
20* (5) The "File Publish" message can be subscribed by other components, which can then read the fetched file and process it further.
21
22.. image:: ./Architecture.png
23 :width: 1000pt
PatrikBuhr32de6c42023-04-20 06:42:23 +020024
25Supported file transfer protocols are:
26
27* SFTP
PatrikBuhr32de6c42023-04-20 06:42:23 +020028* FTPES
PatrikBuhr32de6c42023-04-20 06:42:23 +020029* HTTP
PatrikBuhr32de6c42023-04-20 06:42:23 +020030* HTTPS
31
PatrikBuhr32de6c42023-04-20 06:42:23 +020032The service is implemented in Java Spring Boot.
33
PatrikBuhr32de6c42023-04-20 06:42:23 +020034This product is a part of :doc:`NONRTRIC <nonrtric:index>`.
35
36**************************
37Input File Ready VES Event
38**************************
39
40Here follows an example of the expected input object:
41
42.. code-block:: javascript
43
44 {
45 "event":{
46 "commonEventHeader":{
47 "sequence":0,
48 "eventName":"Noti_RnNode-Ericsson_FileReady",
49 "sourceName":"5GRAN_DU",
50 "lastEpochMicrosec":151983,
51 "startEpochMicrosec":15198378,
52 "timeZoneOffset":"UTC+05:00",
53 "changeIdentifier":"PM_MEAS_FILES"
54 },
55 "notificationFields":{
56 "notificationFieldsVersion":"notificationFieldsVersion",
57 "changeType":"FileReady",
58 "changeIdentifier":"PM_MEAS_FILES",
59 "arrayOfNamedHashMap":[
60 {
61 "name":"A20220418.1900-1915_seliitdus00487.xml",
62 "hashMap":{
63 "fileFormatType":"org.3GPP.32.435#measCollec",
JohnKeeneyff7ea9d2023-04-25 19:32:40 +010064 "location":"https://gnb1.myran.org/pmfiles/",
PatrikBuhr32de6c42023-04-20 06:42:23 +020065 "fileFormatVersion":"V10",
66 "compression":"gzip"
67 }
68 }
69 ]
70 }
71 }
72 }
73
74
75***************************
76Output File Publish Message
77***************************
78
79
PatrikBuhr28bb3da2023-05-16 08:56:41 +020080Below follows an example of an output File Publish Message.
PatrikBuhr32de6c42023-04-20 06:42:23 +020081
82.. code-block:: javascript
83
84 {
85 "productName":"RnNode",
86 "vendorName":"Ericsson",
87 "lastEpochMicrosec":151983,
88 "sourceName":"5GRAN_DU",
89 "startEpochMicrosec":15198378,
90 "timeZoneOffset":"UTC+05:00",
91 "compression":"gzip",
92 "fileFormatType":"org.3GPP.32.435#measCollec",
93 "fileFormatVersion":"V10",
94 "name":"5GRAN_DU/A20220418.1900-1915_seliitdus00487.xml",
95 "changeIdentifier":"PM_MEAS_FILES",
96 "objectStoreBucket":"ropfiles"
97 }
98
99
100*************
101Configuration
102*************
103
104The DFC is configured via its application.yaml
105
106
107An example application.yaml configuration file: ":download:`link <../config/application.yaml>`"
108
109
110
111