Configuring the VNF descriptor

Expand all | Collapse all

Specify the settings of the virtual network function in a VNF descriptor in YAML or XML format, then add the VNF descriptor to the root directory of the VNF package. A VNF descriptor has the following structure:

Section/setting

Description

name

Name of the virtual network function.

description

Brief description of the virtual network function.

description_file

Name of the PDF file with the technical documentation or specification of the virtual network function. This file must be placed in the root directory of the VNF package. Users can view and download the file in the orchestrator web interface.

Optional parameter.

provider

Provider of the virtual network function.

version

Version of the virtual network function.

external_connections

External connection points of the virtual network function. You can configure the specified external connection points of the virtual network function in the orchestrator web interface.

internal_connections

Internal connection points of VDUs that are part of the virtual network function.

This section is optional.

virtual_links

Virtual links for connecting internal connection points.

This section must be specified if you specified the internal_connections section.

images

VDU disk images. You can deploy multiple VDUs using the same VDU disk image.

configurations

Scripts for performing actions at various stages of the virtual network function lifecycle, for example, during deployment of the virtual network function.

flavours

Flavours of the virtual network function. You can select one of the specified flavours of the virtual network function in the orchestrator web interface.

scaling

Virtual network function scaling parameters.

This section is optional.

user_configurations

Orchestrator web interface inputs that are added to the settings area of the virtual network function.

This section is optional.

backups

Virtual network function backup tasks.

This section is optional.

VNF descriptor example

external_connections

The external_connections section has the following structure:

Section/setting

Description

- name

Name of the external connection point.

 

description

Brief description of the external connection point.

ip

IP address of the external connection point. Enter a value in the XXX.XXX.XXX.XXX format, for example:

192.168.110.126

mask

Subnet mask of the external connection point. Possible values:

  • Value in the XXX.XXX.XXX.XXX format, for example:

    255.255.255.0

    The subnet mask is assigned using DHCP via MAC-based reservation of an OpenStack port. In this case, the subnet mask cannot be changed.

  • AUTO — The subnet mask is assigned automatically using an external DHCP server or a script from the configurations section.
  • MANUAL — the subnet mask must be specified manually in the orchestrator web interface when configuring external connection points of the virtual network function.

gw

IP address of the gateway of the external connection point. Possible values:

  • Value in the XXX.XXX.XXX.XXX format, for example:

    192.168.110.126

    The IP address is assigned using DHCP via MAC-based reservation of an OpenStack port. In this case, the IP address cannot be changed.

  • AUTO — The IP address is assigned automatically using an external DHCP server or a script from the configurations section.
  • MANUAL — the IP address must be specified manually in the orchestrator web interface when configuring external connection points of the virtual network function.

Optional parameter.

dns

IP address of the DNS server of the external connection point. Possible values:

  • Value in the XXX.XXX.XXX.XXX format, for example:

    192.168.110.126

    The IP address is assigned using DHCP via MAC-based reservation of an OpenStack port. In this case, the IP address cannot be changed.

  • AUTO — The IP address is assigned automatically using an external DHCP server or a script from the configurations section.
  • MANUAL — the IP address must be specified manually in the orchestrator web interface when configuring external connection points of the virtual network function.

Optional parameter.

group

The group to which the external connection point belongs.

This setting is required if multiple VDUs within the virtual network function use the same external connection point.

Example of this section

internal_connections

The internal_connections section has the following structure:

Section/setting

Description

- name

Name of the internal connection point.

 

description

Brief description of the internal connection point.

virtual_link_name

Name of the virtual link from the virtual_links section for the internal connection point.

ip

IP address of the internal connection point. Possible values:

  • Value in the XXX.XXX.XXX.XXX format, for example:

    192.168.110.126

    The IP address is assigned using DHCP via MAC-based reservation of an OpenStack port. In this case, the IP address cannot be changed.

  • AUTO — The IP address is assigned automatically using an external DHCP server or a script from the configurations section.
  • MANUAL — the IP address must be specified manually in the orchestrator web interface when configuring external connection points of the virtual network function.

mask

Subnet mask of the internal connection point. Possible values:

  • Value in the XXX.XXX.XXX.XXX format, for example:

    255.255.255.0

    The subnet mask is assigned using DHCP via MAC-based reservation of an OpenStack port. In this case, the subnet mask cannot be changed.

  • AUTO — The subnet mask is assigned automatically using an external DHCP server or a script from the configurations section.

