In this section:
When you run the SWe Lite on Azure and see the initial cloud-init Welcome Wizard while logging into the Web UI, wait for two to three minutes to allow cloud-init to finish configuring the node.
The SBC SWe Lite supports the cloud-init function, which allows public clouds (such as Azure and AWS) to support automation. The cloud-init functionality allows the SBC SWe Lite to automatically deploy within an orchestrated environment. Cloud-init enables the user_data file to send the initial setup information to the VM, which creates SBC SWe Lite instances in an orchestrated manner.
The SBC SWe Lite supports only the config-drive and metadata server data sources. When the system initially boots, the SBC SWe Lite searches for block devices (such as a CDROM, hard drive, USB device) with the label config-2.
Cloud-init provides an alternative method to running Initial Setup on the SBC SWe Lite. For details on running Initial setup, refer to Running Initial Setup on SBC SWe Lite.
The cloud-init function is supported on all SWe Lite platforms.
If the SBC SWe Lite finds a block device with the correct label, it attempts to mount with either the vfat or iso9660 file system. The SBC SWe Lite will also process the following files and directories from the config-drive:
openstack/
2012-08-10/
or latest/
content/
ec2
latest/
If the SBC SWe Lite does not find a block device with the correct label, it attempts auto configuration on mgt0 and performs a REST query to the metadata server at the 169.254.169.254 IP address.
To create a config-drive image, you must configure the user_data file in the ISO image (see Creating a Config-drive Image). The user_data file contains the initial configuration data that the VNF uses for auto configuration.
The ISO file is only required for the initial boot of the SBC SWe Lite.
During the SBC SWe Lite installation, use the cloud-init function to create a config-drive image.
Use one of the following procedures to create a config-drive image.
Enter the following command from the clout-utils package (Linux). This creates an ISO image, which includes the contents of the user_data file.
It is optional to enter the MACAddress
information of the interface objects (mgt0, pkt0, pkt1, pkt2, and pkt3).
If you provide this information, the cloud-init function performs the interface mapping based on the supplied MAC addresses. If you do not provide this information, the interface mapping is performed using the default PCI order.
You must include the MACAddress
information to perform interface mapping.
cloud-localds vendorconfig.iso user_data
After you create the ISO file, enter the following commands to attach it to either the KVM Hypervisor, VMware, or Hyper-V.
Alter the vendorconfig.iso filename so it identifies the vendor and VNF name.
<disk type="file" device="cdrom"> <driver name="qemu" type="raw" cache="none" /> <source file="/var/third-party/vendorname/vendorconfig.iso" /> <readonly /> <target dev="vdc" /> </disk>
Boot the SBC SWe Lite. The SBC SWe Lite performs auto configuration, and then opens the main GUI.
Enter the following commands to navigate to the appropriate directory.
mkdir config_drive mkdir /config_drive/openstack mkdir /config_drive/openstack/<creation date> cd /config_drive/openstack/ ln -s <creation date> latest
Enter the following information in the meta_data.json file.
{ <uuid>: <instance12345.mydomain.com> }
Enter the following information in the user_data file.
{ "setup": { "admin_account": { "adminUserName": "admin", "adminUserPassword": "admin" }, "rest_account": { "restUserName": "rest_user", "restUserPassword": "rest_password" }, "netconfig_account": { "netconfigUserPassword": "netconfig_password" }, "dns": { "primaryDNSServerIP":"125.62.150.2", "secondaryDNSServerIP":"125.62.150.3", "hostName": "SWELite-123", "domainName": "rbbn.com" }, "staticroute": { "defaultGateway": "10.0.1.1", "route1": { "ipDestinationAddr1":"176.159.22.32", "ipDestinationMask1":"255.255.255.255", "ipNexthopAddress1":"10.0.0.1", "ipStaticRouteMetric1":"1" } }, "syslog": { "ServerAddress":"1.1.1.1" }, "ntp":{ "Ntp1ServerName":"10.253.6.92", "IsNtp1AuthEnabled":"1", "Ntp1ServerKeyId":"10", "Ntp1ServerKey":10 }, "mgt0": { "adminIPAddress": "10.21.150.3", "adminNetmask": "255.255.128.0", "MACAddress": "52:54:00:51:2E:4C" }, "pkt0": { "applicationIPV4Address": "192.168.21.2", "applicationIPV4Netmask": "255.255.255.0", "MACAddress": "52:54:00:51:47:4D", "NextHopIP1": "192.168.21.1" }, "pkt1": { "applicationDHCPSuppliedParamUsage":"3", "NextHopIP2": "10.0.1.1" }, "pkt2": { "eth2DHCPSuppliedParamUsage":"3", "NextHopIP3": "10.0.1.1" }, "pkt3": { "eth3DHCPSuppliedParamUsage":"3", "NextHopIP4": "10.0.1.1" } } }
Modified: for 8.0.3
The following table outlines the possible parameters of the user_data file.
User_data File Parameters
Parameter Name | Mandatory | Data Type | Default Value | Possible Values | Description |
---|---|---|---|---|---|
ifIpAddrAssignMethod | No | Enum | 0 | 0 - static 1 - dynamic | Determines whether the specific node-level settings are configured dynamically (through DHCP) or statically. |
hostName | No | String | None | 64 to maximum length | Specifies a hostname for the SBC Edge. The combination of the host and domain names is the FQDN, which must not exceed 255 characters. If the FQDN is not provided then the default hostname is the node serial number. |
domainName | No | String | None | 255 to maximum length | Specifies a domain name for the SBC Edge, which the SBC uses only if the IP addressing is static. The combination of the host and domain names is the FQDN, which must not exceed 255 characters. |
admin_account | Yes | N/A | N/A | N/A | A container that defines the admin user configurations. |
adminIpAddrAssignMethod | No | Enum | 0 | 0 - static 1 - dynamic | Determines whether the specific node-level settings are configured dynamically (through DHCP) or statically. |
mgt0 | Yes | N/A | N/A | N/A | Defines the management interface. |
adminIPAddress | No | String | None | 15 to maximum length | Sets the admin IP address. This field does not apply if the adminIpAddrAssignMethod parameter is set to dynamic. For static addressing, you must use a valid IPv4 address for the adminIPAddress parameter. |
adminNetmask | No | String | None | 15 to maximum length | Sets the admin IP subnet. This field does not apply if the adminIpAddrAssignMethod parameter is set to dynamic. For static addressing, you must use a valid IPv4 subnet for the adminNetmask parameter. |
MACAddress | No | String | None | N/A | It is optional to enter the MACAddress information of the interface objects (mgt0, pkt0, pkt1, pkt2, and pkt3). If you provide this information, the cloud-init function performs the interface mapping based on the supplied MAC addresses. If you do not provide this information, the interface mapping is performed using the default PCI order. NOTE: You must include the MACAddress information to perform interface mapping. |
adminDHCPSuppliedParamUsage | No | Enum | 0 | 0 - USE_ALL 1 - USE_IP_ONLY 2 - USE_IP_DNS_ONLY | Determines how the SBC uses the parameters that the DHCP server supplies when a logical interface is configured with Dynamic IP addressing.
NOTE: If you add the |
configureEth1IF | No | N/A | 0 | N/A | Specifies that the first packet network is configured. |
applicationIpAddrAssignMethod | No | Enum | 0 | 0 - static 1 - dynamic | Determines whether the specific node-level settings are configured dynamically (through DHCP) or statically. |
pkt0 | Yes | N/A | N/A | N/A | Defines the first packet network for voice traffic. |
applicationIPV4Address | No | String | None | 15 to maximum length | Sets the Ethernet 1 IP address. This field does not apply if the applicationIpAddrAssignMethod parameter is set to dynamic. For static addressing, you must use a valid IPv4 address for the applicationIPV4Address parameter. |
applicationIPV4Netmask | No | String | None | 15 to maximum length | Sets the Ethernet 1 IP subnet. This field does not apply if the eth1IpAddrAssignMethod parameter is set to dynamic. For static addressing, you must use a valid IPv4 subnet for the applicationIPV4Netmask parameter. |
applicationDHCPSuppliedParamUsage | No | Enum | 0 | 0 - USE_ALL 1 - USE_IP_ONLY 2 - USE_IP_DNS_ONLY | Determines how the SBC uses the parameters that the DHCP server supplies when a logical interface is configured with Dynamic IP addressing.
|
NextHopIP1 | No | String | None | 15 to maximum length | Specifies the Eth1 next hop IP address. |
pkt1 | N/A | N/A | N/A | N/A | Defines the second packet network for voice traffic. |
configureEth2IF | No | BOOLEAN_TYPE | 0 | N/A | Specifies that the second packet network is configured. |
eth2IpAddrAssignMethod | No | Enum | 0 | 0 - static 1 - dynamic | Determines whether the specific node-level settings are configured dynamically (through DHCP) or statically. |
eth2IPV4Address | No | String | None | 15 to maximum length | Sets the Ethernet 1 IP address. This field does not apply if the eth2IpAddrAssignMethod parameter is set to dynamic. For static addressing, you must use a valid IPv4 address for the eth2IPV4Address parameter. |
eth2IPV4Netmask | No | String | None | 15 to maximum length | Sets the Ethernet 1 IP subnet. This field does not apply if the eth2IpAddrAssignMethod parameter is set to dynamic. For static addressing, you must use a valid IPv4 subnet for the eth2IPV4Netmask parameter. |
eth2DHCPSuppliedParamUsage | No | Enum | 0 | 0 - USE_ALL 1 - USE_IP_ONLY 2 - USE_IP_DNS_ONLY | Determines how the SBC uses the parameters that the DHCP server supplies when a logical interface is configured with Dynamic IP addressing.
|
NextHopIP2 | No | String | None | 15 to maximum length | Specifies the Eth2 next hop IP address. |
pkt2 | N/A | N/A | N/A | N/A | Defines the third packet network for voice traffic. |
configureEth3IF | No | Enum | 0 | 0 - static 1 - dynamic | Determines whether the specific node-level settings are configured dynamically (through DHCP) or statically. |
eth3IpAddrAssignMethod | No | Enum | 0 | 0 - static 1 - dynamic | Determines whether the specific node-level settings are configured dynamically (through DHCP) or statically. |
eth3IPV4Address | No | String | None | 15 to maximum length | Sets the Ethernet 1 IP address. This field does not apply if the eth3IpAddrAssignMethod parameter is set to dynamic. For static addressing, you must use a valid IPv4 address for the eth3IPV4Address parameter. |
eth3IPV4Netmask | No | String | None | 15 to maximum length | Sets the Ethernet 1 IP subnet. This field does not apply if the eth3IpAddrAssignMethod parameter is set to dynamic. For static addressing, you must use a valid IPv4 subnet for the eth3IPV4Netmask parameter. |
eth3DHCPSuppliedParamUsage | No | Enum | 0 | 0 - USE_ALL 1 - USE_IP_ONLY 2 - USE_IP_DNS_ONLY | Determines how the SBC uses the parameters that the DHCP server supplies when a logical interface is configured with Dynamic IP addressing.
|
NextHopIP3 | No | String | None | 15 to maximum length | Specifies the Eth3 next hop IP address. |
pkt3 | N/A | N/A | N/A | N/A | Defines the fourth packet network for voice traffic. |
configureEth4IF | No | N/A | 0 | N/A | Specifies that the fourth packet network is configured. |
eth4IpAddrAssignMethod | No | Enum | 0 | 0 - static 1 - dynamic | Determines whether the specific node-level settings are configured dynamically (through DHCP) or statically. |
eth4IPV4Address | No | String | None | 15 to maximum length | Sets the Ethernet 1 IP address. This field does not apply if the eth4IpAddrAssignMethod parameter is set to dynamic. For static addressing, you must use a valid IPv4 address for the eth4IPV4Address parameter. |
eth4IPV4Netmask | No | String | None | 15 to maximum length | Sets the Ethernet 1 IP subnet. This field does not apply if the eth4IpAddrAssignMethod parameter is set to dynamic. For static addressing, you must use a valid IPv4 subnet for the eth4IPV4Netmask parameter. |
eth4DHCPSuppliedParamUsage | No | Enum | 0 | 0 - USE_ALL 1 - USE_IP_ONLY 2 - USE_IP_DNS_ONLY | Determines how the SBC uses the parameters that the DHCP server supplies when a logical interface is configured with Dynamic IP addressing.
|
NextHopIP4 | No | String | None | 15 to maximum length | Specifies the Eth4 next hop IP address. |
gatewayAddress | No | String | None | 15 to maximum length | Sets the gateway address for the default static route. This field does not apply if the ifIpAddrAssignMethod parameter is set to dynamic. For static addressing, you must configure this field. You must configure the field within the same subnet, but not the same address, as the applicationIPV4Address parameter. |
asmDHCPEnabled | No | BOOLEAN_TYPE | None | N/A | Determines whether DHCP is enabled on the Application Solution Module (ASM). This field does not apply if either the node does not have an ASM or the ifIpAddrAssignMethod parameter is set to dynamic. |
asmIPV4Address | No | String | None | 15 to maximum length | Sets the ASM's IPV4 address. This field does not apply if either the node does not have an ASM or asmDHCPEnabled is set to true. |
timeZoneGeoName | No | String | UTC | 128 to maximum length | Sets the system's time zone. |
netconfig_account | No | String | None | N/A | A container that defines the netconfig configuration. NOTE: Only Release 8.0.3 and later support the |
netconfigUserPassword | No | String | None | N/A | Overrides the default netconfig password and allows you to set the system without a hardcoded password. |
dns | N/A | N/A | N/A | N/A | A container that defines the DNS server details. |
primaryDNSServerIP | No | String | None | 15 to maximum length | Sets the IP address (IPv4 format) of the primary DNS server. This field does not apply if the ifIpAddrAssignMethod parameter is set to dynamic. Setting this field to empty (with static addressing) disables the primary DNS server. |
secondaryDNSServerIP | No | String | None | 15 to maximum length | Sets the IP address (IPv4 format) of the secondary DNS server. This field does not apply if the ifIpAddrAssignMethod parameter is set to dynamic. Setting this field to empty (with static addressing) disables the secondary DNS server. |
adminUserName | Yes | String | None | 32 to maximum length | Specifies an administrative username to use in subsequent logins. |
adminUserPassword | Yes | String | None | 128 to maximum length | Specifies an administrative user password to use in subsequent logins. |
rest_account | N/A | N/A | N/A | N/A | A container that defines the rest account configuration. |
restUserName | No | String | None | 32 to maximum length | Specifies a REST username to use in subsequent authentications. If this parameter and the restUserPassword are either empty or not provided, then the SBC does not set up the node for REST access until you create a REST user from the UI. |
restUserPassword | No | String | None | 128 to maximum length | Specifies a REST user password to use in subsequent authentications. If this parameter and the restUserName are either empty or not provided, then the SBC does not set up the node for REST access until you create a REST user from the UI. |
syslog | N/A | N/A | N/A | N/A | A container that defines the syslog server configuration. |
ServerAddress | No | String | None | 128 to maximum length | Specifies the IP address or FQDN of the Syslog server where the SBC sends log entries. If this field is empty then the SBC does not add a Syslog server. |
ntp | No | N/A | N/A | N/A | A container that defines the NTP server configuration. |
Ntp1ServerName | No | String | None | 255 to maximum length | Configures the hostname, IP, or IPv6 address of the first configured NTP server. If the hostname is supplied, the system uses the DNS to connect to the NTP server. NOTE: The SBC uses this parameter only when the |
IsNtp1AuthEnabled | No | Enum | 0 | 0 - btFalse 1 - btTrue | Enables or disables the authentication of the first NTP server. NOTE: The SBC uses this parameter only when the |
Ntp1ServerKeyId | No | Integer | 0 | 0 - Minimum 2147483647 - Maximum | Configures the MD5 Key ID to authenticate the first NTP server 0, which is the system default value when the NTP server is not configured. If you configure the NTP server you must use a value higher than 0. NOTE: The SBC uses this parameter only when the |
Ntp1ServerKey | No | String | None | 64 to maximum length | Configures the MD5 key to authenticate the first NTP server. NOTE: The SBC uses this parameter only when the |
staticroute | No | N/A | N/A | N/A | A container that defines the defaultgateway and route1 configurations. |
defaultGateway | No | String | None | 15 to maximum length | Specifies the gateway IP address. This parameter is a member of the staticroute container. |
route1 | No | N/A | N/A | N/A | A container that defines the route configurations. This container is a member of the staticroute container. |
ipDestinationAddr1 | No | String | None | 15 to maximum length | Specifies the destination IP address. This parameter is a member of the route1 container. |
ipDestinationMask1 | No | String | None | 15 to maximum length | Sets the subnet mask for the This parameter is a member of the route1 container. |
ipNexthopAddress1 | No | String | None | 15 to maximum length | Specifies the next hop IP address. This parameter is a member of the route1 container. |
ipStaticRouteMetric1 | No | String | None | 15 to maximum length | Specifies the route cost metric value. This parameter is a member of the route1 container. |
DefaultLevel | No | Enum | 4 | 0 - llDefault 1 - llTrace 2 - llDebug 3 - llInfo 4 - llWarn 5 - llError 6 - llFatal 7 - llOff | Controls the default minimum severity level of messages sent to this server. You can override this default value on a per-system basis through the Subsystems Configuration. The Informational setting produces the most output and the Fatal setting produces the least output. The more output there is the more the parameter impacts system performance. NOTE: The following are valid values for the DefaultLevel:
|
SyslogFacility | Yes | Enum | 9 | 0 - sfUser 1 - sfKern 2 - sfMail 3 - sfDaemon 4 - sfAuth 5 - sfLpr 6 - sfNews 7 - sfUucp 8 - sfCron 9 - sfLocal0 10 - sfLocal1 11 - sfLocal2 12 - sfLocal3 13 - sfLocal4 14 - sfLocal5 15 - sfLocal6 16 - sfLocal7 | Controls which Syslog Facility the SBC uses to send log entries. You can use this parameter to facilitate the sorting of messages from different nodes on a central Syslog server. |
ServerPort | Yes | Integer | 514 | 514 to minimum 65534 to maximum | Specifies the Syslog server port number where the SBC sends log entries. |
ServerTransport | Yes | Enum | 0 | 0 - stUDP 1 - stTCP | Specifies the protocol that the SBC uses to send log entries to the Syslog server. |
Enter the following command to save the ISO file.
mkisofs -R -V config-2 -o vendorconfig.iso /config_drive
After you create the ISO file, enter the following commands to attach it to either the KVM Hypervisor, VMware, or Hyper-V.
Alter the vendorconfig.iso filename so it identifies the vendor and VNF name.
<disk type="file" device="cdrom"> <driver name="qemu" type="raw" cache="none" /> <source file="/var/third-party/vendorname/vendorconfig.iso" /> <readonly /> <target dev="vdc" /> </disk>