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.

  1. Extract the compressed HOT file bundled with your software package.

    tar xzf <filename>_HOT.tar.gz
  2. Extract the Newton tar file if your OpenStack is running Newton; extract the Pike tar file if your OpenStack is running Pike or newer.

    Note:

    For OpenStack versions newer than Pike, see the VNF Metadata and Userdata Example appendix.
    tar xf <filename>_HOT_newton.tar

    This creates a local directory that contains the environment files.

  3. Locate the environment file in the properties directory.

    • For HA environments: properties/sdHaParams.yaml
    • For standalone environments: properties/sdStandaloneParams.yaml

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

The following parameters can be configured in the environment file. Note that some parameters are only available in the HA environment file and not in the standalone 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.