summaryrefslogtreecommitdiffstats
path: root/docs/sections/services/ves-hv/run-time-configuration.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/sections/services/ves-hv/run-time-configuration.rst')
-rw-r--r--docs/sections/services/ves-hv/run-time-configuration.rst59
1 files changed, 59 insertions, 0 deletions
diff --git a/docs/sections/services/ves-hv/run-time-configuration.rst b/docs/sections/services/ves-hv/run-time-configuration.rst
new file mode 100644
index 00000000..76d622c6
--- /dev/null
+++ b/docs/sections/services/ves-hv/run-time-configuration.rst
@@ -0,0 +1,59 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+
+.. _run_time_configuration:
+
+Run-Time configuration
+======================
+
+(see :ref:`deployment`)
+
+HV-VES can fetch configuration directly from Consul service in the following JSON format:
+
+.. code-block:: json
+
+ {
+ "dmaap.kafkaBootstrapServers": "message-router-kafka:9093",
+ "collector.routing": [
+ {
+ "fromDomain": "perf3gpp",
+ "toTopic": "HV_VES_PERF3GPP"
+ },
+ {
+ "fromDomain": "heartbeat",
+ "toTopic": "HV_VES_HEARTBEAT"
+ },
+ ...
+ ]
+ }
+
+HV-VES does not verify the correctness of configuration data and uses them as is, in particular:
+
+- **KafkaBootstrapServers** is used as host name and port for publishing events to Kafka service.
+- Every **routing** array object specifies one event publishing route.
+
+ - **fromDomain** node should be a case-sensitive string of single domain taken from VES Common Event Header specification.
+ - **toTopic** should be a case-sensitive string of Kafka topic.
+ - When HV-VES receives VES Event, it checks the domain contained in it. If the route from that domain to any topic exists in configuration, then HV-VES publishes that event to topic in that route.
+ - If there are two routes from the same domain to different topics, then it is undefined which route will be used.
+
+The configuration is created from HV-VES Cloudify blueprint by specifying **application_config** node during ONAP OOM/Kubernetes deployment. Example of the node specification:
+
+.. code-block:: YAML
+
+ node_templates:
+ hv-ves:
+ properties:
+ application_config:
+ dmaap.kafkaBootstrapServers: message-router-kafka:9092
+ collector.routing:
+ fromDomain: perf3gpp
+ toTopic: HV_VES_PERF3GPP
+
+Endpoint on which HV-VES seeks configuration can be set during deployment as described in :ref:`deployment`.
+
+HV-VES waits 10 seconds (default, configurable during deplyoment with **first-request-delay** option, see :ref:`deployment`) before the first attempt to retrieve configuration from Consul. This is to prevent possible synchronization issues. During that time HV-VES declines any connection attempts from xNF (VNF/PNF).
+
+After first request, HV-VES asks for configuration in fixed intervals, configurable from command line (**request-interval**). By defualt interval is set to 5 seconds.
+
+In case of failing to retrieve configuration, collector temporarily extends this interval and retries. After five unsuccessfull attempts, container becomes unhealthy and cannot recover. HV-VES in this state is unusable and the container should be restarted.