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 an argument if needed (see Arg column in table below). These parameters can be omitted if the corresponding environment variables are set. These variables are named after the 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.
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 provided by DCAE platform.
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 Healthcheck and Monitoring).
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
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 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 Repositories).
{
"logLevel": "INFO",
"server.listenPort": 6061,
"server.idleTimeoutSec": 60,
"cbs.firstRequestDelaySec": 10,
"cbs.requestIntervalSec": 5,
"security.sslDisable": false,
"security.keys.keyStoreFile": "/etc/ves-hv/ssl/server.p12",
"security.keys.keyStorePasswordFile": "/etc/ves-hv/ssl/server.pass",
"security.keys.trustStoreFile": "/etc/ves-hv/ssl/trust.p12",
"security.keys.trustStorePasswordFile": "/etc/ves-hv/ssl/trust.pass"
}
The configuration is split into smaller sections. Tables show restrictions on fields in file configuration and short description.
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 is closed |
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 |
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 as it was set to false.
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.
If the namespace is unknown, execute the following command to determine possible namespaces.
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.
ONAP_NAMESPACE=onap
kubectl get --namespace ${ONAP_NAMESPACE} deployment
To scale deployment, execute the following commands:
DEPLOYMENT_NAME=deployment/dep-dcae-hv-ves-collector
DESIRED_REPLICAS_AMOUNT=5
kubectl scale --namespace ${ONAP_NAMESPACE} ${DEPLOYMENT_NAME} --replicas=${DESIRED_REPLICAS_AMOUNT}
Result:
kubectl get pods --namespace ${ONAP_NAMESPACE} --selector app=dcae-hv-ves-collector