Krzysztof Kuzmicki | e965f3a | 2021-05-13 16:28:45 +0200 | [diff] [blame] | 1 | .. This work is licensed under a Creative Commons Attribution 4.0 |
| 2 | International License. http://creativecommons.org/licenses/by/4.0 |
| 3 | |
| 4 | .. _docs_StndDefined_Events_Collection_Mechanism: |
| 5 | |
| 6 | :orphan: |
| 7 | |
| 8 | VES Collector - Standard Defined Events Collection Mechanism |
| 9 | ------------------------------------------------------------ |
| 10 | |
| 11 | Description |
| 12 | ~~~~~~~~~~~ |
| 13 | |
| 14 | The target of standard defined events collection mechanism development was to allow collection of events defined by standards organizations using VES Collector, |
| 15 | and providing them for consumption by analytics applications running on top of DCAE platform. The following features have been implemented: |
| 16 | |
| 17 | 1. Event routing, based on a new CommonHeader field “stndDefinedNamespace” |
| 18 | 2. Standards-organization defined events can be included using a dedicated stndDefinedFields.data property |
| 19 | 3. Standards-defined events can be validated using openAPI descriptions provided by standards organizations, and indicated in stndDefinedFields.schemaReference |
| 20 | |
| 21 | `Standard Defined Events Collection Mechanism description <https://docs.onap.org/projects/onap-dcaegen2/en/honolulu/sections/services/ves-http/stnd-defined-validation.html>`_ |
| 22 | |
| 23 | .. note:: |
| 24 | |
| 25 | VES Collector orchestrated using Helm or Cloudify uses standard defined domain schema files bundled within VES collector image during image build. |
| 26 | Also new Helm based installation mechanism for collectors doesn't support yet certain features available with the traditional Cloudify orchestration based mechanisms: |
| 27 | - Obtaining X.509 certificates from external CMP v2 server for secure xNF connections |
| 28 | - Exposing the Collector port in Dual Stack IPv4/IPv6 networks. |
| 29 | |
| 30 | |
| 31 | How to Configure VES Collector |
| 32 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 33 | |
Maciej Wereski | f85754b | 2021-06-29 15:26:31 +0000 | [diff] [blame] | 34 | By default config maps containing schema files are defined in the `OOM <https://github.com/onap/oom/tree/honolulu/kubernetes/dcaegen2/resources/external>`_ repository and installed with dcaegen2 module. |
Krzysztof Kuzmicki | e965f3a | 2021-05-13 16:28:45 +0200 | [diff] [blame] | 35 | In Honolulu release in OOM are used schema files from https://forge.3gpp.org/rep/sa5/MnS/blob/SA88-Rel16/OpenAPI/. |
| 36 | The newest schema files can be found in https://forge.3gpp.org/rep/sa5/MnS/tree/Rel-16-SA-91/OpenAPI |
| 37 | If for production/test purpose are required different or newest schema files please follow procedure for `config map update <https://docs.onap.org/projects/onap-dcaegen2/en/latest/sections/configuration.html#config-maps>`_. |
| 38 | |
| 39 | In order to prepare second instance of VES Collector please follow below procedure: |
| 40 | |
| 41 | 1. (Optional step) If VES Collector should obtaining X.509 certificates from CMP v2 server for secure xNF connections please follow below steps: |
| 42 | |
| 43 | - Install `Cert Manager <https://docs.onap.org/projects/onap-oom/en/latest/oom_setup_paas.html#cert-manager>`_ |
| 44 | - Configure `Cert Service <https://docs.onap.org/projects/onap-oom-platform-cert-service/en/honolulu/sections/configuration.html>`_ if external CMP v2 server is in use. |
| 45 | |
| 46 | 2. If usage of config maps from OOM containing schema files is required please follow procedure for |
| 47 | `external repo schema files from OOM connection to VES collector <https://docs.onap.org/projects/onap-dcaegen2/en/honolulu/sections/services/ves-http/installation.html#external-repo-schema-files-from-oom-connection-to-ves-collector>`_ |
| 48 | with changes described below. |
| 49 | |
| 50 | As new instance of VES Collector will be introduced to ONAP namespace there is need to modify parameters from ``/inputs/k8s-ves-inputs-tls.yaml`` in Bootstrap POD |
| 51 | |
| 52 | - external_port - set here ``node port`` from range ``30000-32767`` not used in ONAP instance |
| 53 | - ``service_component_type``, ``service_id``, ``service_component_name_override`` - set here custom service name e.g. ``dcae-ves-collector-std-def-evnents`` |
| 54 | |
| 55 | (Optional step) If VES Collector should also obtaining X.509 certificates from CMP v2 and its clients should successfully validate its hostname then following parameters need to modified in ``/inputs/k8s-ves-inputs-tls.yaml`` file. |
| 56 | |
| 57 | - ``external_cert_use_external_tls`` - change from ``false`` to ``true`` |
| 58 | - ``external_cert_common_name`` - set same value as used in ``service_component_name_override parameter`` |
| 59 | - ``service_component_name_override`` - add following values: |
| 60 | - all IPv4 addresses of ONAP worker hosts |
| 61 | - all IPv6 addresses of ONAP worker hosts |
| 62 | - all FQDN names of ONAP worker hosts |
| 63 | - ``service_component_name_override`` parameter value. |
| 64 | |
| 65 | Deploy new instance of VES collector using ``/inputs/k8s-ves-inputs-tls.yaml`` |
| 66 | |
| 67 | 3. (Optional step) If ONAP is installed in Dual Stack and VES Collector should listen in IPv6 network |
| 68 | |
| 69 | - on RKE node prepare file ``ves-ipv6.yaml`` with following content (an example for ``dcae-ves-collector-std-def-evnents`` service name and node port set to ``30519`` ) |
| 70 | .. code-block:: bash |
| 71 | |
| 72 | apiVersion: v1 |
| 73 | kind: Service |
| 74 | metadata: |
| 75 | name: xdcae-ves-collector-std-def-evnents |
| 76 | namespace: onap |
| 77 | spec: |
| 78 | externalTrafficPolicy: Cluster |
| 79 | ipFamily: IPv6 |
| 80 | ports: |
| 81 | - name: xdcae-ves-collector-std-def-evnents |
| 82 | nodePort: 30519 |
| 83 | port: 8443 |
| 84 | protocol: TCP |
| 85 | targetPort: 8443 |
| 86 | selector: |
| 87 | app: dcae-ves-collector-std-def-evnents |
| 88 | sessionAffinity: None |
| 89 | type: NodePort |
| 90 | |
| 91 | - apply prepared service and check if it working |
| 92 | .. code-block:: bash |
| 93 | |
| 94 | kubectl -n onap apply -f ves-ipv6.yaml |
| 95 | |
| 96 | kubectl -n onap get svc | grep collector-std-def-evnents |
| 97 | xdcae-ves-collector-std-def-evnents NodePort fd00:101::6ad <none> 8443:30519/TCP 28h |