OpenStack Heat Template
The Oracle Communications Session Border Controller supports Heat templates when launching virtual machines in OpenStack. Heat is OpenStack's orchestration service, and a Heat Orchestration Template (HOT) is a YAML file that defines the networks, security group, and other resources available for each virtual machine. During orchestration, Heat can simultaneously launch multiple virtual machines that work together as HA pairs.
Extract the Environment File
After downloading the compressed TAR file from Oracle, extract the contents on the machine from which you will deploy virtual machines.
-
Extract the compressed HOT file bundled with your software package.
tar xzf <filename>_HOT.tar.gz
- Extract the Newton tar
file if your OpenStack is running Newton; extract the Pike tar file if your
OpenStack is running Pike or newer.
tar xf <filename>_HOT_newton.tar
This creates a local directory that contains the environment files.
-
Locate the environment file in the
properties
directory.- For HA environments:
properties/sdHaParams.yaml
- For standalone
environments:
properties/sdStandaloneParams.yaml
- For HA environments:
Select Product and Entitlements
Both the product and its entitlements are defined in the entitlement
file. Entitlement files are located in the
entitlements
directory.
Setup Product Description | Entitlement File Name |
---|---|
Session Border Controller | sbc.yaml
|
Peering Session Border Controller | perring_sbc.yaml
|
Enterprise Session Border Controller | esbc.yaml
|
Session Router - Session Stateful | sr_session_stateful.yaml
|
Session Router - Transaction Stateful | sr_transaction_stateful.yaml
|
Subscriber-Aware Load Balancer | slb.yaml
|
Entitlement files are passed to the
openstack
command when deploying a virtual machine.
For complete instructions on deploying a Heat template, see the README.
Set Parameters in Environment File
- primaryName—Name of the instance as displayed in the OpenStack GUI. The value gets passed in the bootparams as the Target Name.
- secondaryName—(HA only) Name of the instance as displayed in the OpenStack GUI. The value gets passed in the bootparams as the Target Name.
- highAvailability—Enable or disable HA for this template. Always set to true in the HA environment file and false in the standalone environment file.
- enableRestInterface—Enable or disable the REST API
interface. By default this is set to
false
.If you set enableRestInterface to true, the SBC generates a self-signed certificate to enable the REST interface. If your REST client requires a specific TLS version or key size, you may edit the files in the
xmlconfig
directory to change the properies of the temporary self-signed certificate.WARNING:
Replace the self-signed certificate with your own CA-signed certificate before moving the SBC into a production environment. - flavor—The name or ID of the OpenStack flavor.
- image—The name or ID of the previously uploaded SBC image.
- availabilityZone—Specify the availability zone where the SBC will be placed.
- securityGroup—Specify the
security group.
Note:
The default security group drops incoming traffic, so either change the parameters of the default security group or create a new security group that allows incoming traffic. - affinityPolicy—(HA only) Set the affinity policy for an HA pair. The default value anti-affinity is recommended.
- userPass—The SHA1 hash of the user passphrase.
- adminPass—The SHA1 hash of the admin passphrase.
- diskPartitions—Specify the percentage of disk space that will be allocated for each partition.
- licenseKeys—The license keys to be used when the SBC is created.
- applyBaseConfiguration—Enable or disable the base configuration which is suitable for minimal Standalone or HA-pair functionality.
- configuration—If
applyBaseConfiguration is set to true, specify the input parameters for the
base configuration. Subparameters include:
- dosCores—Specify the number of CPU cores dedicated for denial-of-service protection.
- forwardingCores—Specify the number of CPU cores dedicated for forwarding frames.
- transcodingCores—Specify the number of CPU cores dedicated for transcoding media.
- ntpServer1—Specify the IP address of an NTP server to use for time synchronization.
- ntpServer2—Specify the IP address of an NTP server to use for time synchronization.
- snmpCommunityName—Specify the name of the SNMPv2 community to use for SNMP management.
- snmpIpAddress—Specify the IP address to add to the SNMPv2 community for SNMP management.
- wancom0VLAN—(Only available on Pike and newer) Specify the bootparameter VLAN value for the wancom0 interface.
- networks—Specify the name of the networks to attach to each network interface.
- portSecurityPolicy—Specify the port security policy currently in use for each network.
- primary:fixed_ips—Specify the IP addresses for the network interfaces on the primary HA pair. The wancom0 address gets passed in the bootparams as IP Address.
- secondary:fixed_ip—(HA only) Specify the IP addresses for the network interfaces on the secondary HA pair. The wancom0 address gets passed in the bootparams as IP Address.
- virtualIPs—(HA only) Specify the virtual IP addresses for HA media interfaces.
- virtualMACs—(HA only) Specify the virtual MAC addresses for HA media interfaces.
- vnicBinding—Specify the virtual NIC binding type for each media interface.
See the comments in the environment file for available values.
See the README for complete instructions on deploying a Heat template.