In this section:
You can instantiate SBC SWe deployments in an OpenStack environment using standard Heat Templates. A Heat Template is a .yaml
file that provides essential information to OpenStack that enables creating the VM resources the SBC requires during the orchestration process. An SBC template also includes parameters needed to customize the deployment and to configure networking. You can populate parameters with default values directly in the template or specify parameter values when an instance is deployed through user input or in an Environment File. Refer to OpenStack documentation, or documentation from your OpenStack provider, for information on using Heat Templates.
Ribbon provides a variety of sample Heat Templates for different types of SBC deployments. Use these sample templates as reference to identify parameter input that is required for different SBC deployment characteristics. For example, different examples determine whether the SBC deployment is HA or standalone, whether the deployment uses DHCP, whether the deployment supports dual stack (IPv4 and IPv6), and other deployment variations. One approach is to select the sample template that is most similar to your intended deployment and then customize it as needed. You may need to combine sections from more than one sample template to develop a template that instantiates the specific deployment you want.
Comment statements within the examples explain how to implement customizations for optional features such as adding additional IP addresses to ports, enabling SR-IOV on an interface, adding a second management port, or implementing packet port redundancy. Refer to the SBC Core release notes for information on how to download the sample template files.
The exact contents required in a template file differs based on the specific characteristics of the intended deployment, but the following parameter categories appear in SBC templates:
Refer to the sample template files for more details on the parameters that can be included in a template file.
The metadata and userdata sections of the template contain essential configuration information that the SBC VM requires to initialize. Metadata consists primarily of information related to the SBC interfaces such as IP addresses and gateways. Userdata is comprised of user-specified data such as the system name, instance name, and whether the instance should take the active or standby role.The data is stored by the metadata service and retrieved when the instance boots up.
The values in these sections must be provided in a specific format and syntax. Formatting or syntax errors in the template can prevent the VM from booting properly. Refer to Metadata and Userdata Format on OpenStack for the required metadata and userdata formats and descriptions of the parameters. If necessary after instantiation, metadata and userdata can be updated using nova APIs. However any such changes do not take effect until the instance is rebooted.
OpenStack allows you to specify an Environment File along with a template when launching an instance. When included, an Environment File provides parameter values that are called for by the template and override defaults specified within the template file. If you want to reuse a template file to deploy multiple instances, an Environment File can provide some specific parameter values for the specific instance while the template remains generic. An Environment File cannot be used to provide metadata or userdata. Refer to OpenStack documentation for more information on using Environment Files.
An HA Heat Template includes sections to download the Confd CLI configuration file from a local/remote location. By default, this section is commented out. If the CLI is not locally present and you need to download and automatically load the Confd CLI configuration file on the SBC, ensure to uncomment this section and provide a proper file path in the Heat Template.
Heat Template section:
#personality:
#"baseConfig.cli": {get_file: "RIBBON_BASE_CONFIG.cli"}
#"baseConfig.cli": {get_file: "http://10.11.12.13/sbcCliFiles/RIBBON_BASE_CONFIG.cli"}