5.5 IDIH Deployment Using VNFM Heat Template
Introduction
IDIH deployment is performed using VNFM heat orchestration template. Heat template is in the yaml format file and requires the parameter file for the deployment.
Prerequisite
- Download the RC file of the cloud on which the deployment is performed.
- From the downloaded file, acquire the template, environment, and parameter file to perform the deployment.
- Edit the parameter file for image, flavor, and network based on the cloud on which the deployment is performed.
- The OpenStack client must be installed on the server where deployment is performed.
Figure 5-1 Heat template deployment

Note:
IDIH 9.1 requires different flavour VMs and additional resources as compared to the older IDIH.Installation Steps through CLI
Perform the following steps to install and configure the IDIH:
- Obtain the Linux box with the OpenStack client that is preinstalled. If not, first install Python and PIP, and then install the OpenStack client in Linux Box to interact with OpenStack through CLI.
- Select the root user by running the following
commands:
yum install python-devel
pip install python-openstackclient
- The heatclient plugin will be skipped while importing. To install the plugin perform
the following command:
pip install python-heatclient
- Locate an OpenStack instance.
Note:
The identified OpenStack instance must meet the OpenStack prerequisites. - Download the OpenStack API credential file from OpenStack by performing the
following steps:
- Log in to OpenStack GUI.
- Select the API Access section tab.
- Click 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 running the following
command:
source openrc.sh
When you run the command, it will prompt for the password, provide the OpenStack controller password.
- Download the HEAT templates for installing IDIH.
Note:
Download the IDIH heat templates and parameter file through OpenStack Cli Client. - Following are the steps to upload the image file to OpenStack:
- From the OpenStack GUI, navigate to Projects and Compute-Image.
- Click Create Image.
- In the Create Image dialog box, perform the following
steps:
- In the Image Source field, select Image File.
- In the Image File field, select
the IDIH VM images like MySql, Kafka and microServices.
The following table provides the value that must be provided in the DIH flavors:
Table 5-11 IDIH Flavor Value
Flavor name VCPUs RAM(GB) Root Disk(GB) Ephemeral Swap Disk Additional Information kafka_flavor 12 16 170 0 0 Additional Cinder volume of 1 GB Mysql-DB-DataNode 12 16 220 0 0 Additional Cinder volume of 1 GB service_profile 12 16 120 0 0 NA
- Modify the input parameters. Edit the heat parameters file in the
params.yaml
.Note:
- The input parameters are defined as key value pairs. Only modify the values that appear on the right side of the colon.
- A YAML file must be structured appropriately. Do not remove any leading spaces or insert any new lines to the file.
- After editing, Save the file.
- Deploy the IDIH by performing the Openstack CLI, run the following
command:
openstack stack create -t eidih_provider.yaml -e params.yaml -e eidihResources.yaml <stackName>
Note:
eidih_provider.yaml
: The main template file for deployment of IDIH Servers.eidihResources.yaml
: The registry yaml file for the mapping of the environment files and the security group file mapping.params.yaml
: The parameter file specification:- Parameter file: required to provide the appropriate parameters such as network, flavor, and image for the desired VM.
- Template file: The main heat template used for the deployment on cloud.
- Environment file: The file used for the deployment, where all the configuration of the servers are present.
- Resource file: It is the registry file which maps the required environment yaml files, like the security group.
- Security Group yaml file: various ports are opened for various purposes.
Installation Steps through VNFM Swagger GUI
IDIH deployment is supported by VNFM, users can enter the required parameters directly through the swagger GUI, which is similar to an API call. The Swagger API will include a request JSON format that will accept the essential parameters for the IDIH stack deployment.
Sample Request JSON for Dynamic IP Deployment:
Instantiating eidih Request generated for Dynamic Ip Deployment
URL: https://<<VNFM HOST IP>>:8443/vnfm/v1/vnf_instances/< VNF ID received from create request>/instantiate
Accept: application/json
Content-Type: application/json
Authorization : <Token generated after login>
{
"flavourId":"EIDIH",
"instantiationLevelId":"small",
"extVirtualLinks":"extVirtualLinks",
"extManagedVirtualLinks":[],
"vimConnectionInfo": {
"MvlCloud": {
"vimId": "vimId",
"vimType": "ETSINFV.OPENSTACK_KEYSTONE.V_3",
"interfaceInfo": {
"endpoint": "http://oortcloud.us.oracle.com:5000/v3"
},
"accessInfo": {
"project": "DSR IDIH",
"region": "RegionOne",
"username": "xxxx",
"password": "xxxx",
"userDomain": "DSEE",
"projectDomain": "xxxx"
}
}
},
"localizationLanguage":"localizationLanguage",
"additionalParams":{
"xmiNetwork":{
"name":"ext-net2",
"ipVersion":"IPv4",
"xmiSubnetName" : "ext-net2-subnet"
},
"imiNetwork":{
"name":"ext-net-lab",
"ipVersion":"IPv4",
"imiSubnetName" : "ext-net-lab-subnet"
},
"xsiNetwork":{
"name":"xsiNetworkDual",
"ipVersion":"IPv4",
"xsiSubnetName" : "xsiIPv4"
},
"serviceImage": "service-9.1-split21",
"serviceFlavor": "dsr.ipfe.bmark",
"kafkaImage": "kafka-9.1-split21",
"kafkaFlavor": "dsr.ipfe.bmark",
"mySqlImage": "mysql-9.1-split21",
"mySqlFlavor": "dsr.ipfe.bmark",
"kafkaVolumeId": "95d2100c-41d2-4174-a2f2-903b81e82ac4",
"mySqlVolumeId": "936cc476-a735-4fa9-ab19-f7d0bd14b5d9"
}
Sample Request json for Fixed IP Deployment:
Instantiating eidih Request generated for Fixed Ip Deployment
URL: https://<<VNFM HOST IP>>:8443/vnfm/v1/vnf_instances/< VNF ID received from create request>/instantiate
Accept: application/json
Content-Type: application/json
Authorization : <Token generated after login>
{
"flavourId": "EIDIH",
"instantiationLevelId": "small",
"extVirtualLinks": "extVirtualLinks",
"extManagedVirtualLinks": [],
"vimConnectionInfo": {
"MvlCloud": {
"vimId": "vimId",
"vimType": "ETSINFV.OPENSTACK_KEYSTONE.V_3",
"interfaceInfo": {
"endpoint": "http://oortcloud.us.oracle.com:5000/v3"
},
"accessInfo": {
"project": "DSR IDIH",
"region": "RegionOne",
"username": "xxxxx",
"password": "xxxx",
"userDomain": "DSEE",
"projectDomain": "xxxx"
}
}
},
"localizationLanguage": "localizationLanguage",
"additionalParams": {
"xmiNetwork": {
"name": "ext-net2",
"ipVersion": "IPv4",
"xmiSubnetName": "ext-net2-subnet",
"fixedIps": {
"kafkaXmiIp": "10.75.236.190",
"serviceXmiIp": "10.75.236.61",
"mysqlXmiIp": "10.75.237.38"
}
},
"imiNetwork": {
"name": "ext-net-lab",
"ipVersion": "IPv4",
"imiSubnetName": "ext-net-lab-subnet",
"fixedIps": {
"kafkaImiIp": "10.196.96.27",
"serviceImiIp": "10.196.96.47",
"mysqlImiIp": "10.196.96.50"
}
},
"xsiNetwork": {
"name": "xsiNetworkDual",
"ipVersion": "IPv4",
"xsiSubnetName": "xsiIPv4",
"fixedIps": {
"kafkaXsiIp": "192.168.1.16"
}
},
"serviceImage": "service-91-split-23",
"serviceFlavor": "dsr.ipfe.bmark",
"kafkaImage": "kafka-91-split-23",
"kafkaFlavor": "dsr.ipfe.bmark",
"mySqlImage": "mysql-91-split-23",
"mySqlFlavor": "dsr.ipfe.bmark",
"kafkaVolumeId": "26d9bb7e-dde8-46c6-b6e9-9fcbaac6dfdf",
"mySqlVolumeId": "0d8aa981-e560-4fbc-b65e-8bb640ced223"
}
}