Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Add_workflow_for_techpubs
AUTH2
AUTH1
REV5
REV6
REV3
REV1
REV2

Panel

In this section:

Table of Contents
maxLevel4

In In the OpenStack environment, Metadata and Userdata are is populated automatically by the Heat template when SBC SWe cloud instances are launched through templates. If required, Metadata can be updated using nova APIs. The Metadata and the Userdata are provided in the standard JSON format (.json file).Format of Metadataformat .

Metadata Format

Code Block
# JSON for the Mgt0 interface
   
"IF0" : { 
        "Port":"Mgt0",
		"DHCP": "<Dhcp_flag>",
        "GWV4":"<IP_Address>",
        "IPV4":"<IP_Address/Subnet_Prefix>",
        "GWV6" :"<IP_Address>",
        "IPV6":"<IP_Address/Subnet_Prefix>",
        "FIPV4":"<IP_Address>",
},
   
# JSON for the Ha0 interface
 "IF1" : {
        "Port" : "Ha0",
		"DHCP": "<Dhcp_flag>",
        "GWV4":"<IP_Address>",
        "IPV4":"<IP_Address/Subnet_Prefix>",
        "FIPV4":"<IP_Address>",
  },
  
# JSON for the IP interface Pkt0.111
"IF2":  {
        "Port" :"Pkt0",
		"DHCP": "<Dhcp_flag>",
        "GWV4":"<IP_Address>",
        "IPV4":"<IP_Address/Subnet_Prefix>",
        "GWV6" :"<IP_Address>",
        "IPV6":"<IP_Address/Subnet_Prefix>",
        "FIPV4":"<IP_Address>",
        "RNat":"true",
        "VlanId":"111"
  },
},
  
# Secondary IP for Pkt0.111   
"AltIP2" : {
        "IFName":"IF2",
        "IP": "<IP_Address>",
        "FIPV4":"<IP_Address>"
 }
  
# Another Secondary IP for Pkt0.111 
"AltIP3" : {
        "IFName":"IF2",
        "IP": "<IP_Address>",
        "FIPV4":"<IP_Address>"
 }
 
# JSON for the IP interface Pkt0.222
"IF3":  {
        "Port":"Pkt0",
		"DHCP": "<Dhcp_flag>",
        "GWV4":"<IP_Address>",
        "IPV4":"<IP_Address/Subnet_Prefix>",
        "GWV6" :"<IP_Address>",
        "IPV6":"<IP_Address/Subnet_Prefix>",
        "FIPV4":"<IP_Address>",
        "RNat":"true",
        "VlanId":"222" 
  },
   
# Secondary IP for Pkt0.222
"AltIP4" : {
        "IFName":"IF3",
        "IP": "<IP_Address>",
        "FIPV4":"<IP_Address>", 
 },
   
# JSON for the IP interface Pkt1.333
"IF4":  {
        "Port":"Pkt1",
		"DHCP": "<Dhcp_flag>",
        "GWV4":"<IP_Address>",
        "IPV4":"<IP_Address/Subnet_Prefix>",
        "GWV6" :"<IP_Address>",
        "IPV6":"<IP_Address/Subnet_Prefix>",
        "FIPV4":"<IP_Address>",
        "RNat":"true",
        "VlanId":"333"
  },
   
# Secondary IP for Pkt1.333
"AltIP5" : {
        "IFName":"IF4",
        "IP": "<IP_Address>",
        "FIPV4":"<IP_Address>"
},

ClusterIp: "<RG_IP>" 

...

Code Block
"IF3": {
"GWV4": "<IP_Address>",
"DHCP": "<Dhcp_flag>",
"Port": "Pkt1",
"VlanId": "<VLAN_ID_1>",
"IPV4": "<IP_Address/Subnet_Prefix>"
},

"IF4": {
"GWV4": "<IP_Address>",
"DHCP": "<Dhcp_flag>",
"Port": "Pkt1",
"VlanId": "<VLAN_ID_2>",
"IPV4": "<IP_Address/Subnet_Prefix>"
},

"IF5": {
"GWV4": "<IP_Address>",
"DHCP": "<Dhcp_flag>",
"Port": "Pkt1",
"VlanId": "<VLAN_ID_3>",
"IPV4": "<IP_Address/Subnet_Prefix>"
}

Pagebreak

Example of Metadata