gw

IP address of the gateway of the internal connection point. Possible values:

  • Value in the XXX.XXX.XXX.XXX format, for example:

    192.168.110.126

    The IP address is assigned using DHCP via MAC-based reservation of an OpenStack port. In this case, the IP address cannot be changed.

  • AUTO — The IP address is assigned automatically using an external DHCP server or a script from the configurations section.

Optional parameter.

dns

IP address of the DNS server of the internal connection point. Possible values:

  • Value in the XXX.XXX.XXX.XXX format, for example:

    192.168.110.126

    The IP address is assigned using DHCP via MAC-based reservation of an OpenStack port. In this case, the IP address cannot be changed.

  • AUTO — The IP address is assigned automatically using an external DHCP server or a script from the configurations section.

Optional parameter.

group

The group to which the internal connection point belongs.

This setting is required if multiple VDUs within the virtual network function use the same internal connection point.

Example of this section

virtual_links

The virtual_links section has the following structure:

Section/setting

Description

- name

Name of the virtual link.

 

cidr

IPv4 prefix of the virtual link. Enter a value in the XXX.XXX.XXX.XXX/XX format, for example:

192.168.2.0/24

ip_version

Version of IP addresses in the subnet. Possible values:

  • v4
  • v6

Example of this section

images

The images section has the following structure:

Section/setting

Description

- name

Name of the VDU disk image.

 

container_format

Container format of the VDU disk image.

disk_format

Format of the VDU disk image.

type

VIM type.

file_name

File name of the VDU disk image. You must place the VDU disk image in the /image directory of the VNF package.

Example of this section

configurations

The configurations section has the following structure:

Section/setting

Description

- name

Name of the script.

 

filename

The file name of the script file, Ansible playbook, or user-data attribute for Cloud-init. You must place the script in the /scripts directory of the VNF package.

stage

The stage of operation of the virtual network function at which the script runs. Possible values:

executor

Script interpreter. Possible values:

  • ansible
  • expect
  • /bin/sh
  • bin/bash
  • cloud-init

     

  • <path to the custom script interpreter>, for example /usr/bin/php.

authentication

Method for authenticating the VNFM in the virtual network function for running scripts. Possible values:

  • key means the VNFM is authenticated in the virtual network function using a key that is generated when the virtual network function is deployed. You need to use a script to get the key, so we recommend not to specify this value for the first script.
  • password means the VNFM is authenticated in the virtual network function with a user name and password from the flavours → vdus section.

files_path

Path to files for running scripts using SSH. You need to create a directory in the /scripts directory of the VNF package and place the files in that directory. The files are copied to the VDU.

Optional parameter.

config_drive

Using config-drive. Possible values:

  • true
  • false

     

This parameter must be specified if as the executor, you specified cloud_init.

timeout

The time to wait for the script to finish, in seconds. If the script does not finish within the specified time, execution is terminated. The timeout starts at the moment the script is run.

You can specify this parameter if you have specified a path to a custom script executor for the executor parameter.

Example of this section

flavours

The flavours section has the following structure:

Section/setting

Description

- name

Name of the deployment option.

 

description

Brief description of the flavour.

position

Sequential number of the flavour. The flavour with the lowest position has the lowest performance.

affinity

Groups of VDUs hosted on the same OpenStack host. We recommend hosting VDUs that require minimizing communication delays which each other on the same OpenStack host.

anti-affinity

Groups of VDUs hosted on different OpenStack hosts. We recommend deploying VDUs that may require vertical scaling or high availability on distinct OpenStack hosts.

management

Parameters of VDU administration consoles.

vdus

VDU settings.

The affinity and anti-affinity sections have the following structure:

Section/setting

Description

groups

VDU groups.

 

- name

Name of the VDU group.

 

vdu_name

Names of VDUs. Specify a list of values, for example:

vdu_name:

- VDU_1

- VDU_2

The management section has the following structure:

Section/setting

Description

vnc

Settings for managing VDUs using the VNC console.

 

- vdu_name

Name of the VDU.

ssh

Settings for managing VDUs using the SSH console.

 

