OSM instantiation parameters
From OSM Public Wiki
When creating a NS instance, it is possible to pass instantiation parameters to OSM using the "--config" option of the client or the "config" parameter of the UI. In this section we will illustrate through some of the existing examples how to specify those parameters using OSM client:
Specify a VIM network name for a NS VLD
When we are instancing, we can pass different instantiation parameters. In this case, we will specify a VIM network name for a particular VLD.
- The following command is the generic expression "--config" option of the client in this specific case.
- --config '{vld: [ {name: mgmtnet, vim-network-name: netVIM1} ] }'
We can specify the previous statement using the descriptors of Hackfest2 and instantiating as follows:
osm ns-create --ns_name hf1 --nsd_name hackfest1-ns --vim_account openstack1 --config '{vld: [ {name: mgmtnet, vim-network-name: mgmt} ] }'
Specify a VIM network name for an internal VLD of a VNF
--config '{vnf: [ {member-vnf-index: "1", internal-vld: [ {name: internal, vim-network-name: netVIM1} ] } ] }'
- VNF package: hackfest2-vnf
- NS package: hackfest2-ns
- Image: ubuntu1604
We can use the previous scenario to specify a VIM network name for an internal VLD of a VNF
--config '{vnf: [ {member-vnf-index: "1", internal-vld: [ {name: internal, vim-network-name: mgmt} ] } ] }'
Check:
In NS instances, go to actions and select show info to see the details of the instance.
Specify IP profile information for an internal VLD of a VNF
--config '{vld: [ {name: datanet, ip-profile: {...} } ] }'
Specify IP address and/or mac address for an interface
--config '{vnf: [ {member-vnf-index: "1", vdu: [ {id: hackfest1VM, interface: [{name: vdu-eth0, ip-address: "10.31.31.21", mac-address: "52:33:44:55:66:21"}]} ] } ] } '
Force floating IP address for an interface
--config '{vnf: [ {member-vnf-index: "1", vdu: [ {id: hackfest1VM, interface: [{name: vdu-eth0, floating-ip-required: True }]} ] } ] } '
Multi-site deployments (specifying different VIM accounts for different VNFs)
--config '{vnf: [ {member-vnf-index: "1", vim_account: vim1}, {member-vnf-index: "2", vim_account: vim2} ], vld: [ {name: datanet, vim-network-name: {vim1: netVIM1, vim2: netVIM2} } ] }'
- VNF package: hackfest2-vnf
- NS package: hackfest2-ns
- Image: ubuntu1604
We can use the previous scenario to specify different VIM accounts for different VNFs
--config '{vnf: [ {member-vnf-index: "1", vim_account: openstack1}, {member-vnf-index: "2", vim_account: openstack3} ], internal-vld: [ {name: datanet, vim-network-name: {openstack1: mgmt, ospenstack3: mgmt} } ] }'
Check:
In NS instances, go to actions and select show info to see the details of the instance.
Specifying a volume ID for a VNF volume
--config '{vnf: [ {member-vnf-index: "1", vdu: [ {id: VM1, volume: [ {name: Storage1, vim-volume-id: 05301095-d7ee-41dd-b520-e8ca08d18a55} ] } ] } ] }'