Code Block
languagenone
#Interface definition for Mgt0 port.
"IF0" : {
        "Port":"Mgt0",
		"DHCP": "False",
        "GWV4":"10.0.0.1",
        "IPV4":"10.0.0.24/24",
        "GWV6" :"fd00:10:2b50:4000::1",
        "IPV6":"fd00:10:2b50:4000::1/64",
        "FIPV4":"10.14.52.108",
},
   
# JSON for the Ha0 interface
 "IF1" : {
        "Port" : "Ha0",
		"DHCP": "False",
        "GWV4":"192.168.100.1",
        "IPV4":"192.168.100.24/24",
  },
  
# JSON for the IP interface Pkt0.2007
"IF2":  {
        "Port" :"Pkt0",
		"DHCP": "False",
        "GWV6" :"fd00:10:6b21:2007::1",
        "IPV6":"fd00:10:6b21:2007::1001/64",
        "VlanId":"2007"
  },
# JSON for the IP interface Pkt1.2008

"IF3":  {
        "Port" :"Pkt1",
		"DHCP": "False",
        "GWV6" :"fd00:10:6b21:2008::1",
        "IPV6":"fd00:10:6b21:2008::1001/64",
        "VlanId":"2008"
  },
},
  
# Secondary IP for Pkt0.2007 
"AltIP2" : {
        "IFName":"IF2",
        "IP": "fd00:10:6b21:2007::1002",
}
  
# Another Secondary IP for Pkt0.2007
"AltIP3" : {
        "IFName":"IF2",
        "IP": "fd00:10:6b21:2007::1003",
},

ClusterIp: "192.168.100.25" 

...

Note
  • Ensure the alternate IP definitions have the corresponding IF names.
  • IF dictionary name is any name prefixed by IF .

Example : IF-ABC, IFASD, IF_AS, and so on.

  • The name for alternate IP address on a port can be constructed with port/vlan information.

Example: The second alternate IP address for pkt0's first VLAN IP interface can be named as PKT0_V01_ALT_IP_02.

  • The current maximum length of the name is 255 characters.

This section describes about the individual parameters of the metadata passed to the server:

Interface Definition

Code Block
"IF3":  {
        "Port": "Pkt0",
		"DHCP": "False",
        "GWV4": "10.0.3.1",
        "IPV4": "10.0.3.187/24",
        "GWV6": "fd00:10:6b50:4350::6",
        "IPV6": "fd00:10:6b50:4350::69/64",
        "FIPV4": "54.32.21.12",
        "RNat": "true",
        "VlanId":"222"
  }

Following are the The elements which constitutes an interface definition:

Caption
0Table
1Interface Definition Parameters
3Interface Definition

 

ParametersDescription
IFX

Interface definition name

This element is the name of the dictionary which contains the information of the port. Here, "IF" is a key word, and it can be appended with any name/identifier. Example: IF_Pkt0, IFMgt0, IF-MediaPort, etc

Note: The name provided for Interface definition is used in Alternate IP definition. A link is formed between the two definitions based on the Interface definition name.

DHCPThis flag is used to enable or disable the DHCP. If the DHCP is set to False, you need to provide fixed IPs IP for each ports.
Port

Port Name

One of – Mgt0, Ha0, Pkt0, Pkt1. This indicates the actual port to which the definition belongs to.

IPV4

Primary IP on the Private Port  + Prefix - V4v4

Should be provided only in case of DHCP disabled on the port requires V4 address.

Provide IP address and prefix. Format Example: 10.54.116.53/23

GWV4

Gateway IP V4v4

Should be provided only in case of DHCP disabled on the port requires V4 address.

Note : GWV4 and IPV4 are interdependent, both have to be provided in noDHCP V4 scenario.

IPV6

IP on the Private Port  + Prefix - V6v6

Should be provided only in case of DHCP disabled on the port requires V6 v6 address.

Provide IP address and prefix. Format Example : fd00:10:6b50:4350::69/64

GWV6

Gateway IP Vv6

Should be provided only in case of DHCP disabled on the port requires V6 v6 address.

Note : GWV6 and IPV6 are interdependent, both have to be provided in noDHCP V6 v6 scenario.

FIPV4

Floating IP associated on the Port.

Provide when the Floating IP is associated (in DHCP enabled and disabled scenario) with the port.

RNat