- vdu_name

Name of the VDU.

 

def_user

User name for establishing the SSH session.

authentication

Method for authenticating the VNFM in the virtual network function for running scripts. Possible values:

  • key means the VNFM is authenticated in the virtual network function using a key that is generated when the virtual network function is deployed. You need to get the key using a script from the configurations section.
  • password means the VNFM is authenticated in the virtual network function with a user name and password from the vdus section.

web

Settings for managing VDUs using the web console.

 

- vdu_name

Name of the VDU.

 

protocol

Protocol for connecting to the web console. Possible values:

  • http
  • https

port

Port for connecting to the web console. Enter a value in the range of 1 to 65,536. By default, port 80 is used.

path

Path to the web console.

def_user

User name for authenticating in the web console.

def_password

Password for authenticating in the web console.

The vdus section has the following structure:

Section/setting

Description

- name

Name of the VDU.

 

password_rules

VDU password requirements. This section is optional.

 

length

Minimum length of the password.

use_upper_case

Users must use uppercase characters in the password. Possible values:

  • true
  • false

use_lower_case

Users must use lowercase characters in the password. Possible values:

  • true
  • false

use_digits

Users must use numerals in the password. Possible values:

  • true
  • false

specific_symbols

Whether users must use special characters in the password, such as:

@"!

specific_symbols_min_usage

Minimum number of special characters that must be present in the password.

check_connection_mode

Type of VDU availability test performed during deployment. By default, an SSH test is performed. Possible values:

  • ssh
  • none

Optional parameter.

zabbix_template

Name of the Zabbix template for the VDU.

monitoring_type

Monitoring type of the virtual network function. Possible values:

  • agent means monitoring using a Zabbix agent.
  • snmp means monitoring using the SNMP protocol.

ssh_port

Port number for establishing an SSH session.

Optional parameter.

ssh_host_key_algorithm

The host key algorithm used. Possible values:

  • ssh-rsa.
  • ssh-ed25519. We recommend using this host key algorithm because it is cryptographically strong.

If you do not specify this setting, the ssh-rsa algorithm is used by default.

configurations

Names of scripts from the configurations section to be run on the VDU. Specify a list of values, for example:

vdu_name:

- config_1

- config_2

backups

Names of backup tasks from the backups to be used on the VDU. Specify a list of values, for example:

vdu_name:

- backup_1

- backup_2

This section is optional.

def_user

User name for authenticating the VNFM in the virtual network function.

Optional parameter.

def_password

Password for authenticating the VNFM in the virtual network function.

Optional parameter.

password_authentication

Password authentication of the VNFM in the virtual network function. Possible values:

  • yes
  • no

Optional parameter.

disks

Parameters of VDU virtual disks.

 

- name

Name of the VDU virtual disk.

 

order

Mounting order of the VDU virtual disk.

type

Type of the ephemeral OpenStack disk.

image

Name of the VDU virtual disk image from the images section.

Optional parameter if you are creating a blank VDU disk.

storage_db

Size of the VDU virtual disk in gigabytes.

cpu

VDU CPU parameters.

 

smt

Simultaneous multithreading requirements for VDU deployment. Possible values:

  • prefer to use simultaneous multithreading if it is enabled on the VDU host.
  • isolate to not use simultaneous multithreading.
  • require to use simultaneous multithreading.

cpu_pinning

Use of CPU pinning. Possible values:

  • shared if you do not want to pin CPU cores to the VDU.
  • dedicated if you want to pin CPU cores to the VDU.

num_vpu

Number of CPU cores pinned to the VDU.

memory

VDU RAM settings.

 

total_memory_mb

Amount of VDU RAM in megabytes.

page_size

Size of memory pages when deploying the VDU. Possible values:

  • small for 4KB.
  • large for 2 MB or 1 GB.
  • any for any size.
  • 4KB
  • 2MB
  • 2048
  • 1GB

network_interfaces

Network interface settings

 

- name

Name of the network interface.

 

type

Type of the network interface. Possible values:

  • data is a network interface for data transfer.
  • management is a management network interface that is mapped to a network port.

 

description

Brief description of the network interface.

connection_point_ref

Name of the external connection point from the external_connections section for the management network interface.

port_security

Whether Port security is used. Possible values:

  • disabled
  • enabled

