VNF is instantiated upon configuration. So, to instantiate the VNF, you must load the VNF configuration into the NSO. The
VNF has references to the SOL006 VNFD. It also has references to VIM artifacts like Openstack tenant networks, and IP addresses.
For details about YANG definition of VNF, see Appendix A.
Instantiating a VNF involves many components:
-
An ETSI SOL001 VNFD template packaged as a TOSCA VNF package
-
An ETSI SOL006 VNFD with the same name or ID as the VNF package
-
A VNF instance that is proprietary to the NSO
The Mobility function pack ships with some example VNF packages, which also contain the corresponding SOL006 VNFD. These examples
can be used as a base, but additional customization is required to fit the deployment. An example VNF configuration is given
below:
{
"nfv-vnf-lcm:nfv-vnf":[
{
"network-function-type":"VPC-SI",
"name":"test026",
"vnfd":"VPC-SI-2P-IMAGE-BOOT",
"instantiation-level":"default",
"deployment-flavor":"default",
"mgmt-user-name":"admin",
"mgmt-password":"Csco@123",
"host-name":"vpc-si",
"domain-name":"cisco.com",
"ntp-server":"209.165.201.1",
"name-server":"209.165.201.2",
"location":{
"vim":{
"name":"openstack",
"project":"test",
"zone-id":"nova"
},
"vnfm":"esc-etsi"
},
"network":[
{
"type":"VIM_NETWORK_MANAGEMENT",
"extent":"external",
"name":"test-mgmt",
"subnet-name":"test-mgmt-subnet"
},
{
"type":"VIM_NETWORK_ORCHESTRATION",
"extent":"external",
"name":"test-orch",
"subnet-name":"test-orch-subnet"
},
{
"type":"VIM_NETWORK_SERVICE_1",
"extent":"external",
"name":"service1",
"subnet-name":"service1"
},
{
"type":"VIM_NETWORK_SERVICE_2",
"extent":"external",
"name":"service2",
"subnet-name":"service2"
}
],
"unit":[
{
"type":"VPC-SI",
"image":"core-si-21.23",
"flavor":"core-si",
"connection-point":[
{
"name":"nic0",
"ip-address":[
{
"id":0,
"fixed-address":[
"209.165.201.3"
]
}
],
"security-group":[
"default"
],
"network-type":"VIM_NETWORK_ORCHESTRATION"
},
{
"name":"nic1",
"ip-address":[
{
"id":0,
"fixed-address":[
"209.165.201.4"
]
}
],
"security-group":[
"default"
],
"network-type":"VIM_NETWORK_MANAGEMENT"
},
{
"name":"nic2",
"ip-address":[
{
"id":0,
"fixed-address":[
"209.165.201.5"
]
}
],
"security-group":[
"default"
],
"network-type":"VIM_NETWORK_SERVICE_1"
},
{
"name":"nic3",
"ip-address":[
{
"id":0,
"fixed-address":[
"209.165.201.6"
]
}
],
"security-group":[
"default"
],
"network-type":"VIM_NETWORK_SERVICE_2"
}
]
}
],
"extra-parameters":[
{
"name":"BOOTUP_TIME",
"value":"100"
},
{
"name":"LICENSE_KEY",
"value":"\"VER=1|DOI=1624646484|DOE=1640457684|ISS=3|NUM=212017|
CMT=SWIFT_License|LSG=5000000|LEC=10000000|LGT=5000000|FIS=Y|FR4=Y|FTC=Y|FSR=Y|
FPM=Y|FID=Y|FI6=Y|FLI=Y|FFA=Y|FCA=Y|FTP=Y|FTA=Y|FDR=Y|FDC=Y|FGR=Y|FAA=Y|FDQ=Y|
FEL=Y|BEP=Y|FAI=Y|FCP=Y|LCF=5000000|LPP=5000000|LSF=5000000|FLS=Y|FSG=Y|
LGW=5000000|HIL=XT2|LSB=5000000|LMM=5000000|FIB=Y|FND=Y|FAP=Y|FRE=Y|FHE=Y|
FUO=Y|FUR=Y|FOP=Y|FRB=Y|FCF=Y|FVO=Y|FST=Y|FSI=Y|FRV=Y|F6D=Y|F13=Y|FIM=Y|
FLP=Y|FSE=Y|FMF=Y|FEE=Y|FHH=Y|FIT=Y|FSB=Y|FDS=Y|LSE=5000000|FLR=Y|FLG=Y|
FMC=Y|FOC=Y|FOS=Y|FIR=Y|FNE=Y|FGD=Y|LIP=5000000|FOE=Y|FAU=Y|FEG=Y|FL2=Y|
FSH=Y|FLF=Y|FSP=Y|FNI=Y|FCI=Y|FME=Y|FCN=Y|FUB=Y|FSF=Y|FGO=Y|FPE=Y|FWI=Y|
FAC=Y|FIE=Y|FSM=Y|FAG=Y|FNQ=Y|FEW=Y|FAR=Y|FOX=Y|FPW=Y|FAM=Y|FGX=Y|FWT=Y|
FUA=Y|LDT=5000000|LEX=5000000|LVL=5000000|LQP=5000000|LMP=5000000|
LCU=10000000|LUU=10000000|FXS=Y|FLC=Y|FRT=Y|FSX=Y|FBS=Y|FRD=Y|FXM=Y|
LTO=10000000|FNS=Y|LNS=5000000|SIG=MC0CFBge/
0TZha2Ta7c1L5CLOL2tgDIDAhUAhIKwZxXEJJpr9Xk5buNyzZStrNM\""
}
]
}
]
}
The following is another example to instantiate RCM VNF:
{
"nfv-vnf-lcm:nfv-vnf": [
{
"network-function-type": "RCM",
"name": "RCM-ahhashem-sol003-78",
"vnfd": "RCM-IMAGE-BOOT",
"instantiation-level": "default",
"deployment-flavor": "default",
"mgmt-user-name": "luser",
"mgmt-password": "$8$40/jVMTHJY+Jrd7mZiwqdrKEIz6Kc5Pt2Qvnwi0/65g=;”
"host-name": "rcm",
"domain-name": "cisco.com",
"ntp-server": "209.165.201.1",
"name-server": "209.165.201.1",
"location": {
"vim": {
"name": "openstack",
"project": "ahhashem",
"zone-id": "nova"
},
"vnfm": "esc-etsi"
},
"network": [
{
"type": "VIM_NETWORK_MANAGEMENT",
"name": "ahhashem-mgmt",
"extent": "external",
"subnet-name": "ahhashem-mgmt-subnet"
},
{
"type": "VIM_NETWORK_ORCHESTRATION",
"name": "ahhashem-orch",
"extent": "external",
"subnet-name": "ahhashem-orch-subnet"
},
{
"type": "VIM_NETWORK_SERVICE_1",
"name": "service1",
"extent": "external",
"subnet-name": "service1"
} ,
{
"type": "VIM_NETWORK_SERVICE_2",
"name": "service2",
"extent": "external",
"subnet-name": "service2"
}
],
"unit": [
{
"type": "RCM",
"image": "core-rcm-21.23",
"flavor": "mkal-rcm-hugepages",
"connection-point": [
{
"name": "nic0",
"ip-address":{
"id": 1,
"fixed-address": ["209.165.201.7"]
},
"security-group": ["default"],
"network-type": "VIM_NETWORK_ORCHESTRATION"
},
{
"name": "nic1",
"ip-address":{
"id": 1,
"fixed-address":["209.165.201.8"]
} ,
"security-group": ["default"],
"network-type": "VIM_NETWORK_MANAGEMENT"
},
{
"name": "nic2",
"ip-address": {
"id": 1,
"fixed-address": ["209.165.201.9"]
},
"security-group": ["default"],
"network-type": "VIM_NETWORK_SERVICE_1"
} ,
{
"name": "nic3",
"ip-address": {
"id": 1,
"fixed-address": ["209.165.201.10"]
},
"security-group": ["default"],
"network-type": "VIM_NETWORK_SERVICE_2"
}
]
}
],
"extra-parameters": [
{
"name": "VIM_VM_NAME",
"value": "RCM-ahhashem-sol003-78"
},
{
"name": "HOST_NAME",
"value": "rcm"
},
{
"name": "NIC0_TYPE",
"value": "virtual"
},
{
"name": "NIC1_TYPE",
"value": "virtual"
},
{
"name": "NIC2_TYPE",
"value": "direct"
},
{
"name": "NIC3_TYPE",
"value": "direct"
},
{
"name": "MGMT_USER_NAME",
"value": "luser"
},
{
"name": "MGMT_PASSWORD_ROUND4096",
"value": "$6$rounds=4096$P2wdTbEBO0LHmHi$OwbVEIarMbt
Qxbu5Us5kW0n0MOWp3QN9eVRX7WjvLm4xTJvFpl6vHez3XkKm39XJJ7dGRRIsZqXfcZRjQBA7E."
},
{
"name": "SERVICE_INTERFACE_IP_1",
"value": "209.165.201.9"
},
{
"name": "SERVICE_INTERFACE_IP_2",
"value": "209.165.201.11"
},
{
"name": "NTP_SERVER",
"value": ["209.165.201.12","209.165.201.13","209.165.201.14"]
}
]
}
]
}