5 Install and Configure VNFM
Perform the following procedure to install and configure VNFM.
- Download and install pip.
- Get one Linux Box which has already installed
OpenStack client. If not, first install Python and PIP, then install the OpenStack
client in Linux Box to interact with OpenStack through CLI.
Steps to install the OpenStack client.
- Log in as a root user and execute the
yum install python-devel
command. - Install OpenStack client by executing the
pip install python-OpenStackclient
command. -
The above command skips importing heatclient plugin, install this plugin by executing:
pip install python-heatclient
- Log in as a root user and execute the
- Identify an OpenStack
instance.
Note:
The identified OpenStack instance must meet the VNFM OpenStack Prerequisites.
- Download the OpenStack api credential file from OpenStack.
- Download the OpenStack
RC file.
- Log in to OpenStack GUI.
- Go to API Access section tab.
- Click on Download OpenStack RC File and download (Identity API v3) file.
- Source the downloaded OpenStack API RC file in
Linux BOX where OpenStack client is installed by executing:
source openrc.sh
When prompted for the password, provide OpenStack controller password.
- Download the HEAT templates for VNFM installation.
Note:
Download the latest VNFM HEAT templates to your local disk from Oracle Help Center (OHC). - Upload the image file to OpenStack:
- From the OpenStack GUI, navigate to .
- Click Create Image.
- In the Create Image dialog
box, select the suggested options for the following fields:
- In the Image Source field, select Image File.
- In the Image File field,
select the VNFM
5.4.4 VM image. The VNFM Image can be obtained from Oracle
Software Delivery Cloud (OSDC) Portal.
Image name:
VNFM_5.4.4.0.0_54.11.0.qcow2
- The Minimum Disk and Minimum RAM fields can be left blank.
- The VNFM flavors must be provided with the appropriate values. For information about flavors, refer to the DSR Cloud Benchmarking Guide.
- Create the VNFM Volume using:
- The OpenStack CLI.
- Create the VNFM volume to
use as a part of the OpenStack. The VNFM supports a volume with the
following specifications:
Volume size = 8 GB
Availability-zone = nova
For example:
OpenStack volume create --size 8 --availability-zone nova <Name of the volume>
The above command displays the ID assigned to the newly created volume.
- Create the VNFM volume to
use as a part of the OpenStack. The VNFM supports a volume with the
following specifications:
- The OpenStack GUI:
- Navigate to Project > Volumes - Volumes
- Click Create Volume.
- In the Create Volume dialog box, perform as suggested for the following fields:
- In the Size (GiB) field, give 8 as its size.
- In the Availability Zone field, give nova as its value.
-
Get the ID of the volume created above and update the
dsrVnfmVolumeId
parameter in thedsrVnfmParams.yam
l file.Note:
- To change the
images and flavors of VNFCs, configure the respective
parameters in:
/opt/vnfm/config/8.6/VmInfo.xml
- To change the
default properties, configure the respective parameters
in:
/opt/vnfm/config/VnfmProperties.xml
- To change the
images and flavors of VNFCs, configure the respective
parameters in:
- The OpenStack CLI.
- Modify the input parameters:
- Edit the HEAT template file
dsrVnfmParams.yaml
Note:
- The input parameters are given as key/value pairs. Modify only the values (the part to the right side of the colon).
- The formatting is an important factor in YAML file. Do not remove any leading spaces or add any lines to the file.
- While creating IPv4 setup of Vnfm (Vnfm network is IPv4), use DNS and NTP of IPv4 and while creating IPv6 setup of Vnfm (Vnfm Network is IPv6), use DNS and NTP of IPv6.
- Edit the values as per the guidelines provided in
the following table:
Table 5-1 Parameters and Definitions for VNFM Installation
Parameter Value dsrVnfmVmName Enter a name for the VM. Alphanumeric characters and "_" are allowed. dsrVnfmImage Enter the name of the image uploaded in the previous step. dsrVnfmFlavor Enter the name of a flavor that is loaded onto OpenStack. vnfmNetwork Enter the name and subnet of a network that external clients can use to communicate with the VNFM. (The user can also give an IP along with the network in case of fixed IP deployment) (IPv6 or IPv4)
Format for Dynamic IP deployment:"vnfmNetwork": { "network" : "<Network Name>", "subnet" : "<Subnet Name>" }
Format for Fixed IP deployment:"vnfmNetwork": { "network" : "<Network Name>", "fixed_ip" : "<ip>" }
vimNetwork Enter the name and subnet of a network that VNFM uses to route VIM traffic. (IPv4 or IPv6)
Format for Dynamic IP deployment:"vimNetwork": { "network" : "<Network Name>", "subnet" : "<Subnet Name>" }
Format for Fixed IP deployment:"vimNetwork": { "network" : "<Network Name>", "fixed_ip" : "<ip>" }
ntpServer Enter the IP address of an NTP server with which the VNFM synchronizes the time. The OpenStack controller hosts an NTP server so the IP address of the OpenStack controller is usually a good value.
Note: VNFM can support any of these NTP resources: IPv4, IPv6, or both IPv4 and IPv6 NTP entries.
dnsServer Enter the IP address of DNS server with which VNFM resolves the hostname. For an IPv4 setup, enter IPv4 DNS server IP and for an IPv6, use IPv6 DNS server IP. dsrVnfmAZ Enter the availability zone to place the VNFM. The "nova" is the default availability zone and is usually the right value. dsrVnfmVolumeId Enter the volume name to use as persistence storage for the VNFM. vimRouteAddress Enter the OpenStack network address/subnet mask. This is going to be use communication between VNFM and OpenStack (Vim) network. User can provide the list of route address separated by comma. snmpReceiverAddressPort (Optional) IP and Port of the SNMP Trap Receiver/ SNMP Manager. Default: 127.0.0.1/162,::1/162 (Not required for IPv6 brackets.) Note:
- In case of fixed IP
deployment for VNFM, the network name and IP must be given in
the following syntax for
vnfmNetwork
orvimNetwork
parameter indsrVnfmParams.yaml
file:vnfmNetwork: {"network":"ext-net","fixed_ip":"10.196.52.175"}
vimNetwork: {"network":"ext-net2","fixed_ip":"10.196.52.176"}
- In case of dynamic IP
deployment for VNFM, the network name and subnet should be given
in the following syntax for
vnfmNetwork
orvimNetwork
parameter indsrVnfmParams.yaml
file:vnfmNetwork: {"network":"ext-net", "subnet": "ext-net-subnet"}
vimNetwork: {"network":"ext-net2", "subnet": "ext-net2-subnet"}
- User need to give
mandatory OpenStack network address vimRouteAddress parameter in
vnfm parameter.
Syntax:
vimRouteAddress: <OpenStack Network address>/<subnet mask>
For example
vimRouteAddress: 10.75.167.0/24
In case of list of OpenStack cloud:
vimRouteAddress: 10.75.167.0/24,10.75.185.0/24
- If user needs to communicate with multiple OpenStack cloud using one vnfm then the user must provide multiple OpenStack network address while installing vnfm.
User can also add other OpenStack cloud network after installing vnfm, by performing the steps provided in section Adding Route for a New VIM.
User must provide optional SNMP Manager IP and Port as
snmpReceiverAddressPort
parameter indsrVnfmParams.yaml
file.Syntax:
snmpReceiverAddressPort: IP/PORT,IP/PORT
For example:
In case of Dual SNMP Manager:
snmpReceiverAddressPort: 10.75.189.151/8900,2606:b400:605:b813::5/7400
In case of Single SNMP Manager:
snmpReceiverAddressPort: 2606:b400:605:b813::5/7400
ntpServer: Users must provide mandatory ntpServer details which can support up to 3 ntp resources at a time in the
dsrVnfmParams.yaml
file. Ex1: ntpServer: 10.250.32.10, Ex2: ntpServer: 2606:b400:605:b912:200:5eff:fe00:1f7, Ex3: ntpServer: 10.250.32.10,2606:b400:605:b912:200:5eff:fe00:1f7,10.250.32.56 - In case of fixed IP
deployment for VNFM, the network name and IP must be given in
the following syntax for
- Once editing is done, save the file.
- Edit the HEAT template file
- Deploy the VNFM using the OpenStack CLI by
executing:
OpenStack stack create -t dsrVnfmVm.yaml -e dsrVnfmParams.yaml <stackName>
- To query the VNFM release details after VNFM
deployment, run the following command:
$>[dsrvnfm@releasevnfmvm /]$ sudo ./install_vnfm.py --info [sudo] password for dsrvnfm
Product Name : VNFM
Product Release : 5.4.4
DSR Supported Release(s) :
8.6.0.5.0
Refer the following table while choosing the IP versions:
Table 5-2 IP Version Mapping
VNFM External IP Version (REST interface) Eth0 | VNFM Vim IP Version (VIM interface) Eth1 | OpenStack Controller VIM IP | DSR IP/Other Traffic | Route eth0 | Route eth1 | Dual Snmp Manager Support | Notes |
---|---|---|---|---|---|---|---|
IPv6 | IPv4 | IPv4 | IPv6/IPv4 | Default | Default | Supported |
|
IPv4 | IPv4 | IPv4 | IPv4 | Default | Limited to VIM Network Routes | Supported |
|
IPv4 | IPv6 | IPv6 | IPv6 /IPv4 | Default | Default | Supported |
|
IPv6 | IPv6 | IPv6 | IPv6 | Default | Limited to VIM Network Routes | Supported |
|
IPv6 | IPv4 | IPv6 | Not Applicable.
The VIM IP version and the controller IP version are different. The communication never gets established. |
||||
IPv4 | IPv4 | ||||||
IPv4 | IPv6 | IPv4 | |||||
IPv6 | IPv6 |
Note:
-
VNFM External IP Version (REST interface) eth0- VNFM external IP interface to support the VNFM REST API.
-
VNFM Vim IP Version (VIM interface) eth1- VNFM IP is used to communicate with the VIM controller. VNFM eth1 IP and VIM controller IP should be in the same IP version. Both of them should be in either IPv4 or IPv6.
-
OpenStack Controller VIM IP- OpenStack controller VIM IP that creates the VNF through VNFM. Multiple OpenStack VIM controller IP can be provided during VNFM installation with VIM subnet.
-
DSR IP- DSR IP is the VNF IP. VNFM eth0 IP communicates with DSR XMI interface for DSR Cloud init LCM operation. So, DSR xmi IP and VNFM eth0 IP must have the same IP version, either IPv4 or IPv6.
5.1 Access VNFM Using the REST Interface
The VNFM is accessible using a REST interface. There is no provision to access the REST interface through CLI, or GUI, however it can be accessed through a Swagger specification provided for the REST interface. There are many other compatible interfaces that can be used with popular REST testing tools. Some of the most widely used tools that can be used with the REST testing tool are:
Swagger UI
With the Swagger UI, a GUI can be generated from the Swagger specification.
Swagger specifications can be found post VNFM installation at, (https://<VNFM
IP>:8443/docs/vnfm/).
Postman
Another popular tool for creating REST requests is the Postman tool. It is available as a standalone app and as a Chrome browser plug-in. You can import a Swagger specification to allow Postman to understand the VNFM REST API in detail, which allows it to assist you while creating requests and interpreting responses.
5.2 VNFM Redundancy
VNFM supports the Redundancy model. It works with two servers in Primary - Secondary states. Data in the external mounted volume is synchronized from Primary to Secondary VNFM.
VNFM can have two states and a transitory third state as follows:
- Primary
- Secondary
- Transient
The Transient state occurs when a CHANGE VNFM STATE request fails due to network connectivity issues. In this case, the orchestrator must wait until the connectivity issue is resolved and re-triggers the CHANGE VNFM request.
Secondary VNFM can be created as any other regular VNF by using CREATE and INSTANTIATE VNF requests. It can be created only when the PRIMARY VNFM is a standalone VNFM.
State of VNFM can be queried using the QUERY VNFM STATE INFORMATION REST request.
VNFM state can be changed using the CHANGE VNFM STATE REST request.
Note:
When VNFM is in Secondary or Transient state, it accepts all GET requests and only the following POST requests: Login To VNFM and Change VNFM State.5.3 Configurable Server Affinity Policy
Server Affinity Policy configuration is supported during the VNF Instantiation of DSR/SDS VNF's only. This policy can be configured on VNFc level.
Scaling uses the same affinity policy provided during VNF Instantiation and hence affinity policy option is not required during scaling. Default Server Group affinity policy is "anti-affinity".
- Anti Affinity: place instances on separate hosts.<Default>
- Affinity: places instances on the same host.
- Soft Anti Affinity: place instances on separate hosts if possible.
- Soft Affinity: place instances on the same host if possible.
5.4 VNFc Nomenclature
The following table contains information about VNFc Nomenclature.
VNF Instance Name (max 22 Characters) | VNFc Type | Nomenclature (max 5 characters) | Server Name (VM Hostname) (max 30 Characters) |
---|---|---|---|
<User Input> | DSR NOAM | DNO | <user-input>-DNO00 |
<User Input> | DSR SOAM | DSO | <user-input>-DSO00 |
<User Input> | DSR DAMP | DMP | <user-input>-DMP00 |
<User Input> | DSR IPFE | DIP | <user-input>-DIP00 |
<User Input> | STP MP | STPMP | <user-input>-STPMP00 |
<User Input> | SBR (Session/Binding/Universal) | SBR | <user-input>-SBR00 |
<User Input> | UDR | UDR | <user-input>-UDR00 |
<User Input> | DSR DR NOAM | DDRNO | <user-input>-DDRNO00 |
<User Input> | SDS NOAM | SNO | <user-input>-SNO00 |
<User Input> | SDS QS | SQS | <user-input>-SQS00 |
<User Input> | SDS SOAM | SSO | <user-input>-SSO00 |
<User Input> | SDS DP | SDP | <user-input>-SDP00 |
<User Input> | SDS DR NOAM | SDRNO | <user-input>-SDRNO00 |
<User Input> | SDS DR QS | SDRQS | <user-input>-SDRQS00 |
<User Input> | Prov Gateway | PVGW | <user-input>-PVGW00 |
<User Input> | DB Management Server (APIGW) | AGWMN | <user-input>-AGWMN00 |
<User Input> | DB Data Server (APIGW) | AGWDN | <user-input>-AGWDN00 |
<User Input> | DB Sql Server (APIGW) | AGWSN | <user-input>-AGWSN00 |
<User Input> | dsrApiGwAdmin | AGWAD | <user-input>-AGWAD00 |
<User Input> | dsrApiGwApp | AGWAP | <user-input>-AGWAP00 |
<User Input> | DsrIdihApp | IDAPP | <user-input>-IDAPP00 |
<User Input> | DsrIdihMed | IDMED | <user-input>-IDMED00 |
<User Input> | DsrIdihDb | IDDB | <user-input>-IDDB00 |
<User Input> | atsMaster | ATSMA | <user-input>-ATSMA00 |
<User Input> | atsCore | ATSCO | <user-input>-ATSCO00 |
<User Input> | atsTools | ATSTO | <user-input>-ATSTO00 |
5.5 Supported VNFs by VNFM
The table below contains a list of all the VNFs supported by VNFM:
Table 5-3 Supported VNFs and VMs
Supported Dynamic IP VNFs | Supported VNFCs | Supported Dynamic IP VNF | Supported Fixed IP VNF | Supported Dual Stack IP VNF | VNF Dependency | Mixed Mode (XMI (Single/Dual), IMI(Single/Dual) and XSI-1, 2, 4(Single/Dual)) | Mixed Mode XSI-1, 2, 4 (4XSI-1, 2, 3, 4) (Single/Dual) |
---|---|---|---|---|---|---|---|
DSR NOAM | NOAM (Active/Standby) | Yes | Yes | Yes | Yes | N/A | |
DSR DR NOAM | DR NOAM (Active/Standby) | Yes | Yes | Yes | DSR NOAM | Yes | N/A |
DSR Signaling | SOAM (Active/Standby), DA-MP, STP-MP, IPFE, SBR, UDR | Yes | Yes | Yes (Only for DIAMETER, DIAMETER+SBR flavor) | DSR NOAM | Yes* | Yes* |
APIGW | DB Management Server, DB Data Server, DB Sql Server, Admin Server, Application Server(s) | Yes | Yes | No | No | N/A | |
IDIH | APP, MEDIATION, DB Server | Yes | Yes | No | DSR Signaling | No | N/A |
SDS NOAM | NAOM (Active/Standby) and Query Server | Yes | Yes | Yes | Yes | N/A | |
SDS DR NOAM | DR NAOM (Active/Standby) and Query Server | Yes | Yes | Yes | SDS NOAM | Yes | N/A |
SDS Signaling | SOAM (Active/Standby), DP Server | Yes | Yes | Yes | SDS NOAM | Yes | Yes |
ATS Master | MASTER | Yes | Yes | No | No | No | |
ATS Core/Tools | Core and Tools | Yes | Yes | No | ATS Master | No | No |
PROV GW | PROVGW | Yes | No | No | N/A |
- Single Subnet (either IPv4 or IPv6) - supported for all flavors.
- Dual subnet and Single Dual Mixed subnet mode - only DIAMETER, DIAMETER+SBR flavor supported.
The following table provides a sample combination of DSR-SOAM (for Diameter Flavor) of XSI network interfaces:
Table 5-4 Sample Combination of DSR-SOAM (for Diameter Flavor)
VNF TYPE | XSI-1 | XSI-2 | XSI-3 | XSI-4 |
---|---|---|---|---|
DSR Signaling (Diameter Flavor) | Single Stack IPv4 or IPv6 | Single Stack IPv4 or IPv6 | Single Stack IPv4 or IPv6 | Single Stack IPv4 or IPv6 |
Single Stack IPv4 or IPv6 | Single Stack IPv4 or IPv6 | Dual Stack IPv4 and IPv6 | Dual Stack IPv4 and IPv6 | |
Dual Stack IPv4 and IPv6 | Dual Stack IPv4 and IPv6 | Single Stack IPv4 or IPv6 | Single Stack IPv4 or IPv6 | |
Dual Stack IPv4 and IPv6 | Dual Stack IPv4 and IPv6 | Dual Stack IPv4 and IPv | Dual Stack IPv4 and IPv6 |
Table 5-5 Sample Combination of DSR-SOAM (for Diameter+SBR Flavor)
VNF TYPE | XSI1 | XSI2 | SBR |
---|---|---|---|
DSR Signaling (Diameter+SBR Flavor) | Single Stack IPv4 or IPv6 | Single Stack IPv4 or IPv6 | Single Stack IPv4 or IPv6 |
Single Stack IPv4 or IPv6 | Dual Stack IPv4 and IPv6 | Single Stack IPv4 or IPv6 | |
Dual Stack IPv4 and IPv6 | Dual Stack IPv4 and IPv6 | Dual Stack IPv4 and IPv6 |
Table 5-6 Sample Combination of SDS-SOAM
VNF TYPE | XMI | IMI |
---|---|---|
SDS Signaling | Single Stack IPv4 or IPv6 | Single Stack IPv4 or IPv6 |
Single Stack IPv4 and IPv6 | Dual Stack IPv4 and IPv6 | |
Dual Stack IPv4 and IPv6 | Single Stack IPv4 or IPv6 | |
Dual Stack IPv4 and IPv6 | Dual Stack IPv4 and IPv6 |