clean up some sphinx warnings
[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.rst
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, https, sftp and ftpes.
34 When HTTP protocol protocol is used, following ways of authentication are supported: basic authentication and bearer token
35 (e.g. JWT) authentication.
36 When HTTPS protocol protocol is used, following ways of authentication are supported: client certificate authentication,
37 basic authentication, bearer token (e.g. JWT) authentication and no authentication.
38
39 Retry mechanism
40 """""""""""""""
41 DFC is designed to retry downloading and publishing of files in order to recover from temporary faults.
42 Each time an event is received, DFC will try to download it and publish each previously unpublished file in the event.
43 The event is received from the Message Router (MR), the files are fetched from a PNF and are published to Data Router
44 (DR).
45 Both fetching of a file and publishing is retried a number of times with an increasing delay between each attempt.
46 After a number of attempts, the DFC will log an error message and give up. Failing of processing of one file does not
47 affect the handling of others.
48
49 Generalized  DFC
50 """"""""""""""""
51 From version 1.2.1 and onwards, the DFC has more general use. Instead of only handling PM files, any kind of files
52 are handled. The 'changeIdentifier' field in the FileReady VES event (which is reported from the PNFs) identifies the
53 file type. This is mapped to a publishing stream in the DR.