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.
provides the script createVnfmCsar.py
and a VNFD template file (vnfmSol001VnfdTemplate.yaml
) you can use to create a CSAR file for your deployment.
Script Parameters
Note |
---|
|
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. Help information for these parameters is also available by entering: createVnfmCsar.py --usage
Info |
---|
|
In release releases 8.1.0R1 and 8.1.0R2 the script was enhanced with new options. See the following table and use the help command to see the latest information. |
Caption |
---|
0 | Table |
---|
1 | createVnfmCsar.py Script Run-time Parameters |
---|
|
Parameter | Description | Default |
---|
-f <flavor size> [dev | std] | Use this parameter to specify the flavor size for the SBC nodes in the deployment. For customer deployments, use the option standard (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 for S-SBC and 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 "8.01.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 | --cinder_boot | Include this parameter to specify that you want to create a bootable Cinder volume and copy the boot image (the .qcow2 image) to that volume before starting the VM. By default, no boot volume is created. Activating this option causes the initial boot time to increase significantly. Use the --cinder_oam_DISK and --cinder_sbc_DISK options to specify the Cinder boot volume sizes. Note: The ephemeral disk size is set to 0 by default when you enable creating a Cinder boot volume. | no Cinder boot volume | --cinder_disktype <name> | Include this parameter to specify they type of disk on which to create the Cinder volume. | no specific type | --cinder_log | Include this parameter to specify that you want to create a Cinder volume to use for /var/log. By default no Cinder log volume is created. You can use this option to re-associate the /var/log directory tree from a previous orchestration to a new orchestration, by specifying that boot volume during orchestration. Note: Use the --cinder_log_DISK option to specify a size for the Cinder log volume. | no Cinder log volume | --cinder_log_DISK <disk_gb> --cinder_oam_DISK <disk_gb> --cinder_sbc_DISK <disk_gb> | Include these parameters to specify the disk sizes for the Cinder volumes if you specify to create a Cinder boot volume or a Cinder log volume. If you are creating a log volume for storing log files and CDRs, consider the following formula to determine a minimum volume size to accommodate CDRs, and then add approximately 60GB for log and core files: (40% of peak CPS) * (records/call) * 86400 * (days) * 2K where: - CPS is calls per second
- records per call is typically one or two, and depends on your deployment
- 86400 is the number of seconds per day
- days is the number of days of CDR records to store
| boot volume: default disk size based on specified flavor log volume: 30 GB | --ha_io_type [virtio | sriov | provider] | Include this parameter to override the general -i interface type configuration and specify a different type of interface for the HA network. | virtio | --image_name <image_name> | Include this parameter to specify the name of the SBC software qcow2 image file you are uploading to the Glance image repository so that name appears in the VNFD file. By default a name is derived by joining the values you specify for the product (-p ) and the version (-s ). Note that the image name must exactly match the name of the image in Glance to allow VNFM to load the image. | make image name from product (-p ) and version (-s ) strings | --ipv6 | Include this parameter to specify that you want to use IPv6 addressing for the networks in your deployment. | IPv4 | --mgt_io_type [virtio | sriov | provider] | Include this parameter to override the general -i interface type configuration and specify a different type of interface for the management network. | not enabled, defaults to the type specified with the -i parameter | --mgt_vip
| Include this parameter if you want to add a virtual IP address to the management interface. Ensure the interface type is not "virtio". | no virtual IP address is added to the management interface | --num_oam_instances <num_oam_instances> | Include this parameter to specify the number of OAM node instances to create within an N:1 HA deployment that will use the OAM configuration model. For example, specify 2 to create a 1:1 HA pair of OAM nodes. For deployments that use the Direct Single configuration model (standalone or 1:1 HA deployments), the default value of 0 applies because OAM nodes are not required. Refer to SBC SWe Configuration Management for descriptions of both models. | 0 | --num_instances <number> | Use this parameter to specify the number of SBC instances to create within the redundancy groups in an N:1 HA deployment. The default value is 5 which creates a 4:1 HA deployment. | 5 | --num_sbc_rg <num_sbc_rg> | Use this parameter to specify the number of SBC redundancy groups to create within the VNF. The range allowed is 1 to 8. See Creating Multiple Redundancy Groups that Use the Same OAM Nodes for the procedure to create multiple redundancy groups. | 1 | --omit_ipv6 | Use this parameter to explicitly remove support for IPv6 deployments and the choice of IP version. | not enabled | --personality [isbc | msbc | ssbc | tsbc | mrfp | slb ] | Use this parameter to specify the type of 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 – media/transcoding SBC component of a distributed SBC deploymentmrfp – media resource function processor (MRFP) nodeslb – SIP-aware front-end load-balancer node
| all types | --pkt_vip | Include this parameter to add a virtual IP addresses to the packet interfaces. Ensure the interface type is not "virtio". | virtual IP addresses are not added to the packet interfaces | --pkt_oam_io_type [virtio | sriov | provider] | Include this parameter to specify a type of interface for the packet ports on the OAM nodes. | virtio | --placement_sbc_name <name>
--placement_oam_name <name>
| Include this parameter to specify a placement group name for SBC or OAM nodes. Placement groups affect which affinity policies are assigned to VMs, and the name selected affects the server group name. | Sbc%VNFTYPE%VmPlacement
Oam%VNFTYPE%VmPlacement
| --prov_mgmt_virtio | This option is deprecated. Use "--mgmt_io_type virtio" instead. | not enabled | --sbc_tar [<file> | omit] | Include this parameter to specify the path and file name for an input tar file, or use omit to not include a file. Specifying a tar file is currently not required. | omit | --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 during VNF instantiation. A public key is required to use SSH to access the deployed SBC. Specifying a key file with this parameter makes the key available as the default when a user deploys a VNF using the generated CSAR file. A user can still override the default with a different key during instantiation. | Example: id_rsa.pub | --security_restrict | Include this parameter to have the recommended security rules created automatically during orchestration. Refer to Creating Security Group Rules for the list. If you use this option, your tenant must a large enough quota for the supplied security rules. The quota requirement increases if your deployment includes OAM VMs and when it supports both IPv4 and IPv6. A basic IPv4 SBC deployment requires 54 rules, while a deployment that includes OAM VMs and supports IPv4 and IPv6 requires 196 rules. | not enabled | --sriov_redundancy | Include this parameter to add two additional packet interfaces if SR-IOV is the io_type . Refer to SBC SWe Cloud Port Redundancy and Link Detection for more information on packet port redundancy. | not enabled | --timeout <seconds> | Include this parameter to specify a timeout, in seconds, for the CLI /bash shell. | 300 | --version_suffix <name> | Include this parameter to specify a suffix to append to the package version in the CSAR's .mf file. | no suffix | --vCPU <num_vCPU> --RAM <ram_mb> --DISK <disk_gb> | The flavor you select for an SBC VM defines the default values for sizing the VM when it is instantiated. Include these parameters to override one or more of the default values for VM sizing with a different value that you specify. The --DISK option applies to the ephemeral disk size. | various | --oam_vCPU <num_vCPU> --oam_RAM <ram_mb> --oam_DISK <disk_gb> | Include these parameters to override one or more of the default sizing values for OAM nodes with different values. There are various default values for these sizes, depending on the options selected. The --oam_DISK option applies to the ephemeral disk size. - For
std flavor deployments, OAM nodes have a size of vCPU=4, RAM=16 GiB, DISK=80 GB. - For
dev flavor deployments, OAM nodes have the same size as other VMs: vCPU=4, RAM=10GiB, DISK=80 GB.
| various |
|
Custom Naming Parameters
You have the option to include script parameters that modify the names assigned to the system and individual node instances when the system is deployed. Refer to System and Instance Naming in SBC SWe N:1 and Cloud-Based Systems for more information on the default naming conventions.
The following table summarizes the custom naming parameters.
Caption |
---|
0 | Table |
---|
1 | Script Parameters for Custom Naming |
---|
|
Parameter | Description | Default |
---|
--custom_system_name <name> | Include this parameter to specify a custom system name. The specified name appears in the VNFM UI as the default in the SYSTEMNAME field. | SystemName | --custom_oam_name <name> | Include this parameter to specify a custom name to use in naming OAM nodes. The specified name is included in the actualCeName assigned to each OAM node. | OAM | --custom_sbc_name <name> | Include this parameter to specify a custom name to use in naming SBC nodes. The specified name is included in the actualCeName assigned to each SBC node. | %VNFTYPE% (for a single redundancy group)
RG%rg_index%-%VNFTYPE% (for multiple redundancy groups)
| --custom_vmname_dash | Include this parameter to manually insert a dash before the VM index. | no dash is added |
|
Tokens
The following tokens are allowed within the custom naming parameters:
%rg_index%
-- to include the redundancy group index.
%vnftype%
or %VNFTYPE%
-- to include the VNF type (for example: SSBC) in lower or uppercase.
Naming Syntax
To construct the SBC parameter actualCeName
for each node it is deploying, VNFM begins with the the custom_system_name
and
appends either the custom_oam_name
or custom_sbc_name
(based on node type), followed by a VM index. That is:
<custom_system_name><
custom_oam_name><VM index>
or
<custom_system_name><custom_sbc_name><VM index>
The VM index is a unique instance number for the node type, up to 5 in a 4:1 HA deployment. For clarity, if either the custom_oam_name
or custom_sbc_name
ends in a digit or the %rg_index%
token, VNFM automatically adds a dash before the VM index. Include the custom_vmname_dash
parameter to manually include a dash before the VM index.
Custom Naming Example
The following custom naming parameters in a 4:1 HA deployment with two redundancy groups:
--custom_oam_name OAMX --custom_sbc_name GRP%rg_index% --custom_system_name EX-SSBC22
Yields the following node names:
EX-SSBC22-OAMX1, EX-SSBC22-OAMX2
EX-SSBC22-GRP1-1, EX-SSBC22-GRP1-2, EX-SSBC22-GRP1-3,EX-SSBC22-GRP1-4,EX-SSBC22-GRP1-5
EX-SSBC22-GRP2-1, EX-SSBC22-GRP2-2, EX-SSBC22-GRP2-3,EX-SSBC22-GRP2-4,EX-SSBC22-GRP2-5
Info |
---|
|
The createVnfmCsar.py script supports additional run-time options that are not listed in the previous table because they are generally not needed in customer deployments. These additional options are intended for debugging or development purposes. To display help information on the additional debug options, enter: |
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. The template and associated script are available in the file
cloudTemplates.tar.gz
. - 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.
Note |
---|
|
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 8.01.00 and R000, the script concatenate these values and prepends the resulting string with sbc-V0 . For this example, VNFM requires an image name of "sbc-V08.01.00R000" (unless you use the --image_name parameter to override this name). |
Examples
The following command creates a single CSAR package file for a 1:1 HA S-SBC deployment that uses virtio interfaces:
Code Block |
---|
createVnfmCsar.py -p "8.01.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 and includes a 1:1 HA pair of OAM nodes:
Code Block |
---|
createVnfmCsar.py -p "8.01.00" -s "R000" -f std -h n_1_ha --num_instances 4 -i sriov --personality msbc --num_oam_instances 2 |
The following command creates a single CSAR package file for a 1:1 HA I-SBC deployment that uses an IPv6 provider network:
Code Block |
---|
createVnfmCsar.py -p "8.01.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:
Code Block |
---|
createVnfmCsar.py -p "8.01.00" -s "R000" -f std -h ha --personality ssbc |
Creating Multiple Redundancy Groups that Use the Same OAM Nodes
The createVnfmCsar.py
script provides an option to create multiple redundancy groups within the same cluster. These redundancy groups will share the same configuration and are managed by the same OAM nodes. When you set the num_sbc_rg
option to a value greater than one, the script generates a VNFD file that includes additional sets of parameters for the number of redundancy groups specified. During instantiation, VNFM presents multiple sets of parameters where appropriate, enabling you to define the parameters that are specific to an individual redundancy group, such as its name. The redundancy groups are uniquely identified in the interface by prepending names with rg#_
.
To create multiple SBC redundancy groups that are managed by the same OAM nodes:
- Execute the
createVnfmCsar.py
script using the option num_sbc_rg
to specify the number of SBC redundancy groups you want to create.
For example, the following command generates a CSAR package containing a VNFD file that creates two 4:1 HA M-SBC redundancy groups:
createVnfmCsar
.py -p 8.01.00 -s R000 -i virtio -f std -h n_1_ha
--num_instances 5 --num_oam_instances 2 --personality msbc --omit_ipv6 --num_sbc_rg 2
Onboard the resulting CSAR package file to VNFM.
Instantiate the VNF using the CSAR package you generated. VNFM replicates any parameters needed to define each redundancy group. The following figure shows a part of the VNFM instantiation screen requesting SBC system names for two redundancy groups. Similarly, VNFM replicates other instantiation parameters (Networks, Flavors, Manual IP) for each redundancy group.
Caption |
---|
0 | Figure |
---|
1 | Multiple Redundancy Groups - System Name Options |
---|
|
|