When you use Virtual Network Function Manager (VNFM) to deploy SBC SWe in an OpenStack cloud environment you must provide it with a Cloud Service Archive (CSAR) package file that is appropriate for the type of deployment you want to create. The CSAR package includes a Virtual Network Function Descriptor (VNFD) file that defines the characteristics of your deployment. Unable to show "metadata-from": No such page "_space_variables"
provides the script createVnfmCsar.py
and a VNFD template file (vnfmSol001VnfdTemplate.yaml
) you can use to create a CSAR file for your deployment.
Important
The script creates one or more CSAR files based on the run-time parameters you specify. Note that the default value for several parameters is "all." If you run the script without specifying any parameters, the script uses its defaults and creates multiple CSAR files for all possible values and combinations for these parameters. Use the run-time parameters to restrict the output and create a CSAR file that is tailored to a specific deployment model.
The following table describes the script run-time parameters.
createVnfmCsar.py Script Run-time Parameters
Parameter | Description | Default |
---|
-f <flavor size> [dev | std] | Use this parameter to specify the flavor size for the deployment. For customer deployments, use the option std . | all sizes |
-h <ha type> [simplex | ha | n_1_ha] | Use this parameter to specify an HA model for the deployment. The options are: ha - to specify 1:1 HA redundancy.n_1_ha - to specify an N:1 HA deployment. N can be up to 4 and is applicable for M-SBC deployments. Use this parameter with the --num_instances parameter which specifies the number of instances in the deployment.simplex - to specify a standalone instance for a test environment.
| all HA models |
-i <interface type> [virtio | sriov | provider] | Use this parameter to specify the network interface type for your deployment. The options are: provider - to specify a provider network.sriov - to specify an SR-IOV (single root input/output virtualization) network.virtio - to specify a virtio network.
| all interface types |
-p <prod_version> | Use this parameter to specify the SBC product version number. This parameter is required. Provide the full release number within quote marks. For example: -p "7.02.00" | n/a |
-q <qcow_image_file> | Include this parameter to specify that you want to include the SBC software .qcow2 image file within the CSAR package. Including the image file greatly increases the size of the CSAR file and is not required by VNFM. If you use this option, specify the name of the image file following the -q parameter. | no image file |
-s <subversion> | Use this parameter to specify the SBC release number. This parameter is required. Provide the release number within quote marks. For example: -s "R000" | n/a |
-v <vnfd_template> | Include this parameter to specify the full path and the name of the VNFD template file. If the template file resides in the same directory as the script, the -v parameter is not needed. | current directory |
--affinity [AntiAffinity | Affinity |None] | Use this parameter to specify on which hosts VMs are placed. The options are: AntiAffinity - to specify that each VM is placed on a separate physical host.
Affinity - to specify that all VMS are placed on the same physical host.
None - to not specify a preference and allow the OpenStack environment to determine the placement of VMs.
| AntiAffinity |
--cinder_boot | Include this parameter to specify that you want to allocate a bootable cinder volume and copy the boot image (the .qcow2 image) to that volume before starting the VM. By default no cinder boot volume is created. Activating this option causes the initial boot time to increase significantly. | no cinder boot volume |
--ipv6 | Include this parameter to specify that you want to use IPv6 addressing for the networks in your deployment. | IPv4 |
--num_instances <number> | Use this parameter to specify the number of instances to create within an N:1 HA deployment. The default value is 5 which creates a 4:1 HA deployment. | 5 |
--personality [isbc | msbc | ssbc | tsbc] | Use the parameter to specify the type of SBC deployment to create. The options are: isbc - integrated SBC deploymentmsbc - media SBC component of a distributed SBC deploymentssbc - signaling SBC component of a distributed SBC deploymenttsbc - a media/transcoding SBC component of a distributed SBC deployment
| all types |
--proprietary_vnfd_format | Include this parameter to specify to use a proprietary format for the VNFD file rather than the SOL001 standard format. | not enabled |
--prov_mgmt_virtio | If you specify to use the provider network type, include this parameter to specify that you want to override that choice for the management interface and use a virtio network instead. | not enabled |
--private_key_file <file> | Use these options to specify the path and name of a private key file and a certificate file to use to generate a signature for the CSAR file. A signature is not currently required by VNFM.
| ~/certs/key.pem |
--certificate_file <file> | ~/certs/certificate.pem |
--sbc_public_key <file> | Include this parameter to specify a path and name for a file containing a default public key to provide in the Cloud Config Init Data section on the Environment tab in the VNF Deployment Wizard. This section identifies the public key required to SSH to the deployed SBC. Specifying a key file with this parameter makes the key available as the default when a user deploys a VNF using this CSAR file. A user can still override the default with a different key when deploying. | Example: id_rsa.pub |
Running the Script
Complete the following steps to generate a CSAR file:
- If you have not already done so, download the script and VNFD template files.
- Copy the script and template files to a Linux environment where the zip utility and python are also both installed. Openssl must also be present if you want to sign the package files.
- Review the options in the preceding table to determine which options are required for your deployment. The
-p
and -s
parameters are required. All other parameters are optional, but including a specific value for the -f
, -h
, -i
, and --personality
parameters ensures you generate a single CSAR file for a single deployment type.
- Switch to the directory location where the script and template file reside.
- Referring to the syntax shown in the previous table, enter the script name followed by its parameters in a single statement. The location of the CSAR file(s) the script generates is shown in the screen output.
Important
The CSAR script enters a name for the SBC image file in the VNFD file that it derives using the values you specified for the -p
and -s
parameters. The name of the SBC image file (qcow2 file) you upload to Glance must match this name. Using the the values 7.02.00 and R000, the script concatenate these values and prepends the resulting string with sbc-V0
. For this example, VNFM would require the image name to be "sbc-V07.02.00R000".
Examples
The following command creates a single CSAR package file for a 1:1 HA S-SBC deployment that uses virtio interfaces:
createVnfmCsar.py -p "7.02.00" -s "R000" -f std -h ha -i virtio --personality ssbc
The following command creates a single CSAR package file for a 3:1 HA M-SBC deployment that uses SR-IOV interfaces:
createVnfmCsar.py -p "7.02.00" -s "R000" -f std -h n_1_ha --num_instances 4 -i sriov --personality msbc
The following command creates a single CSAR package file for a 1:1 HA I-SBC deployment that uses an IPv6 provider network:
createVnfmCsar.py -p "7.02.00" -s "R000" -f std -h ha -i provider --ipv6 --personality isbc
The following command creates three CSAR packages file for 1:1 HA S-SBC deployments – one with virtio, one with SR-IOV, and one with provider interfaces:
createVnfmCsar.py -p "7.02.00" -s "R000" -f std -h ha --personality ssbc