blob: 72daa26299336a17ab77d1fd6683fd0f12c7b75e [file] [log] [blame]
kjaniak53ba1702018-10-25 14:25:13 +02001.. This work is licensed under a Creative Commons Attribution 4.0 International License.
2.. http://creativecommons.org/licenses/by/4.0
3
kjaniak53ba1702018-10-25 14:25:13 +02004.. _deployment:
5
6Deployment
7============
8
Filip Krzywka12acf3e2019-03-19 15:53:15 +01009To run HV-VES Collector container you need to specify required command line options and environment variables.
kjaniak53ba1702018-10-25 14:25:13 +020010
efiacor9c1961e2022-12-12 12:07:42 +000011Command line parameters can be specified either by using long form (--long-form) or short form (-s)
12followed by an argument if needed (see `Arg` column in table below).
13These parameters can be omitted if the corresponding environment variables are set.
14These variables are named after the command line option name rewritten using `UPPER_SNAKE_CASE` and prepended
15with `VESHV_` prefix, for example `VESHV_CONFIGURATION_FILE`.
kjaniak53ba1702018-10-25 14:25:13 +020016
Filip Krzywka12acf3e2019-03-19 15:53:15 +010017Command line options have precedence over environment variables in cases when both are present.
kjaniak53ba1702018-10-25 14:25:13 +020018
Filip Krzywka12acf3e2019-03-19 15:53:15 +010019Currently HV-VES requires single command line parameter which points to base configuration file.
kjaniak53ba1702018-10-25 14:25:13 +020020
Filip Krzywka12acf3e2019-03-19 15:53:15 +010021.. csv-table::
22 :widths: auto
23 :delim: ;
24 :header: Long form , Short form , Arg , Env form , Description
kjaniak53ba1702018-10-25 14:25:13 +020025
Filip Krzywka12acf3e2019-03-19 15:53:15 +010026 configuration-file ; c ; yes ; VESHV_CONFIGURATION_FILE ; Path to JSON file containing HV-VES configuration
27
efiacor9c1961e2022-12-12 12:07:42 +000028Environment variables that are required by HV-VES are used by collector for provisioning of run-time configuration
29and are provided by DCAE platform.
Filip Krzywka12acf3e2019-03-19 15:53:15 +010030
31.. csv-table::
32 :widths: auto
33 :delim: ;
34 :header: Environment variable name , Description
35
36 CONSUL_HOST ; Hostname under which Consul service is available
37 CONFIG_BINDING_SERVICE ; Hostname under which Config Binding Service is available
38 HOSTNAME ; Configuration key of HV-VES as seen by CBS, usually *dcae-hv-ves-collector*
39
efiacor9c1961e2022-12-12 12:07:42 +000040There is also optional command line parameter which configures container-internal port
41for Healthcheck Server API (see :ref:`healthcheck_and_monitoring`).
Filip Krzywka12acf3e2019-03-19 15:53:15 +010042
43.. csv-table::
44 :widths: auto
45 :delim: ;
46 :header: Long form , Short form , Arg , Env form , Description
47
48 health-check-api-port ; H ; yes ; VESHV_HEALTH_CHECK_API_PORT ; Health check rest api listen port
49
50.. _configuration_file:
51
52Configuration file
53------------------
54
55File must provide base configuration for HV-VES Collector in JSON format.
56
efiacor9c1961e2022-12-12 12:07:42 +000057Some entries in configuration can also be obtained from Config Binding Service (see :ref:`run_time_configuration`).
58**Every entry defined in configuration file will be OVERRIDEN if it is also present in run-time configuration.**
Filip Krzywka12acf3e2019-03-19 15:53:15 +010059
efiacor9c1961e2022-12-12 12:07:42 +000060Following JSON shows every possible configuration option. Default file shipped with HV-VES container
61can be found in the collector's repository (see :ref:`repositories`).
Filip Krzywka12acf3e2019-03-19 15:53:15 +010062
63.. literalinclude:: resources/base-configuration.json
64 :language: json
kjaniak53ba1702018-10-25 14:25:13 +020065
66
Filip Krzywka12acf3e2019-03-19 15:53:15 +010067The configuration is split into smaller sections.
68Tables show restrictions on fields in file configuration and short description.
kjaniak53ba1702018-10-25 14:25:13 +020069
Filip Krzywka12acf3e2019-03-19 15:53:15 +010070.. csv-table::
71 :widths: auto
72 :delim: ;
73 :header-rows: 2
kjaniak53ba1702018-10-25 14:25:13 +020074
Filip Krzywka12acf3e2019-03-19 15:53:15 +010075 Server
76 Key ; Value type ; Description
77 server.listenPort ; number ; Port on which HV-VES listens internally
Jakub Dudycz0c997922019-05-09 13:17:34 +020078 server.idleTimeoutSec ; number ; Idle timeout for remote hosts. After given time without any data exchange, the connection is closed
kjaniak53ba1702018-10-25 14:25:13 +020079
Filip Krzywka12acf3e2019-03-19 15:53:15 +010080.. csv-table::
81 :widths: auto
82 :delim: ;
83 :header-rows: 2
kjaniak53ba1702018-10-25 14:25:13 +020084
Filip Krzywka12acf3e2019-03-19 15:53:15 +010085 Config Binding Service
86 Key ; Value type ; Description
87 cbs.firstRequestDelaySec ; number ; Delay of first request to Config Binding Service in seconds
88 cbs.requestIntervalSec ; number ; Interval of configuration requests in seconds
kjaniak53ba1702018-10-25 14:25:13 +020089
Filip Krzywka12acf3e2019-03-19 15:53:15 +010090.. csv-table::
91 :widths: auto
92 :delim: ;
93 :header-rows: 2
kjaniak53ba1702018-10-25 14:25:13 +020094
Filip Krzywka12acf3e2019-03-19 15:53:15 +010095 Security
96 Key ; Value type ; Description
97 security.sslDisable ; boolean ; Disables SSL encryption
98 security.keys.keyStoreFile ; String ; Key store path used in HV-VES incoming connections
99 security.keys.keyStorePasswordFile ; String ; Key store password file used in HV-VES incoming connections
100 security.keys.trustStoreFile ; String ; Path to file with trusted certificates bundle used in HV-VES incoming connections
101 security.keys.trustStorePasswordFile ; String ; Trust store password file used in HV-VES incoming connections
kjaniak53ba1702018-10-25 14:25:13 +0200102
efiacor9c1961e2022-12-12 12:07:42 +0000103All security entries are mandatory with `security.sslDisable` set to `false`.
104Otherwise only `security.sslDisable` needs to be specified. If `security.sslDisable` flag is missing, then it is interpreted as it was set to `false`.
kjaniak53ba1702018-10-25 14:25:13 +0200105
Filip Krzywka12acf3e2019-03-19 15:53:15 +0100106.. csv-table::
107 :widths: auto
108 :delim: ;
109 :header-rows: 2
110
111 Uncategorized
112 Key ; Value type ; Description
113 logLevel ; String ; Log level on which HV-VES publishes all log messages. Valid argument values are (case insensitive): ERROR, WARN, INFO, DEBUG, TRACE.
114
kjaniak53ba1702018-10-25 14:25:13 +0200115
Filip Krzywkae4dc8b62019-01-17 11:13:23 +0100116Horizontal Scaling
Filip Krzywka12acf3e2019-03-19 15:53:15 +0100117------------------
Filip Krzywkae4dc8b62019-01-17 11:13:23 +0100118
119Kubernetes command line tool (`kubectl`) is recommended for manual horizontal scaling of HV-VES Collector.
120
121To scale HV-VES deployment you need to determine its name and namespace in which it is deployed.
efiacor9c1961e2022-12-12 12:07:42 +0000122For default OOM deployment, HV-VES full deployment name is `deployment/dep-dcae-hv-ves-collector`
123and it is installed under `onap` namespace.
Filip Krzywkae4dc8b62019-01-17 11:13:23 +0100124
1251. If the namespace is unknown, execute the following command to determine possible namespaces.
126
127.. code-block:: bash
128
129 kubectl get namespaces
130
1312. Find desired deployment (in case of huge output you can try final call in combination with `grep hv-ves` command).
132You can also see current replicas amount under a corresponding column.
133
134.. code-block:: bash
135
136 ONAP_NAMESPACE=onap
137 kubectl get --namespace ${ONAP_NAMESPACE} deployment
138
Jakub Dudycz0c997922019-05-09 13:17:34 +02001393. To scale deployment, execute the following commands:
Filip Krzywkae4dc8b62019-01-17 11:13:23 +0100140
141.. code-block:: bash
142
143 DEPLOYMENT_NAME=deployment/dep-dcae-hv-ves-collector
144 DESIRED_REPLICAS_AMOUNT=5
145 kubectl scale --namespace ${ONAP_NAMESPACE} ${DEPLOYMENT_NAME} --replicas=${DESIRED_REPLICAS_AMOUNT}
146
147Result:
148
149.. code-block:: bash
150
151 kubectl get pods --namespace ${ONAP_NAMESPACE} --selector app=dcae-hv-ves-collector