In this section:

Overview

Note

When you run the SWe Edge 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 Edge 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 Edge 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 Edge instances in an orchestrated manner.

The SBC SWe Edge supports only the config-drive and metadata server data sources. When the system initially boots, the SBC SWe Edge searches for block devices (such as a CDROM, hard drive, USB device) with the label config-2.

Note

Cloud-init provides an alternative method to running Initial Setup on the SBC SWe Edge. For details on running Initial setup, refer to Running Initial Setup on SBC SWe Edge.

The cloud-init function is supported on all SBC SWe Edge platforms.

If the SBC SWe Edge finds a block device with the correct label, it attempts to mount with either the vfat or iso9660 file system. The SBC SWe Edge will also process the following files and directories from the config-drive:

  • openstack/
    • 2012-08-10/ or latest/
      • meta_data.json
      • user_data (not mandatory)
    • content/
      • 0000 (referenced content files) 
      • 0001
  • ec2  
    • latest/
      • meta_data.json (not mandatory)

If the SBC SWe Edge 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.

Configuration Notes
  • Both the user_data and user-data file formats are supported.
  • The cloud-init function
    • only triggers when no user logins are configured in the system. The cloud-init function does not impact an already configured system.
    • attempts to configure the system with the supported data sources until the initial system is configured with either the cloud-init mechanism or through the WebUI. This function adds a 10 to 15 second delay at boot time.
  • The ISO file is only required for the initial boot of the SBC SWe Edge.

Creating a Config-drive Image

During the SBC SWe Edge installation, manually create a config-drive image.

To Create a Config-drive Image

Use the following procedure to manually create a config-drive image.

Configuration Notes

