Ribbon provides an infrastructure as code (IaC) environment you can use to deploy SBC SWe N:1 HA instances in a VMware environment. The IaC environment provides the code, templates, sample files, and instructions needed for launching and managing virtualized SBC deployments. The instructions for working within the IaC environment are embedded as inline comments within the sample and template files and as separate readme files.

The IaC environment is packaged as a tarfile that you download from the Ribbon Customer Portal, similar to other software packages. Refer to the current release notes for the specific file name.

IaC Environment Prerequisites

The environment in which you place and expand the IaC tarball must include:

  • A Linux server running RedHat Enterprise Linux (RHEL), CentOS 7 or Debian 9
  • Python 2.7 or later
  • An internet connection for downloading and installing additional files that may be required for your deployment
  • Root access on the instance or ability to become root (for example, using sudo su -)
  • Access to the vSphere ESXi host IP from the Linux server where the IaC environment is set up. 

VMware Environment Prerequisites

The VMware environment in which the SBC SWe instances are deployed must meet the VMware hardware and software requirements described on this page: VMware Hardware and Software Requirements.
Note that IaC requires vSphere ESXi 6.5 or above.

Creating Virtual Switches and Port Groups Manually (Optional)

IaC supports creating virtual switches and port groups for your SBC deployment if they are not already present in your VMware environment, or you can reuse virtual switches and port groups that were manually created and already exist. You have the option to manually create virtual switches and port groups for your deployment using the procedure given here
Creating Virtual Machine using vNetwork Standard Switch (vSwitch) in VMware ESXi Web Client 

Creating SR-IOV Interfaces

If you plan to use SR-IOV interfaces within your deployment, use the following two procedures to configure them in VMware: 

When you are launching a deployment in which you want to use the SR-IOV interfaces, you must provide the SR-IOV interface IDs as input to IaC so the interfaces are attached to the VM.

Deploying the IaC Environment

Complete the steps below to extract the IaC tar ball and access the README.md file that contains information on how to set up and begin using the IaC environment. The following figure shows an example of the command sequence.

Command Example for Deploying the IaC Environment

  1. Log into the Linux server where you are setting up the IaC environment as the 'root' user.
  2. Make a directory where you want to extract the IaC tar ball, for example, iacDir:
    mkdir iacDir
  3. Copy the IaC tar ball to the new directory and change to that directory:
    cp iac*.tar.gz iacDir/
    cd iacDir/
    where iac* is the full name of the tar ball file.

  4. Extract the IaC tar ball:
    $ tar xvfz iac*.tar.gz
    where iac* is the full name of the tar ball file.
    The file untars to create the iac/ directory containing the IaC environment directories and the README.md file. 

  5. Use an editor, such as vi, to open the README.md file.
    $ vi README.md
  6. Follow the instructions given in the README.md file to set up IaC on a Linux server and begin working with IaC.