In the AWS environment, Userdata is populated automatically by the template when SWe instances are launched. Metadata is populated automatically by the Life Cycle Agent (LCA) from the information obtained from the AWS internal Metadata server. The Metadata and the Userdata are populated in the standard JSON format (.json
file).
The SBC SWe instances are launched on AWS with CFN templates provided by Sonus. The
...
...
performs the following:
- LCA is part of the AMI and starts automatically when SWe instance is booted.
- Orchestrates the initial configuration and activation of the SBC SWe instance.
Once the SWe instance boots up, Cloud-init retrieves Metadata and Userdata information associated with this instance from the internal Metadata server and provides it to the LCA.
- LCA validates the Userdata content populated. Based on the information obtained from the Metadata and the Userdata from the internal Metadata server, LCA populates the instance specific Metadata which will then be converted into Metavars which is processed by the application.
...
...
|
Configuring the SBC instances on AWS is similar to configuring SBC on OpenStack. For complete CLI configuration, refer to CLI Reference Guide. |
The Metadata information is auto populated from the internal Metadata server in AWS.
...
Code Block |
---|
This is a sample format for interface definition.
# JSON for the Mgt0 interface
"IF0" : {
"Port":"Mgt0",
"FIPV4":"<IP_Address>"
},
# Secondary IP for PKT0 will appear in this particular format
"AltIP2" : {
"IFName":"IF2",
"IP": "<IP_Address>",
"FIPV4":"<IP_Address>"
}
|
...
Code Block |
---|
{
"VIP2": {
"IP": "10.54.40.163",
"IFName": "IF3"
},
"IF0": {
"PrefixV4": "24",
"RNat": "True",
"Port": "Mgt0",
"FIPV4": "34.202.206.222"
},
"IF1": {
"PrefixV4": "24",
"RNat": "True",
"Port": "Ha0"
},
"IF2": {
"PrefixV4": "24",
"RNat": "False",
"Port": "Pkt0"
},
"IF3": {
"PrefixV4": "24",
"RNat": "False",
"Port": "Pkt1"
},
"LOGICAL_MGMT_IP": {
"IP": "10.54.10.253",
"IFName": "IF0",
"FIPV4": "34.203.6.144"
},
"VIP1": {
"IP": "10.54.30.221",
"IFName": "IF2"
}
} |
...
...
...
Code Block |
---|
{
"ALT_Pkt1_00": {
"IP": "10.54.40.125",
"IFName": "IF3"
},
"ALT_Pkt0_00": {
"IP": "10.54.30.166",
"IFName": "IF2"
},
"IF0": {
"PrefixV4": "24",
"RNat": "True",
"Port": "Mgt0",
"FIPV4": "34.196.70.234"
},
"IF1": {
"PrefixV4": "24",
"RNat": "True",
"Port": "Ha0"
},
"IF2": {
"PrefixV4": "24",
"RNat": "False",
"Port": "Pkt0"
},
"IF3": {
"PrefixV4": "24",
"RNat": "False",
"Port": "Pkt1"
}
}
|
This section describes
...
metadata individual parameters
...
...
are auto-populated in the AWS instance.
...
Code Block |
---|
"IF3": {
"Port": "Pkt0",
"GWV4": "10.0.3.1",
"IPV4": "10.0.3.187/24",
"FIPV4": "54.32.21.12",
"RNat": "true"
} |
...
The following elements comprise an interface definition:
Caption |
---|
0 | Table |
---|
1 | Interface Definition Parameters |
---|
3 | Interface Definition |
---|
|
...
Parameters | Description |
---|
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. | 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 - V4 Should be provided only in case of DHCP disabled on the port requires V4 address. Provide IP address and prefix. Format : 10.54.116.53/23 | FIPV4 | Floating IP associated on the Port Provide when the Floating IP is associated ( in DHCP enabled and disabled scenario) with the port. | GWV4 | Gateway IP V4 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. | 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 - False |
|
Alternate IP definition contains the information of 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.
Code Block |
---|
"AltIP3" : {
"IFName":"IF2",
"IP": "10.2.0.7",
"FIPV4":"aaa.bbb.ccc.eee"
} |
Caption |
---|
0 | Table |
---|
1 | Alternate IP Definition Parameters |
---|
3 | Alternate IP Definition |
---|
|
...
|
Parameter | Description |
---|
AltIP3 | Alternate |
|
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
signaling_Pkt0_05. | IFName | Interface |
|
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
If the CERole parameter is Active/Standby, it represents HA userdata format.
Code Block |
---|
|
{
"CERole" : "CERole",
"ReverseNatPkt0" : "False",
"ReverseNatPkt1" : "False",
"CEName" : "CEName",
"SystemName" : "SystemName",
"PeerCEName" : "PeerCEName",
"PeerCEHa0IPv4Prefix" : "PeerCEHa0IPv4Prefix"
} |
...
...
Code Block |
---|
|
{
"CERole" : "ACTIVE",
"ReverseNatPkt0" : "False",
"ReverseNatPkt1" : "False",
"CEName" : "vsbc1",
"SystemName" : "vsbcSystem",
"NodeName" : "SD-test-HA-510A654",
"PeerCEName" : "vsbc2",
"PeerCEHa0IPv4Address" : "10.54.20.133"
} |
If the CERole parameter is missing, it represents standalone userdata format.
Code Block |
---|
{
"ReverseNatPkt0" : "False",
"ReverseNatPkt1" : "False",
"CEName" : "CEName",
"SystemName" : "SystemName"
} |
If the CERole parameter is missing, it represents standalone userdata format.
Code Block |
---|
{
"ReverseNatPkt0" : "False",
"ReverseNatPkt1" : "False",
"SystemName" : "vsbcSystem",
"CEName" : "vsbc1"
} |
Div |
---|
|
Caption |
---|
0 | Table |
---|
1 | Userdata Parameter Description |
---|
| Parameter | Length | Format | Description |
---|
CERole | N/A | Active | Assigned role of SBC instance. Allowed Value: | ReverseNatPkt0 / ReverseNatPkt1 | N/A | True/False | Reverse NAT flag for Pkt0 and |
|
|
...
Default value - False
...
Pkt1. Values: - True: To consider FIPV4 entity using value provided in the dictionary
- False (default): To configure FIPV4 using SMM rules, and ignore the FIPV4 value provided here.
| CEName | 64 | vsbc1 | Specifies the actual CE name of the SBC instance. For more information, |
|
|
...
refer to System and Instance Naming Conventions. 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, |
|
|
...
refer to System and Instance Naming Conventions. System Requirements: - Must start with an alphabetic character.
- Only contain alphabetic characters and/or numbers. No special characters.
- Cannot exceed 26 characters in length.
| Node Name | 64 | SD-AWS-HA-510A654 | Specifies a unique name for the instance in a node. | PeerCEName | 64 | vsbc2 | Specifies the name of the peer SBC node. For more information, |
|
|
...
refer to System and Instance Naming Conventions. Peer CEName Requirements: - Must start with an alphabetic character.
- Only contain alphabetic characters and/or numbers. No special characters.
- Cannot exceed 64 characters in length.
| PeerCEHa0IPv4Address | N/A | 10.1.0.3 | Specifies the IPv4 address of the HA port for the peer SBC node. This parameter is applicable only in case of instance is launched in HA mode. |
|
|
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 used for CLI configuration.
MetaVariable dictionary is populated in the file /opt/sonus/instanceMetaVar.json and the corresponding XML file is injected into the CDB, is located at /opt/sonus/sbx/lca/sonusMetaVariables.xml
The IP address is obtained from DHCP query for respective interface. The IP address, Gateway address, Subnet prefix is directly populated in the /opt/sonus/sbx/lca/sonusMetaVariables.xml file.
The metaVariables can be viewed from the CLI command as shown below :
Code Block |
---|
> show table system metaVariable
NAME VALUE
--------------------------------------------------
IF0.Port Mgt0
IF1.GWV4 10.10.11.1
IF1.IPV4 10.10.11.57
IF1.Port Ha0
IF2.Port Pkt0
IF3.Port Pkt0
IF4.Port Pkt1
IF5.GWV4 10.54.226.193
IF5.IPV4 10.54.226.242
IF5.Port Pkt1
IF1.PrefixV4 24
IF4.PrefixV4 26
IF5.PrefixV4 26
PKT1_V01_ALT_IP_01.IP 10.54.226.179
PKT1_V02_ALT_IP_01.IP 10.54.226.243
PKT0_V01_ALT_IP_01.IFName IF2
PKT0_V02_ALT_IP_01.IFName IF3
PKT1_V01_ALT_IP_01.IFName IF4
PKT1_V02_ALT_IP_01.IFName IF5
LOGICAL_MGMT_IP.IFName IF0
|
...
Sample configurations using metaVariables are
...
...
.\
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
...
CLI Configuration
...