blob: 24e27e8de9ae85a37ceaf35fe993e6ede7e0458c [file] [log] [blame]
Vijay VK86cd8932018-10-23 16:35:29 +01001.. This work is licensed under a Creative Commons Attribution 4.0 International License.
2.. http://creativecommons.org/licenses/by/4.0
VENKATESH KUMAR7f3e4532020-11-18 16:30:36 -05003.. _ves-architecture:
Vijay VK86cd8932018-10-23 16:35:29 +01004
5VES Architecture
Vijay VK6b0fa462019-05-20 16:06:11 +01006================
Vijay VK86cd8932018-10-23 16:35:29 +01007
8.. image:: ./ves-deployarch.png
9
10VES Processing Flow
Vijay VKedaf8b12019-05-23 22:02:50 +010011-------------------
Vijay VK86cd8932018-10-23 16:35:29 +010012
Michal Banka9a7a9312020-08-24 11:01:56 +0200131. Collector supports different URI based on single or batch event to be received.
142. Post authentication events are validated against schema. At this point appropriate return code is sent to client when validation fails.
153. Event Processor checks against transformation rules (if enabled) and handles VES output standardization (e.g. VES 7.x input to VES5.4 output).
164. Optional (activated by flag *collector.externalSchema.checkflag*) post authentication of stndDefined fields specific fields are validated against schema. At this point appropriate return code is sent to client when validation fails.
175. If no problems were detected during previous steps, success HTTP code is being returned.
186. Based on domain (or stndDefinedNamespace), events are asynchronously distributed to configurable topics.
19 1. If topic mapping does not exist, event distribution is skipped.
20 2. Post to outbound topic(s).
21 3. If DMaaP publish is unsuccessful, messages will be queued per topic within VESCollector.
VENKATESH KUMAR7cfaea22020-04-22 17:31:32 -040022
23Note: 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
24
Michal Banka9a7a9312020-08-24 11:01:56 +020025.. image:: ./ves-processing-flow.png
26.. This image has been created using online editor https://app.diagrams.net/ and can be easily edited there.
27 Editable file version of this image is located in docs/sections/services/ves-http/ves-processing-flow.drawio
28 and might be imported into editor.
Vijay VK86cd8932018-10-23 16:35:29 +010029
30VES Schema Validation
Vijay VKedaf8b12019-05-23 22:02:50 +010031---------------------
Vijay VK86cd8932018-10-23 16:35:29 +010032
33VES Collector is configured to support below VES Version; the corresponding API uses VES schema definition for event validation.
34
Vijay VKf6659fc2018-11-02 05:07:27 +010035=========== ================ ==================================
36VES Version API version Schema Definition
37=========== ================ ==================================
Michal Banka9a7a9312020-08-24 11:01:56 +020038VES 1.2 eventListener/v1 `CommonEventFormat_Vendors_v25.json <https://git.onap.org/dcaegen2/collectors/ves/tree/etc/CommonEventFormat_Vendors_v25.json>`_
VENKATESH KUMAR7cfaea22020-04-22 17:31:32 -040039VES 4.1 eventListener/v4 `CommonEventFormat_27.2.json <https://git.onap.org/dcaegen2/collectors/ves/tree/etc/CommonEventFormat_27.2.json>`_
40VES 5.4 eventListener/v5 `CommonEventFormat_28.4.1.json <https://git.onap.org/dcaegen2/collectors/ves/tree/etc/CommonEventFormat_28.4.1.json>`_
Michal Banka9a7a9312020-08-24 11:01:56 +020041VES 7.2 eventListener/v7 `CommonEventFormat_30.2_ONAP.json <https://git.onap.org/dcaegen2/collectors/ves/tree/etc/CommonEventFormat_30.2_ONAP.json>`_
Vijay VKf6659fc2018-11-02 05:07:27 +010042=========== ================ ==================================
Vijay VK86cd8932018-10-23 16:35:29 +010043
44Features Supported
Vijay VKedaf8b12019-05-23 22:02:50 +010045------------------
Michal Banka9a7a9312020-08-24 11:01:56 +020046
Vijay VK86cd8932018-10-23 16:35:29 +010047- VES collector deployed as docker containers
Vijay VK6b0fa462019-05-20 16:06:11 +010048- Acknowledgement to sender with appropriate response code (both successful and failure)
pawel014baca2019-11-07 11:15:00 +010049- Authentication of the events posted to collector (support 2 types of authentication setting)
Vijay VK86cd8932018-10-23 16:35:29 +010050- Support single or batch JSON events input
Michal Banka9a7a9312020-08-24 11:01:56 +020051- General schema validation (against standard VES definition)
52- StndDefined fields schema validation
53- Mapping of external schemas to local schema files during stndDefined validation
Vijay VK86cd8932018-10-23 16:35:29 +010054- Multiple schema support and backward compatibility
55- Configurable event transformation
56- Configurable suppression
57- Publish events into Dmaap Topic (with/without AAF)
58
59The 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).
60
Vijay VK86cd8932018-10-23 16:35:29 +010061Dynamic configuration fed into Collector via DCAEPlatform
Vijay VKedaf8b12019-05-23 22:02:50 +010062---------------------------------------------------------
Vijay VK86cd8932018-10-23 16:35:29 +010063
64- Outbound Dmaap/UEB topic
65- Schema version to be validated against
66- Authentication account for VNF
67
68POST requests result in standard HTTP status codes:
69
VENKATESH KUMAR7cfaea22020-04-22 17:31:32 -040070- 200-299 Success
71- 400-499 Client request has a problem (data error)
72- 500-599 Collector service has a problem
Vijay VK86cd8932018-10-23 16:35:29 +010073
74