summaryrefslogtreecommitdiffstats
path: root/docs/sections/services/ves-http/architecture.rst
blob: 30145509b4e4e270022c1ac5765fc94bb2cdc742 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
.. This work is licensed under a Creative Commons Attribution 4.0 International License.
.. http://creativecommons.org/licenses/by/4.0

VES Architecture
================

.. image:: ./ves-deployarch.png

VES Processing Flow
-------------------

1) Collector supports different URI based on single or batch event to be received
2) Post authentication – events are validated for schema. At this point – appropriate return code is sent to client (success/failure)
3) Event Processor check against transformation rules (if enabled) and handles VES output standardization (e.g. VES 7.x input to VES5.4 output)
4) Based on domain, events are distributed to configurable topics
5) Post to outbound topic(s). If DMaaP publish is unsuccessful, messages will be queued per topic within VESCollector

Note: As the collector is deployed as micro-service, all configuration parameters (including DMaaP topics) are passed to the collector dynamically. VEScollector refreshes the configuration from CBS every 5 minutes

.. image:: ./VES-processingFlow.png


VES Schema Validation
---------------------

VES Collector is configured to support below VES Version; the corresponding API uses VES schema definition for event validation.

===========     ================    ==================================
VES Version     API version         Schema Definition
===========     ================    ==================================
VES 1.2         eventListener/v1    `CommonEventFormat_Vendors_v25.json <https://git.onap.org/dcaegen2/collectors/ves/tree/etc/CommonEventFormat_Vendors_v25.json>`_  
VES 4.1         eventListener/v4    `CommonEventFormat_27.2.json <https://git.onap.org/dcaegen2/collectors/ves/tree/etc/CommonEventFormat_27.2.json>`_
VES 5.4         eventListener/v5    `CommonEventFormat_28.4.1.json <https://git.onap.org/dcaegen2/collectors/ves/tree/etc/CommonEventFormat_28.4.1.json>`_
VES 7.1.1       eventListener/v7    `CommonEventFormat_30.1.1.json <https://git.onap.org/vnfrqts/requirements/tree/docs/Chapter8/CommonEventFormat_30.1.1_ONAP.json>`_
===========     ================    ==================================
 


Features Supported
------------------
- VES collector deployed as docker containers
- Acknowledgement to sender with appropriate response code  (both successful and failure)
- Authentication of the events posted to collector (support 2 types of authentication setting)
- Support single or batch JSON events input
- Schema validation (against standard VES definition)
- Multiple schema support and backward compatibility 
- Configurable event transformation
- Configurable suppression 
- Publish events into Dmaap Topic (with/without AAF)

The collector can receive events via standard HTTP port (8080) or secure port (8443).  Depending on the install/configuration – either one or both can be supported (ports are also modifiable).


Dynamic configuration fed into Collector via DCAEPlatform
---------------------------------------------------------

- Outbound Dmaap/UEB topic 
- Schema version to be validated against
- Authentication account for VNF

POST requests result in standard HTTP status codes:

- 200-299  Success
- 400-499  Client request has a problem (data error)
- 500-599  Collector service has a problem