Reverse NAT flag

Values:

  • True: To consider FIPV4 entity using value provided in the dictionary.
  • False: To configure FIPV4 using SMM rules, and ignore the FIPV4 value provided here.

Default value - True

VlanIdID of the port VLAN.

Alternate IP Definition

Alternate IP definition contains the information of an additional IP addresses associated with the port. For each additional IP address added to the port, there has to be corresponding ALT IP definition. The maximum number of ALT IP (alternate IP address) that can be associated with a port is restricted to 14.

...

Caption
0Table
1Alternate IP Definition Parameters
3Alternate IP Definition

 

ParameterDescription

AltIP3

Alternate

IP

(ALT

IP)

definition

name/identifier

.

Alternate IP address associated with a port. This identifier does not have any restriction on naming.

Example for ALT IP identifier

This is the name provided to the additional IP address associated with a port. This identifier does not have any restriction on naming. Following are some example for ALT IP identifier

: Alt_Pkt0_AX,

 ALT_PKT0_01,

signaling_Pkt0_05.

IFName

Interface

definition

Name

This field indicates the association between the ALT IP address and the interface definition.
If the user changes the interface definition name

Indicates the association between the ALT IP address and the interface definition.

When the user changes the interface definition name (i.e

IFX

name),

the

user

should

must simultaneously

change

the

IFName

value

in

this

definition.

Otherwise,

the

link

between

ALT

IP

and

it's

port is

lost.

IP

IPV4

or

IPV6

address

This field contains the additional

IP

address

that

needs

to

be

associated

with

the

port.

It can contain either V4 or V6 address, based on what version the parent Interface dictionary contains.
If, say, IF definition has V4 address, the ALT IP definition also should have only V4 address. Same logic goes for V6 addresses.
In case of dual stack scenario, since, Interface dictionary has both V4 and V6 addresses, the ALT IP definition can also have V4 and V6 addresses. But both have to be defined in separate ALT dictionary, pointing to it's parent

User can type v4 or v6 address, based on what version the parent interface dictionary contains.

When IF definition has v4/v6 address, the ALT IP definition also must have only v4/v6 address.

In case of dual-stack scenario, since, Interface dictionary has both V4 and V6 addresses, the ALT IP definition can also have v4 and v6 addresses. But both have to be defined in separate ALT dictionary, pointing to it's parent dictionary.

FIPV4

Floating

IP

on

the

Alternate

IP

If

a

floating

IP

is

associated

with

the

ALT

(alternate/additional)

IP,

the

value

against

this field

must

contain

the

floating

IP.

Note:

The

RNat

flag

which

is

defined

in

Interface

interface dictionary

,

is

an

interface-wide

entity.

If

the

RNat

flag

is

disabled

( value = False )

in

interface

dictionary,

the

FIP

value

provided

in

the

ALT

IP

definition

is

not

considered

while

populating

the

metaVariables

for

this

port.

Cluster IP

The IP Addresses of the SBC A new Metadata parameter ClusterIp is added, which is used for Redundancy Group (RG) . The SBC Redundancy Group (RG) consists of one or more SBC SWe instances. All the instances in a RG must have homogeneous resource allocation, configuration and personality. Each SBC SWe instance including standby maintains its own configuration DB, logs, events, and alarms.formation during startup. You must pass HA0 IP of one of the nodes of RG as ClusterIp parameter.

Code Block
ClusterIp: "<RG_IP>"

...

ParameterDescription
ClusterIpThe IP address of the SBC redundancy group.

...

ClusterIP is used for Redundancy Group (RG) formation on startup.  

UserData Format

Code Block
{
 "CERole" : "CERole",
 "CEName" : "CEName",
 "SystemName" : "SystemName",
 "SbcPersonalityType" : "SbcPersonalityType",
 "EmsUsername" : "EmsUsername",
 "EmsPassword" : "EmsPassword",
 "EmsIP" : "EmsIP",
 "EmsDownloadConfig" : "EmsDownloadConfig",
 "ConfigDownloadName" : "ConfigDownloadName",
 "EmsPrivateNodeParameters" : { "cluster_id": "","vnfc_id":""}
}
Note

The Userdata JSON is present under the write_file directory /opt/sonus/userData.json.

Example of Userdata