If you set up an IP address and netmask on any interface, the interface becomes static.

  1. Log into an external Linux-based system.
  2. Enter the following commands to navigate to the appropriate directory and create the folder structure.

    mkdir config_drive
    mkdir config_drive/openstack
    mkdir config_drive/openstack/<creation date>
    cd config_drive/openstack/
    ln -s <creation date> latest
  3. Enter the following command to navigate to the appropriate directory.

    cd config_drive/openstack/latest
    
  4. Enter the uuid information in the meta_data.json file using the following format, where <SBC_SWe_Edge_FQDN> is the FQDN of the node you want configured (for example, instance1.mydomain.com).

    {
    <uuid>: <SBC_SWe_Edge_FQDN>
    }
    
  5. Create the user_data file. Use the following example to create the user_data file specific to the system you want configured. For the list of supported user_data file parameters, refer to the User_data File Parameters table.

    Example
    {
             
        "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": "SWEEdge-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": {
                    "eth2DHCPSuppliedParamUsage": "2",
                    "NextHopIP2": "10.0.1.1"
                },
                "pkt2": {
                    "eth3DHCPSuppliedParamUsage": "2",
                    "NextHopIP3": "10.0.1.1"
                },
                "pkt3": {
                    "eth4DHCPSuppliedParamUsage": "2", 
                    "NextHopIP4": "10.0.1.1"
    			},
    			"edgeview": {
      				"EdgeviewFQDNName": "ev.mydomain.com",
    				"EdgeviewManagementID": "45:34:56:23:45"
                }
            }
    }



    The following table outlines the possible parameters of the user_data file.

    User_data File Parameters

    Parameter NameMandatoryData TypeDefault ValuePossible ValuesDescription

    dns

    N/AN/AN/AN/AA container that defines the DNS server details.
    hostNameNoStringNone64 to maximum length

    Specifies a hostname for the SBC Edge Portfolio. 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.

    domainNameNoStringNone255 to maximum length

    Specifies a domain name for the SBC Edge Portfolio, 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.

    primaryDNSServerIPNoStringNone15 to maximum lengthSets 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.
    secondaryDNSServerIPNoStringNone15 to maximum lengthSets 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.

    admin_account

    YesN/AN/AN/AA container that defines the admin user configurations.
    adminUserNameYesStringNone32 to maximum lengthSpecifies an administrative username to use in subsequent logins.
    adminUserPasswordYesStringNone128 to maximum lengthSpecifies an administrative user password to use in subsequent logins.
    netconfig_accountNoStringNoneN/A

    A container that defines the netconfig configuration.

    NOTE: Only Release 8.0.3 and later support the netconfig_account configuration.

    netconfigUserPasswordNoStringNoneN/AOverrides the default netconfig password and allows you to set the system without a hardcoded password.
    rest_accountN/AN/AN/AN/AA container that defines the rest account configuration.
    restUserNameNoStringNone32 to maximum lengthSpecifies 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.
    restUserPasswordNoStringNone128 to maximum lengthSpecifies 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.
    mgt0YesN/AN/AN/AA container that defines the management interface.
    adminIpAddrAssignMethodNoEnum0

    0 - static

    1 - dynamic

    Determines whether the specific mgt0 settings are configured dynamically (through DHCP) or statically.
    adminIPAddressNoStringNone15 to maximum lengthSets 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.
    adminNetmaskNoStringNone15 to maximum lengthSets 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.
    adminDHCPSuppliedParamUsageNoEnum0

    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.
    • USE_ALL - The SBC uses all supported DHCP parameters. The SBC uses the supplied DNS servers as global DNS servers, which replace the currently configured DNS servers. This configuration does not affect the split-DNS settings.
    • USE_IP_ONLY - The SBC uses only the IP address and netmask. This configuration ignores the DNS server and other settings, and does not affect the current split-DNS settings.
    • USE_IP_DNS_ONLY - The SBC uses only the IP address, domain-name, and DNS server IP addresses. The SBC uses the supplied domain-name and the DNS server IP addresses depending on the value of the ConfigureSplitDNS parameter.

    NOTE: If you add the adminDHCPSuppliedParamUsage parameter on any interface, the interface becomes dynamic.

    pkt0YesN/AN/AN/AA container that defines the first packet network for voice traffic.
    applicationIpAddrAssignMethodNoEnum0

    0 - static

    1 - dynamic

    Determines whether the specific node-level settings are configured dynamically (through DHCP) or statically.
    applicationIPV4AddressNoStringNone15 to maximum lengthSets 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.
    applicationIPV4NetmaskNoStringNone15 to maximum lengthSets 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.
    applicationDHCPSuppliedParamUsageNoEnum0

    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.
    • USE_ALL - The SBC uses all supported DHCP parameters. The SBC uses the supplied DNS servers as global DNS servers, which replace the currently configured DNS servers. This configuration does not affect the split-DNS settings.
    • USE_IP_ONLY - The SBC uses only the IP address and netmask. This configuration ignores the DNS server and other settings, and does not affect the current split-DNS settings.
    • USE_IP_DNS_ONLY - The SBC uses only the IP address, domain-name, and DNS server IP addresses. The SBC uses the supplied domain-name and the DNS server IP addresses depending on the value of the ConfigureSplitDNS parameter.
    NextHopIP1NoStringNone15 to maximum lengthSpecifies the Eth1 next hop IP address.
    pkt1N/AN/AN/AN/ADefines the second packet network for voice traffic.
    eth2IpAddrAssignMethodNoEnum0

    0 - static

    1 - dynamic

    Determines whether the specific node-level settings are configured dynamically (through DHCP) or statically.
    eth2IPV4AddressNoStringNone15 to maximum lengthSets 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.
    eth2IPV4NetmaskNoStringNone15 to maximum lengthSets 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.
    eth2DHCPSuppliedParamUsageNoEnum0

    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.
    • USE_ALL - The SBC uses all supported DHCP parameters. The SBC uses the supplied DNS servers as global DNS servers, which replace the currently configured DNS servers. This configuration does not affect the split-DNS settings.
    • USE_IP_ONLY - The SBC uses only the IP address and netmask. This configuration ignores the DNS server and other settings, and does not affect the current split-DNS settings.
    • USE_IP_DNS_ONLY - The SBC uses only the IP address, domain-name, and DNS server IP addresses. The SBC uses the supplied domain-name and the DNS server IP addresses depending on the value of the ConfigureSplitDNS parameter.
    NextHopIP2NoStringNone15 to maximum lengthSpecifies the Eth2 next hop IP address.
    pkt2N/AN/AN/AN/ADefines the third packet network for voice traffic.
    eth3IpAddrAssignMethodNoEnum0

    0 - static

    1 - dynamic

    Determines whether the specific node-level settings are configured dynamically (through DHCP) or statically.
    eth3IPV4AddressNoStringNone15 to maximum lengthSets 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.
    eth3IPV4NetmaskNoStringNone15 to maximum lengthSets 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.
    eth3DHCPSuppliedParamUsageNoEnum0

    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.
    • USE_ALL - The SBC uses all supported DHCP parameters. The SBC uses the supplied DNS servers as global DNS servers, which replace the currently configured DNS servers. This configuration does not affect the split-DNS settings.
    • USE_IP_ONLY - The SBC uses only the IP address and netmask. This configuration ignores the DNS server and other settings, and does not affect the current split-DNS settings.
    • USE_IP_DNS_ONLY - The SBC uses only the IP address, domain-name, and DNS server IP addresses. The SBC uses the supplied domain-name and the DNS server IP addresses depending on the value of the ConfigureSplitDNS parameter.
    NextHopIP3NoStringNone15 to maximum lengthSpecifies the Eth3 next hop IP address.
    pkt3N/AN/AN/AN/ADefines the fourth packet network for voice traffic.
    eth4IpAddrAssignMethodNoEnum0

    0 - static

    1 - dynamic

    Determines whether the specific node-level settings are configured dynamically (through DHCP) or statically.
    eth4IPV4AddressNoStringNone15 to maximum lengthSets 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.
    eth4IPV4NetmaskNoStringNone15 to maximum lengthSets 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.
    eth4DHCPSuppliedParamUsageNoEnum0

    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.
    • USE_ALL - The SBC uses all supported DHCP parameters. The SBC uses the supplied DNS servers as global DNS servers, which replace the currently configured DNS servers. This configuration does not affect the split-DNS settings.
    • USE_IP_ONLY - The SBC uses only the IP address and netmask. This configuration ignores the DNS server and other settings, and does not affect the current split-DNS settings.
    • USE_IP_DNS_ONLY - The SBC uses only the IP address, domain-name, and DNS server IP addresses. The SBC uses the supplied domain-name and the DNS server IP addresses depending on the value of the ConfigureSplitDNS parameter.
    NextHopIP4NoStringNone15 to maximum lengthSpecifies the Eth4 next hop IP address.
    syslogN/AN/AN/AN/AA container that defines the syslog server configuration.
    ServerAddressNoStringNone128 to maximum lengthSpecifies 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.
    ServerPortYesInteger514

    514 to minimum

    65534 to maximum

    Specifies the Syslog server port number where the SBC sends log entries.
    ServerTransportYesEnum0

    0 - stUDP

    1 - stTCP

    Specifies the protocol that the SBC uses to send log entries to the Syslog server.
    DefaultLevelNoEnum4

    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:

    • 3 - Informational
    • 4 - Warning
    • 5 - Error
    • 6 - Fatal
    ntpNoN/AN/AN/AA container that defines the NTP server configuration.
    Ntp1ServerNameNoStringNone255 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 useDynamicNetSettings parameter is set to false. If useDynamicNetSettings is set to true, the first configured NTP server is in the runtime rt_NTPServer1 parameter.

    IsNtp1AuthEnabledNoEnum0

    0 - btFalse

    1 - btTrue

    Enables or disables the authentication of the first NTP server.

    NOTE: The SBC uses this parameter only when the useDynamicNetSettings parameter is set to false.

    Ntp1ServerKeyIdNoInteger0

    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 useDynamicNetSettings parameter is set to false.

    Ntp1ServerKeyNoStringNone64 to maximum length

    Configures the MD5 key to authenticate the first NTP server.

    NOTE: The SBC uses this parameter only when the useDynamicNetSettings parameter is set to false.

    staticrouteNoN/AN/AN/AA container that defines the defaultgateway and route1 configurations.
    defaultGatewayNoStringNone15 to maximum lengthSpecifies the gateway IP address. This parameter is a member of the staticroute container.
    route1NoN/AN/AN/AA container that defines the route configurations. This container is a member of the staticroute container.
    ipDestinationAddr1NoStringNone15 to maximum lengthSpecifies the destination IP address. This parameter is a member of the route1 container.
    ipDestinationMask1NoStringNone15 to maximum length

    Sets the subnet mask for the ipDestinationAddr1 parameter.

    This parameter is a member of the route1 container.

    ipNexthopAddress1NoStringNone15 to maximum lengthSpecifies the next hop IP address. This parameter is a member of the route1 container.
    ipStaticRouteMetric1NoStringNone15 to maximum lengthSpecifies the route cost metric value. This parameter is a member of the route1 container.
    edgeviewNoBoolean0

    0 - Disable

    1- Enable

    Enable or disable the configuration.

    NOTE: When you enable this parameter, the EdgeviewFQDNName and EdgeviewManagementID parameters are mandatory.

    SecondaryCMPAddressNoStringNone15 to 255 characters If the user has a redundant RAMP configuration then the user should enter the address of the secondary server here.
    EdgeviewFQDNNameYesStringNone

    15 to 255 characters

    The EdgeView server address (IP address or FQDN).
    EdgeviewManagementIDYesStringNoneN/A

    CAUTION: When you enter the EdgeView Management ID, you must insert a colon every two characters (00:00:00). Otherwise, the SBC SWe Edge cannot connect to the EdgeView.

    The EdgeView Management ID. For information about retrieving the EdgeView Management ID, refer to Obtaining and Installing an SBC SWe Edge Production Node-Locked License.

    MACAddressNoStringNoneN/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.

  6. Enter the following command to save the ISO file.

    mkisofs -R -V config-2 -o vendorconfig.iso config_drive
  7. After you create the ISO file, you must mount the file.

Mounting a Config-drive Image

You must mount the ISO file created in the Creating a Config-drive Image procedure.

To Mount a Config-drive Image

Use the following procedure to mount a config-drive image.

  1. Modify the XML definition of the VM to attach the ISO file as a read only drive.

    Note

    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>
  2. Boot the SBC SWe Edge. The SBC SWe Edge performs auto configuration, and then opens the main WebUI.