Chengkai Yan | 7f278e3 | 2018-11-06 16:32:03 +0100 | [diff] [blame] | 1 | .. This work is licensed under a Creative Commons Attribution 4.0 International License. |
| 2 | .. http://creativecommons.org/licenses/by/4.0 |
| 3 | |
| 4 | Architecture |
| 5 | ============ |
| 6 | |
| 7 | Introduction |
| 8 | """""""""""" |
maximesson | c762eb1 | 2019-04-04 14:43:43 +0000 | [diff] [blame] | 9 | DataFile Collector (DFC) is a part of DCAEGEN2. Some information about DFC and the reasons of its implementation can be |
| 10 | found here: `5G bulk PM wiki page`_. |
Chengkai Yan | 7f278e3 | 2018-11-06 16:32:03 +0100 | [diff] [blame] | 11 | |
| 12 | .. _5G bulk PM wiki page: https://wiki.onap.org/display/DW/5G+-+Bulk+PM |
| 13 | |
| 14 | DFC will handle the collection of bulk PM data flow: |
| 15 | 1. Subscribes to fileReady DMaaP topic |
maximesson | 4ad6838 | 2019-06-05 17:51:29 +0200 | [diff] [blame] | 16 | 2. Collects the files from the xNF |
| 17 | 3. Sends the collected files and files' data to DataRouter. |
Chengkai Yan | 7f278e3 | 2018-11-06 16:32:03 +0100 | [diff] [blame] | 18 | |
| 19 | |
maximesson | e707b22 | 2019-05-09 14:27:34 +0000 | [diff] [blame] | 20 | DFC is delivered as one **Docker container** which hosts application server. |
Chengkai Yan | 7f278e3 | 2018-11-06 16:32:03 +0100 | [diff] [blame] | 21 | See `Delivery`_ for more information about the docker container. |
| 22 | |
| 23 | .. _Delivery: ./delivery.html |
| 24 | |
| 25 | Functionality |
| 26 | """"""""""""" |
| 27 | .. image:: ../../images/DFC.png |
| 28 | |
| 29 | Interaction |
| 30 | """"""""""" |
maximesson | e707b22 | 2019-05-09 14:27:34 +0000 | [diff] [blame] | 31 | DFC will interact with the DMaaP Message Router, using json, and with the Data Router, using metadata in the header and |
| 32 | file in the body, via secured protocol. |
| 33 | So far, the implemented protocols to communicate with xNFs are sftp and ftp(e)s. |
maximesson | c762eb1 | 2019-04-04 14:43:43 +0000 | [diff] [blame] | 34 | |
| 35 | Retry mechanism |
| 36 | """"""""""""""" |
| 37 | DFC is designed to retry downloading and publishing of files in order to recover from temporary faults. |
maximesson | e707b22 | 2019-05-09 14:27:34 +0000 | [diff] [blame] | 38 | Each time an event is received, DFC will try to download it and publish each previously unpublished file in the event. |
maximesson | c762eb1 | 2019-04-04 14:43:43 +0000 | [diff] [blame] | 39 | The event is received from the Message Router (MR), the files are fetched from a PNF and are published to Data Router |
| 40 | (DR). |
| 41 | Both fetching of a file and publishing is retried a number of times with an increasing delay between each attempt. |
| 42 | After a number of attempts, the DFC will log an error message and give up. Failing of processing of one file does not |
maximesson | 26d51b6 | 2019-07-23 09:40:54 +0000 | [diff] [blame^] | 43 | affect the handling of others. |
| 44 | |
| 45 | Generalized DFC |
| 46 | """""""""""""""" |
| 47 | From version 1.2.1 and onwards, the DFC has more general use. Instead of only managing PM files, any kind of files |
| 48 | are handled. The 'changeIdentifier' parameter in the file ready VES event (which is reported from the PNFs) is used |
| 49 | to define the file type of file to be handled. |