pdf8pttext
Code Block
{
  "CERole"                  : "ACTIVE",
  "CEName"                  : "vsbc1",
  "SystemName"              : "vsbcsystem",
  "SbcPersonalityType"      : "msbc",
  "EmsUsername"             : "restuser",
  "EmsPassword"             : "sonus123",
  "EmsIP"                   : [ "10.54.58.184", "10.54.58.185" ],
  "EmsDownloadConfig"       : "True",
  "ConfigDownloadName"      : "savedMSBCconfiguration",
  "EmsPrivateNodeParameters": { "cluster_id": "MSBC" , "vnfc_id": "Msbc1_N1" }
}
Div
class
Caption
0Table
1OpenStack Userdata Parameter Description

 

ParameterLengthExampleDescription
CERole

...

N/A

...

Active

Assigned role of SBC instance.

Allowed Value:

  • Active
  • Standby

CEName

64

vsbc1

Specifies the actual CE name of the SBC instance. For more information, see System and Instance Naming Convention.

CEName Requirements:

  • Must start with an alphabetic character.
  • Only contain alphabetic characters and/or numbers. No special characters.
  • Cannot exceed 64 characters in length

SystemName

26

vsbcSystem

Specifies the actual system name of the SBC instance. For more information, see System and Instance Naming Convention.

System Requirements:

  • Must start with an alphabetic character.
  • Only contain alphabetic characters and/or numbers. No special characters.
  • Cannot exceed 26 characters in length.

SbcPersonalityType

N/A

...

ssbc

Specifies the SBC personality type.
Allowed Value:

  • isbc
  • ssbc
  • msbc

EmsUsername

N/A

restuser

Specifies the REST log in credentials of EMS.
Default Value: restuser

EmsPassword

N/A

sonus123

Specifies the REST log in credentials of EMS.
Default Value: sonus123

EmsIP

N/A

For IPv4

  • Standalone EMS IP address as - "aaaa:bbbb:cccc:dddd"

  • Geographical Redundancy EMS IP address as:

    ["aaaa:bbbb:cccc:dddd","aaaa:bbbb:cccc:dddd"]

For IPv6

  • Standalone EMS IP address as - "aaaa:bbbb:cccc:dddd::xx"

  • Geographical Redundancy EMS IP address as:

    ["aaaa:bbbb:cccc:dddd::xx","aaaa:bbbb:cccc:dddd::yy"]

Specifies the EMS instance for IPv4 and IPv6 address.

EmsPrivateNodeParameters

64

N/A

Specifies the EMS private node parameters.
cluster_id - Unique to one specific cluster in a cloud environment which can contain one or more SBC instances.
vnfc_id - Unique ID specified for SBC instance.

The cluster ID and vnfc ID both allows hyphen.

EmsDownloadConfig

N/A

True

Whether Configuration needs to be downloaded from EMS.

Default value: True
Allowed Value:

  • True
  • False

ConfigDownloadName

64

savedMSBCconfiguration1

The SBC configuration name can contain only letters, numbers, dashes (-), apostrophes ('), underscores (_), colons (:) and spaces

 

Meta Variables

Interface related information (contents of Interface and ALT IP definition) provided in userdata and/or metadata is flattened down into key-value pairs, which would be is used for CLI configuration.

A sample metavariable table for the 4:1 M-SBC is viewed through the following CLI command:

Caption
0Figure
1Metavariable Table

These
The sample metaVariables are used to make configurations, a sample of it is as shown belowfor configuration:

Code Block
set addressContext default ipInterfaceGroup LIG1 ipInterface LIG1_V4 ipVarV4 IF2.IPV4 prefixVarV4 IF2.PrefixV4 vlanTagVar IF5.VlanId portName pkt0 state enabled mode inService

set addressContext default ipInterfaceGroup LIG2 ipInterface LIG2_V4 ipVarV4 IF3.IPV4 prefixVarV4 IF3.PrefixV4 ipPublicVarV4 IF3.FIPV4 portName pkt1 state enabled mode inService

set addressContext default zone ZONE_AS sipSigPort 3 ipInterfaceGroup LIG2 ipVarV4 IF3.IPV4 ipPublicVarV4 IF3.FIPV4 state enabled

set system dsbc dsbcSigPort ipInterfaceGroup SVzIMSMediaIPv6 ipVarV6 PKT0_V02_ALT_IP_01.IP mode inService state enabled

...