Optional parameter.

properties

Advanced settings of the network interface.

 

vnic_type

vNIC type of the network interface. Possible values:

  • virtio
  • direct
  • macvtap
  • vhost

auto_healing

VDU auto-healing parameters.

 

triggers_set

External triggers that initiate VDU auto-healing. Possible values:

  • any to have any external trigger initiate VDU auto-healing.
  • all to initiate VDU auto-healing if all specified external triggers are triggered.
  • <trigger name> to initiate VDU auto-healing when the specified external trigger is triggered.

triggers

External triggers.

 

- name

Name of the external trigger. Possible values:

  • unreachable
  • scale_up
  • scale_down

action_set

Action to perform when an external trigger is triggered.

 

- type

Type of action. Possible values:

  • reprovision to reprovision the VDU.
  • reboot to restart the VDU.
  • script to run the specified script.

configuration_name_ref

Name of the script from the configuration section that is run when an external trigger is triggered.

This parameter must be specified if as the - type, you selected script.

bootstrap_timeout

SSH availability timeout during VDU deployment, in seconds. If the VDU is not available over SSH after the specified timeout expires, the deployment is rolled back.

Optional parameter.

Example of this section

scaling

The scaling section has the following structure:

Parameter

Description

scale_in_status

Horizontal scaling to a scaling option with a lower sequential number. Possible values:

  • permit
  • deny

scale_out_status

Horizontal scaling to a scaling option with a higher sequential number. Possible values:

  • permit
  • deny

scale_up_status

Vertical scaling to a scaling option with a lower sequential number. Possible values:

  • permit
  • deny

scale_down_status

Vertical scaling to a scaling option with a higher sequential number. Possible values:

  • permit
  • deny

Example of this section

user_configurations

The user_configurations section has the following structure:

Section/setting

Description

tab

Tabs that are added to the settings area of the virtual network function.

- name

Name of the tab.

 

variables

Orchestrator web interface inputs that are displayed on the tab.

- name

Name of the orchestrator web interface input.

 

description

Brief description of the orchestrator web interface input.

input_type

Type of the orchestrator web interface input. Possible values:

  • input to add a field.
  • dropdown to add a drop-down list.

default_value

Default value of the field.

You can specify this parameter if as the input_type, you specified input.

values

The options that are displayed in the drop-down list.

This setting can be specified if as the input_type, you specified dropdown.

- value

The name of the value.

 

is_default

Default value. Possible values:

  • true
  • false

Optional parameter.

required

Required orchestrator web interface input. Possible values:

  • true
  • false

Optional parameter.

type

The type of value that can be specified in the orchestrator web interface input.

Optional parameter.

example

A tooltip that is displayed when the value of the orchestrator web interface input changes.

Optional parameter.

update_configuration_name

Names of scripts from the configurations section that are run when the value of the orchestrator web interface input changes. Specify a list of values, for example:

update_configuration_name:

- config_1

- config_2

Example of this section

backups

The backups section has the following structure:

Section/setting

Description

- name

Name of the backup task.

 

description

Brief description of the backup task.

backup

Backup parameters.

 

path

Path to the virtual network function directory where the files that you want to backup are located.

interval

Time interval in seconds for backup.

store_config

Number of backup copies to keep.

backup_type

Type of backup.

authentication

Method for authenticating the VNFM in the virtual network function for running scripts. Possible values:

  • key means the VNFM is authenticated in the virtual network function using a key that is generated when the virtual network function is deployed. You need to get the key using a script from the configurations section.
  • password means the VNFM is authenticated in the virtual network function with a user name and password from the flavours → vdus section.

configuration_name_ref

Name of the script from the configurations section to run before the backup.

restore

Backup restoration parameters.

 

path

Path to the virtual network function directory where the restored files are placed.

backup_type

Type of backup.

authentication

Method for authenticating the VNFM in the virtual network function for running scripts. Possible values:

  • key means the VNFM is authenticated in the virtual network function using a key that is generated when the virtual network function is deployed. You need to get the key using a script from the configurations section.
  • password means the VNFM is authenticated in the virtual network function with a user name and password from the flavours → vdus section.

configuration_name_ref

Name of the script from the configurations section to run after the restoration from backup begins.

Example of this section

Page top