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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
|
.. This work is licensed under a Creative Commons Attribution 4.0 International License.
.. http://creativecommons.org/licenses/by/4.0
.. _deployment:
Deployment
============
To run HV-VES Collector container you need to specify required command line options and environment variables.
Command line parameters can be specified either by using long form (--long-form) or short form (-s) followed by argument if needed (see `Arg` column in table below). These parameters can be omitted if corresponding environment variables are set. These variables are named after command line option name rewritten using `UPPER_SNAKE_CASE` and prepended with `VESHV_` prefix, for example `VESHV_CONFIGURATION_FILE`.
Command line options have precedence over environment variables in cases when both are present.
Currently HV-VES requires single command line parameter which points to base configuration file.
.. csv-table::
:widths: auto
:delim: ;
:header: Long form , Short form , Arg , Env form , Description
configuration-file ; c ; yes ; VESHV_CONFIGURATION_FILE ; Path to JSON file containing HV-VES configuration
Environment variables that are required by HV-VES are used by collector for provisioning of run-time configuration and are usually provided by DCAE platform.
.. csv-table::
:widths: auto
:delim: ;
:header: Environment variable name , Description
CONSUL_HOST ; Hostname under which Consul service is available
CONFIG_BINDING_SERVICE ; Hostname under which Config Binding Service is available
HOSTNAME ; Configuration key of HV-VES as seen by CBS, usually *dcae-hv-ves-collector*
There is also optional command line parameter which configures container-internal port for Healthcheck Server API (see :ref:`healthcheck_and_monitoring`).
.. csv-table::
:widths: auto
:delim: ;
:header: Long form , Short form , Arg , Env form , Description
health-check-api-port ; H ; yes ; VESHV_HEALTH_CHECK_API_PORT ; Health check rest api listen port
.. _configuration_file:
Configuration file
------------------
File must provide base configuration for HV-VES Collector in JSON format.
Some entries in configuration can also be obtained from Config Binding Service (see :ref:`run_time_configuration`). **Every entry defined in configuration file will be OVERRIDEN if it is also present in run-time configuration.**
Following JSON shows every possible configuration option. Default file shipped with HV-VES container can be found in the collector's repository (see :ref:`repositories`).
.. literalinclude:: resources/base-configuration.json
:language: json
The configuration is split into smaller sections.
Tables show restrictions on fields in file configuration and short description.
.. csv-table::
:widths: auto
:delim: ;
:header-rows: 2
Server
Key ; Value type ; Description
server.listenPort ; number ; Port on which HV-VES listens internally
server.idleTimeoutSec ; number ; Idle timeout for remote hosts. After given time without any data exchange, the connection might be closed
.. csv-table::
:widths: auto
:delim: ;
:header-rows: 2
Config Binding Service
Key ; Value type ; Description
cbs.firstRequestDelaySec ; number ; Delay of first request to Config Binding Service in seconds
cbs.requestIntervalSec ; number ; Interval of configuration requests in seconds
.. csv-table::
:widths: auto
:delim: ;
:header-rows: 2
Security
Key ; Value type ; Description
security.sslDisable ; boolean ; Disables SSL encryption
security.keys.keyStoreFile ; String ; Key store path used in HV-VES incoming connections
security.keys.keyStorePasswordFile ; String ; Key store password file used in HV-VES incoming connections
security.keys.trustStoreFile ; String ; Path to file with trusted certificates bundle used in HV-VES incoming connections
security.keys.trustStorePasswordFile ; String ; Trust store password file used in HV-VES incoming connections
All security entries are mandatory with `security.sslDisable` set to `false`. Otherwise only `security.sslDisable` needs to be specified. If `security.sslDisable` flag is missing, then it is interpreted same as it would be set to `false`.
.. csv-table::
:widths: auto
:delim: ;
:header-rows: 2
Uncategorized
Key ; Value type ; Description
logLevel ; String ; Log level on which HV-VES publishes all log messages. Valid argument values are (case insensitive): ERROR, WARN, INFO, DEBUG, TRACE.
Horizontal Scaling
------------------
Kubernetes command line tool (`kubectl`) is recommended for manual horizontal scaling of HV-VES Collector.
To scale HV-VES deployment you need to determine its name and namespace in which it is deployed.
For default OOM deployment, HV-VES full deployment name is `deployment/dep-dcae-hv-ves-collector` and it is installed under `onap` namespace.
1. If the namespace is unknown, execute the following command to determine possible namespaces.
.. code-block:: bash
kubectl get namespaces
2. Find desired deployment (in case of huge output you can try final call in combination with `grep hv-ves` command).
You can also see current replicas amount under a corresponding column.
.. code-block:: bash
ONAP_NAMESPACE=onap
kubectl get --namespace ${ONAP_NAMESPACE} deployment
3. To scale deployment execute:
.. code-block:: bash
DEPLOYMENT_NAME=deployment/dep-dcae-hv-ves-collector
DESIRED_REPLICAS_AMOUNT=5
kubectl scale --namespace ${ONAP_NAMESPACE} ${DEPLOYMENT_NAME} --replicas=${DESIRED_REPLICAS_AMOUNT}
Result:
.. code-block:: bash
kubectl get pods --namespace ${ONAP_NAMESPACE} --selector app=dcae-hv-ves-collector
|