Add HTTPS as new protocol to collect files from xNFs
[dcaegen2.git] / docs / sections / services / dfc / architecture.rst
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 """"""""""""
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`_.
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
16     2. Collects the files from the xNF
17     3. Sends the collected files and files' data to DataRouter.
18
19
20 DFC is delivered as one **Docker container** which hosts application server.
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 """""""""""
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 http (with basic authentication), https, sftp and ftpes.
34 When https protocol is used, the following ways of connection are possible: client certificate authentication, basic
35 authentication, and no authentication.
36
37 Retry mechanism
38 """""""""""""""
39 DFC is designed to retry downloading and publishing of files in order to recover from temporary faults.
40 Each time an event is received, DFC will try to download it and publish each previously unpublished file in the event.
41 The event is received from the Message Router (MR), the files are fetched from a PNF and are published to Data Router
42 (DR).
43 Both fetching of a file and publishing is retried a number of times with an increasing delay between each attempt.
44 After a number of attempts, the DFC will log an error message and give up. Failing of processing of one file does not
45 affect the handling of others.
46
47 Generalized  DFC
48 """"""""""""""""
49 From version 1.2.1 and onwards, the DFC has more general use. Instead of only handling PM files, any kind of files
50 are handled. The 'changeIdentifier' field in the FileReady VES event (which is reported from the PNFs) identifies the 
51 file type. This is mapped to a publishing stream in the DR.