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.

  1. 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
  1. 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