In the OpenStack environment,when cloud instances are launched through Heat, metadata and userdata are populated automatically by the Heat template. The SBC SWe
In the OpenStack environment, metadata and userdata are populated automatically by the Heat template when SBC SWe cloud instances are launched through Heat. The metadata and userdata you provide in the your template are essential to ensuring that the SBC SWe instance you deploy can initialize correctly. To be interpreted correctly, the metadata and userdata must be provided in the proper JSON format. The example Heat templates
provides include metadata and userdata sections in the
proper required format. When editing or copying these sections to create your own Heat template, be sure to maintain the format. The following sections describe the SBC SWe metadata and userdata.
Info |
---|
For AWS and OpenStack, there is now a common REST API command for accessing/showing/listing instantiation data such as meta-data and user-data. For details, refer to the REST - API - Reference - Guide. |
Code Block |
---|
# 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>",
},
# Ha0 interface
"IF1" : {
"Port" : "Ha0",
"DHCP": "<Dhcp_flag>",
"GWV4":"<IP_Address>",
"IPV4":"<IP_Address/Subnet_Prefix>",
"FIPV4":"<IP_Address>",
},
# 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>"
} |
Code Block |
---|
# Another Secondary IP for Pkt0.111
"AltIP3" : {
"IFName":"IF2",
"IP": "<IP_Address>",
"FIPV4":"<IP_Address>"
}
# 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>",
},
# 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>"
|
If a port needs to be part of multiple VLANs, IF
definitions including the port must be repeated for each VLAN IDs, as follows:
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>"
} |
of Code Block |
---|
|
#Interface definition for the 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" |
Info |
---|
|
- Ensure the alternate IP definitions have corresponding IF names.
IF dictionary names are any name prefixed by IF .
Example : IF-ABC , IFASD, IF_AS, and so on. Example: The second alternate IP address for pkt0's first VLAN IP interface can be named as PKT0_V01_ALT_IP_02. |
This section describes individual parameters within the SBC metadata:
Code Block |
---|
"IF3IFx" : { {
"Port": "Pkt0<Port_Name>",
"DHCP": "False<Dhcp_flag>",
"GWV4RNat": "10.0.3.1<True|False>",
"IPV4GWV4": "10.0.3.187/24"<IP_Address>",
"GWV6IPV4": "fd00:10:6b50:4350::6"<IP_Address/Subnet_Prefix>",
"IPV6GWV6" : "fd00:10:6b50:4350::69/64"<IP_Address>",
"FIPV4IPV6": "54.32.21.12"<IP_Address/Subnet_Prefix>",
"RNatFIPV4": "true<IP_Address>",
"VlanId":"222<VLAN_ID>"
} |
Anchor |
---|
| Interface Parameter Table |
---|
| Interface Parameter Table |
---|
|
The elements which
constitutes can constitute an interface definition:
Caption |
---|
0 | Table |
---|
1 | Interface Definition Parameters |
---|
3 | Interface Definition |
---|
|
|
IFXIFx | Interface definition name This element is the name |
|
of in the dictionary which contains the information of the port. Here, "IF" is a key word, and it can be appended with any name/identifier for x. Example: IF_Pkt0, IFMgt0, IF-MediaPort. Note: The name provided for |
|
Interface the interface definition is used in |
|
Alternate an alternate IP definition. A link is formed between the two definitions based on the |
|
Interface interface definition name. | Port | Port Name One of – Mgt0, Ha0, Pkt0, Pkt1. This indicates the actual port to which the definition belongs. | DHCP | This flag is used to enable or disable |
|
the DHCP. If the DHCP is set to False, you need to provide fixed IP addresses for each |
|
portsPort | 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. Example: 10.54.116.53/23 |
RNat | Reverse NAT flag Values: - True: To consider FIPV4 entity value provided in the dictionary.
- False: To configure FIPV4 using SMM rules, and ignore the FIPV4 value provided.
Default value - True | GWV4 | Gateway IP in IPv4 format. Should be provided only when |
|
GWV4 | Gateway IP v4
Should be provided only in case of DHCP disabled on the port and it requires |
|
V4 an IPv4 address. Note : GWV4 and IPV4 are interdependent, both have to be provided in a noDHCP |
|
V4 IPV6 Private Port + Prefix - v6private port and prefix in IPv4 format. Should be provided only |
|
in case of when DHCP is disabled on the port and it requires |
|
v6 fd00:10:6b50:4350::69/64GWV6 | 10.54.116.53/23 NOTE: Do not use a non-routable IP address (example: 169.254.x.x), even for the HA port, if you are using a non-DHCP configuration. | GWV6 | Gateway IP in IPv6 format. |
|
Gateway IP v6Should be provided only in case |
|
of DHCP is disabled on the port and it requires |
|
v6 an IPv6 address. Note : GWV6 and IPV6 are interdependent, both have to be provided in a noDHCP |
|
v6 FIPV4Floating associated 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.
Default value - True |
private port and prefix in IPv6 format. Should be provided only in case DHCP disabled on the port and it requires an IPv6 address. Example : fd00:10:6b50:4350::69/64 | FIPV4 | Floating IP associated with the port. Provide when a Floating IP is associated (in DHCP enabled and disabled scenarios) with the port. | VlanId | ID of the VLAN. |
|
Alternate An alternate IP definition contains the information of for an additional IP addresses address associated with the a 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 14following is an example definition with the parameters explained in the table that follows the example.
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 IP (ALT IP) definition name/identifier |
|
.Alternate IP address associated with a port. This identifier does not have any restriction on naming, AltIP3 is an example. |
|
Example Other examples for ALT IP identifier : Alt_Pkt0_AX, ALT_PKT0_01, signaling_Pkt0_05. | IFName | Interface definition |
|
NameIndicates the Makes an association between the ALT IP address and |
|
the an existing interface definition. |
|
When the user changes If you change the interface definition name (i.e |
|
IFX the user you must simultaneously change the IFName value in this definition. Otherwise, the link between the ALT IP and |
|
it's its associated port is lost. | IP | IPV4 or IPV6 address IP address |
|
that needs be associated User can type v4 or v6 Specify an IPv4 or IPv6 address, based on |
|
what the IP version the parent interface |
|
dictionary contains.When IF definition has v4/v6 address, the ALT IP definition also must have only v4/v6 address case of since, Interface dictionary the interface definition has both |
|
V4 V6 the ALT IP definition v4 v6 addresses. But both have to IPv6 ALT IP addresses. They must be defined in separate ALT |
|
dictionaryIP definitions, each pointing to |
|
it's dictionarydefinition. | FIPV4 | Floating IP on the Alternate IP |
|
If Use this parameter to specify the value of a floating IP |
|
is associated to associate with the ALT |
|
(alternate/additional) , the value against this field must contain the floating IP. Note: The RNat flag which is defined in the interface |
|
dictionary definition is an interface-wide entity. If the RNat flag is disabled in the interface |
|
dictionarydefinition, the FIP value provided in the ALT IP definition is not considered while populating the |
|
metaVariables metavariables for this port. |
|
The parameter ClusterIp
is used for to form a Redundancy Group (RG) formation during startup. You must pass HA0 the IP address of one of the nodes of in the RG as in the ClusterIp parameter. The format is shown below.
Code Block |
---|
ClusterIp: "<RG_IP>" |
Caption |
---|
0 | Table |
---|
1 | Cluster IP Parameters |
---|
3 | Cluster IP |
---|
|
Parameter | Description |
---|
ClusterIp | ClusterIP is the IP address of one of the nodes in the RG used for |
|
Redundancy Group (RG) UserData
Code Block |
---|
{user_data_format: RAW
"CERole" : "CERole",
"CEName" : "CEName",
"SystemName" : "SystemName",
"SbcPersonalityType" : "SbcPersonalityType",
"EmsUsername" : "EmsUsername",
"EmsPassword" : "EmsPassword",
"EmsIP" : "EmsIP",
"EmsDownloadConfig" : "EmsDownloadConfig",
"ConfigDownloadName" : "ConfigDownloadName",
"EmsPrivateNodeParameters" : { "cluster_id": "","vnfc_id":""}
} |
Info |
---|
The Userdata JSON is present under the write_file directory /opt/sonus/conf/userData.json . |
Example of Userdata Code Block |
---|
{
"CERole" user_data:
str_replace:
template: |
#cloud-config
users:
"ACTIVE",
"CEName" - name: "vsbc1",admin
"SystemName" : "vsbcsystem",
"SbcPersonalityType" ssh-authorized-keys:
: "msbc",
"EmsUsername" : "restuser",
"EmsPassword" - $adminSshKey :
"sonus123",
"EmsIP" lock_passwd: [ "10.54.58.184", "10.54.58.185" ],
"EmsDownloadConfig"false
: "True",
"ConfigDownloadName" - name: "savedMSBCconfiguration",
linuxadmin
"EmsPrivateNodeParameters": { "cluster_id": "MSBC" , "vnfc_id": "Msbc1_N1" }
} |
Caption |
---|
0 | Table |
---|
1 | OpenStack Userdata Parameter Description |
---|
|
Parameter | Length | Example | Description |
---|
CERole | N/A | Active | Assigned role of SBC instance. Allowed Value: | CEName | 64 | vsbc1 | Specifies the actual CE name of the SBC instance. For more information, see 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, see 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.
| SbcPersonalityType | N/A | ssbc | Specifies the SBC personality type. Allowed Value: | 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: | ConfigDownloadName | 64 | savedMSBCconfiguration1 | The SBC configuration name can contain only letters, numbers, dashes (-), apostrophes ('), underscores (_), colons (:) and spaces |
|
Interface related information (contents of Interface and ALT IP definition) provided in userdata and/or metadata is flattened down into key-value pairs, which is used for CLI configuration.
A example metavariable table for the 4:1 M-SBC is shown below:
ssh-authorized-keys:
- $linuxAdminSshKey
lock_passwd: false
runcmd:
- usermod -p '$adminPassword' admin
- usermod -p '$linuxAdminPassword' linuxadmin
write_files:
- content: |
{
"CEName" : "$ce_name",
"CEMode" : "$ce_mode",
"SystemName" : "$system_name",
"SbcPersonalityType" : "$personality",
"SbcHaMode" : "$ha_mode",
"DosSupportSecPktPorts" : "$dos_support_sec_port",
"EmsUsername" : "$ems_user_name",
"EmsPassword" : "$ems_password",
"EmsIP" : [ "$ems_ip_1", "$ems_ip_2" ],
"EmsDownloadConfig" : "$downloadConfig",
"OamIP" : [ "$oam_ip_1", "$oam_ip_2" ],
"Oam1Ip" : "$oam_ip1",
"Oam2Ip" : "$oam_ip2",
"CERole" : "$ce_role",
"TemplateName" : "heatRgNoDhcp.yaml",
"TemplateVersion" : "TEMPLATE_VERSION_UNKNOWN",
"EmsPrivateNodeParameters" : { "cluster_id": "$cluster_id","vnfc_id":"$vnfc_id"}
}
path: /opt/sonus/conf/userData.json
#bootcmd:
#- /opt/sonus/bin/mountVolume.sh -v "$cinderVolumeIdForLogs"
params:
$ce_role: { get_param: sbc_ceRole }
$ce_name: { get_param: sbc_ceName }
$ce_mode: { get_param: sbc_ceMode }
$system_name: { get_param: sbc_system_name }
$personality: { get_param: personality }
$dos_support_sec_port: { get_param: dos_support_sec_port }
$ha_mode: { get_param: ha_mode }
$ems_user_name: { get_param: ems_user_name }
$ems_password: { get_param: ems_password }
$ems_ip_1: { get_param: ems_ip_1 }
$ems_ip_2: { get_param: ems_ip_2 }
$cluster_id: { get_param: cluster_id }
$downloadConfig: { get_param: download_config }
$oam_ip_1: { get_param: oam_ip_1 }
$oam_ip_2: { get_param: oam_ip_2 }
$vnfc_id: { list_join: ['-', [ { get_param: "OS::stack_name" }, { get_param: cluster_id }, '1']] }
$adminSshKey: { get_param: adminSshKey }
$linuxAdminSshKey: { get_param: linuxAdminSshKey }
$adminPassword: { get_param: adminPassword }
$linuxAdminPassword: { get_param: linuxAdminPassword }
#$cinderVolumeIdForLogs: { get_param: cinder_volume_id_for_logs }
|
Info |
---|
The userdata JSON is present under the write_file directory /opt/sonus/conf/userData.json . |
Code Block |
---|
{
"CERole" : "ACTIVE",
"CEName" : "vsbc1",
"CEMode" : "sbc",
"SystemName" : "vsbcsystem",
"SbcPersonalityType" : "msbc",
"SbcHaMode" : "Nto1",
"OamIP" : [ "10.54.58.104", "10.54.58.105" ],
"Oam1Ip" : "10.54.58.104"
"Oam2Ip" : "10.54.58.105"
"EmsUsername" : "restuser",
"EmsPassword" : "sonus123",
"EmsIP" : [ "10.54.58.184", "10.54.58.185" ],
"EmsDownloadConfig" : "False",
"TemplateName" : "heatRgNoDhcp.yaml",
"TemplateVersion" : "V08.00.00",
"EmsPrivateNodeParameters": { "cluster_id": "MSBC" , "vnfc_id": "Msbc1_N1" }
} |
Info |
---|
|
Beginning with release 7.1, you must include SSH keys or passwords in the Heat template to log into the SBC CLI or linux shell. Because they are more secure, SSH key fields are mandatory in the Heat templates. You can use the ssh-keygen command to generate keys. This command generates two files id_rsa and id_rsa.pub in your /home/<user>/.ssh directory. The contents of the id_rsa.pub file contains the input value for the keys in the template. Optionally, keys can also be protected using a passphrase. Use man ssh-keygen for more options. Passwords are optional fields. The password input is not plain text, it is a hash of the password. The hash password can be generated using the command: mkpasswd --method=SHA-512 --rounds=4096 Use man mkpasswd for more options. |
Caption |
---|
0 | Table |
---|
1 | OpenStack Userdata Parameter Description |
---|
|
Parameter | Description |
---|
adminSshKey | Specifies the public SSH key to log into the SBC CLI as the admin user. | linuxAdminSshKey | Specifies the public SSH key to log into the SBC shell as the linuxadmin user. | adminPassword | The hash of the password to log into the SBC CLI as the admin user. | linuxAdminPassword | The hash of the password to log into the SBC shell as the linuxadmin user. | CERole | Assigned role for the SBC instance. Allowed values: | CEName | Specifies the actual CE name of the SBC instance. For more information, see System and Instance Naming in SBC SWe N:1 and Cloud-Based Systems. CEName requirements: - Must start with an alphabetic character.
- Can only contain alphabetic characters and/or numbers. No special characters.
- Cannot exceed 64 characters in length.
| CEMode | Specifies the role for the SBC instance within the cluster. Allowed values: - oam - the node is an Operations, Administration, and Maintenance (OAM) node that manages configuration for an N:1 cluster.
- sbc - the node is an SBC node.
| SystemName | Specifies the actual system name of the SBC instance. For more information, see System and Instance Naming in SBC SWe N:1 and Cloud-Based Systems. SystemName requirements: - Must start with an alphabetic character.
- Can only contain alphabetic characters and/or numbers. No special characters.
- Cannot exceed 26 characters in length.
| SbcPersonalityType | Specifies the SBC or node personality type. Allowed values: - isbc - integrated SBC
- ssbc - signaling SBC
- msbc - media SBC
- mrfp - Media Resource Function Processor
- slb - SIP-aware front-end load-balancer
| DosSupportSecPktPorts | (Applicable only when port redundancy is enabled) Specifies whether to launch secondary Rx cores to support DoS protection for secondary packet ports. Allowed values: | SbcHaMode | Specifies the SBC HA model for the deployment. Allowed values: - 1to1 - a 1:1 HA redundancy model where one active instance is backed up by one standby instance. In HA 1:1 mode, the SBC configuration is synchronized between active and standby SBCs.
- Nto1 (default) - an N:1 redundancy model where up to N active instances are backed up by a single standby instance. In this mode, a 1:1 HA pair of dedicated Operations, Administration, and Maintenance (OAM) nodes is deployed to configure and manage SBC nodes. The SBC instances in such deployments have homogeneous configuration. The active OAM node holds the active configuration for the cluster and is responsible for sharing this configuration with the SBC nodes in the cluster.
| OamIP | Specifies the IP addresses for the 1:1 HA pair of OAM nodes. For IPv4: ["a.b.c.x","a.b.c.y"] For IPv6: ["aaaa:bbbb:cccc:dddd::xx","aaaa:bbbb:cccc:dddd::yy"] | EmsUsername | Specifies the REST username for logging into EMS. Default value: "None" If the SBC SWe is not integrated with an EMS, this parameter should be set to "None". | EmsPassword | Specifies the REST password for logging into EMS. Default value: "None" If the SBC SWe is not integrated with an EMS, this parameter should be set to "None". | EmsIP | Specifies the EMS instance IPv4 or IPv6 address(es). For IPv4 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"]
| EmsDownloadConfig | Whether configuration should be downloaded from the EMS. Default value: True Allowed values: Note: Beginning in release 8.0, this option is no longer required and the configured value is ignored. | TemplateName | Specifies the name of the template file. | TemplateVersion | Specifies the software version associated with the template. | EmsPrivateNodeParameters | Specifies the EMS private node parameters.
cluster_id - Unique ID for a specific cluster in a cloud environment which can contain one or more SBC instances.
vnfc_id - Unique ID specified for an SBC instance. The EMS identifies the nodes based on the VNFC-ID. If you reuse an existing VNFC-ID, the EMS will interpret it as a re-registration request and overwrite the existing data on the cloud node. The cluster ID and vnfc ID both allow hyphens and cannot exceed 64 characters in length. | cinderVolumeIdForLogs | (Optional) Specifies the Cinder volume ID that you want to attach for logs. Cinder volume length must be between 1 and 8 characters. allowed values: "^[A-Za-z0-9]{1}[-A-Za-z0-9]*[A-Za-z0-9]{1}$" |
|
Interface-related information (contents of interface and ALT IP definitions) provided in userdata and/or metadata is flattened down into key-value pairs, which can be retrieved using the CLI.
An example metavariable table for a 4:1 M-SBC is shown below:
Code Block |
---|
admin@vMsbcl> show table system metavariable
CE NAME NAME VALUE
------------------------------------------------------
vMsbcl-10.10.20.17 OamIP ['10.10.20.17','10.10.20.18']
vMsbcl-10.10.20.17 Oam1Ip 10.10.20.17
vMsbcl-10.10.20.17 Oam2Ip 10.10.20.18
vMsbcl-10.10.20.17 IFO.GWV6 fd00:10:6b50:43AO::1
vMsbcl-10.10.20.17 IF0.IPV6 FD00:10:6B50:43AO::DO
vMsbcl-10.10.20.17 IFO.Port MgtO
vMsbcl-10.10.20.17 IFl.GWV4 10.10.20.1
vMsbcl-10.10.20.17 IFl.IPV4 10.10.20.17
vMsbcl-10.10.20.17 IFl.Port HaO
vMsbcl-10.10.20.17 IF2.GWV6 FD00:10:6B50:4D74::1
vMsbcl-10.10.20.17 IF2.IPV6 FD00:10:6B50:4D74::DO
vMsbcl-10.10.20.17 IF2.Port PktO
vMsbcl-10.10.20.17 IF3.GWV6 FD00:10:6B50:4D70::1
vMsbcl-10.10.20.17 IF3.IPV6 FD00:10:6B50:4D70::9
vMsbcl-10.10.20.17 IF3.Port PktO |
Code Block |
---|
admin@vMsbcl> show table system metavariable
CE NAME NAME VALUE
------------------------------------------------------
vMsbcl-10.10.20.17 IFOIF4.GWV6GWV4 fd00:10:6b50:43AO::110.54.226.129
vMsbcl-10.10.20.17 IF0IF4.IPV6IPV4 FD00:10:6B50:43AO::DO10.54.226.138
vMsbcl-10.10.20.17 IFOIF4.Port MgtOPktO
vMsbcl-10.10.20.17 IFlIF5.GWV4 10.1054.20226.1193
vMsbcl-10.10.20.17 IFlIF5.IPV4 10.1054.20226.17202
vMsbcl-10.10.20.17 IFlIF5.Port HaOPktO
vMsbcl-10.10.20.17 IF2IF6.GWV6GWV4 FD00:10:6B50:4D74::10.10.13.1
vMsbcl-10.10.20.17 IF2IF6.IPV6IPV4 FD00:10:6B50:4D74::DO10.10.13.17
vMsbcl-10.10.20.17 IF2IF6.Port PktOPktl
vMsbcl-10.10.20.17 IF3IF2.GWV6Vlanid FD00:10:6B50:4D70::1313
vMsbcl-10.10.20.17 IF3.IPV6Vlanid FD00:10:6B50:4D70::9309
vMsbcl-10.10.20.17 IF3IF4.PortVlanid PktO311
vMsbcl-10.10.20.17 IF4IF5.GWV4Vlanid 10.54.226.129312
vMsbcl-10.10.20.17 IF4IFO.IPV4 10.54.226.138PrefixV6 60
vMsbcl-10.10.20.17 IF4IFl.PortPrefixV4 PktO24
vMsbcl-10.10.20.17 IF5IF2.GWV4 10.54.226.193PrefixV6 64
vMsbcl-10.10.20.17 IFSIF3.IPV4 10.54.226.202
vMsbclPrefixV6 64 |
Code Block |
---|
vMsbc2-10.10.20.1718 OamIP IFS.Port PktO
vMsbcl- ['10.10.20.17 IF6.GWV4 ','10.10.13.1
vMsbcl20.18']
vMsbc2-10.10.20.1718 Oam1Ip IF6.IPV4 10.10.1320.17
vMsbclvMsbc2-10.10.20.1718 Oam2Ip IF6.Port Pktl
vMsbcl-10.10.20.17 IF2.Vlan!d 313
vMsbcl18
vMsbc2-10.10.20.1718 IF3IF4.Vlan!d 309
vMsbclPrefixV4 26
vMsbc2-10.10.20.1718 IF4IF5.Vlan!d 311
vMsbclPrefixV4 26
vMsbc2-10.10.20.1718 IFSIF6.Vlan!d 312
vMsbclPrefixV4 24
vMsbc2-10.10.20.1718 IFO.PrefixV6 60
vMsbclGWV6 fd00:10:6b50:43AO::1
vMsbc2-10.10.20.1718 IFlIF0.PrefixV4 24
vMsbclIPV6 FD00:10:6B50:43AO::Dl
vMsbc2-10.10.20.1718 IF2IFO.PrefixV6Port 64 MgtO
vMsbclvMsbc2-10.10.20.1718 IF3IFl.PrefixV6 64
vMsbclGWV4 10.10.20.1
vMsbc2-10.10.20.1718 IF4IFl.PrefixV4 26
vMsbcl-IPV4 10.10.20.17 IF5.PrefixV4 26
vMsbcl18
vMsbc2-10.10.20.1718 IF6IFl.PrefixV4Port 24 HaO
vMsbc2-10.10.20.18 IFOIF2.GWV6 fd00FD00:10:6b506B50:43AO4D74::1
vMsbc2-10.10.20.18 IF0IF2.IPV6 FD00:10:6B50:43AO4D74::Dl
vMsbc2-10.10.20.18 IFOIF2.Port MgtOPktO
vMsbc2-10.10.20.18 IFlIF3.GWV4GWV6 10.10.20.FD00:10:6B50:4D70::1
vMsbc2-10.10.20.18 IFlIF3.IPV4IPV6 10.10.20.18FD00:10:6B50:4D70::A
vMsbc2-10.10.20.18 IFlIF3.Port HaOPktO
vMsbc2-10.10.20.18 IF2IF4.GWV6GWV4 FD00:10:6B50:4D74::110.54.226.129
vMsbc2-10.10.20.18 IF2IF4.IPV6IPV4 FD00:10:6B50:4D74::Dl10.54.226.139
vMsbc2-10.10.20.18 IF2IF4.Port PktO
vMsbc2-10.10.20.18 IF3IF5.GWV6GWV4 FD00:10:6B50:4D70::110.54.226.193
vMsbc2-10.10.20.18 IF3IF5.IPV6IPV4 FD00:10:6B50:4D70::A10.54.226.203
vMsbc2-10.10.20.18 IF3IF5.Port PktO
vMsbc2-10.10.20.18 IF4IF6.GWV4 10.5410.22613.1291
vMsbc2-10.10.20.18 IF4IF6.IPV4 10.5410.22613.13918
vMsbc2-10.10.20.18 IF4IF6.Port PktOPktl
vMsbc2-10.10.20.18 IF5IF2.GWV4Vlanid 313
vMsbc2-10.54.226.19310.20.18 IF3.Vlanid 309
vMsbc2-10.10.20.18 IFSIF4.IPV4Vlanid 10.54.226.203311
vMsbc2-10.10.20.18 IFSIF5.PortVlanid PktO312
vMsbc2-10.10.20.18 IF6IFO.GWV4 10.10.13.1PrefixV6 60
vMsbc2-10.10.20.18 IF6IFl.IPV4 10.10.13.18PrefixV4 24
vMsbc2-10.10.20.18 IF6IF2.PortPrefixV6 Pktl64
vMsbc2-10.10.20.18 IF2IF3.Vlan!d 313PrefixV6 64
vMsbc2-10.10.20.18 IF3IF4.Vlan!d 309PrefixV4 26
vMsbc2-10.10.20.18 IF4IF5.Vlan!d 311PrefixV4 26
vMsbc2-10.10.20.18 IFSIF6.Vlan!d 312
vMsbc2PrefixV4 24
vMsbc3-10.10.20.1819 OamIP IFO.PrefixV6 60
vMsbc2- ['10.10.20.18 IFl.PrefixV4 24
vMsbc2-17','10.10.20.18 IF2.PrefixV6 64
vMsbc2']
vMsbc3-10.10.20.1819 Oam1Ip IF3.PrefixV6 64
vMsbc2-10.10.20.18 IF4.PrefixV4 26
vMsbc217
vMsbc3-10.10.20.1819 Oam2Ip IF5.PrefixV4 26
vMsbc2-10.10.20.18 IF6.PrefixV4 24
vMsbc3-10.10.20.19 IFO.GWV6 fd00:10:6b50:43AO::1
vMsbc3-10.10.20.19 IF0.IPV6 FD00:10:6B50:43AO::D2
vMsbc3-10.10.20.19 IFO.Port MgtO
vMsbc3-10.10.20.19 IFl.GWV4 10.10.20.1
vMsbc3-10.10.20.19 IFl.IPV4 10.10.20.19
vMsbc3-10.10.20.19 IFl.Port HaO
vMsbc3-10.10.20.19 IF2.GWV6 FD00:10:6B50:4D74::1
vMsbc3-10.10.20.19 IF2.IPV6 FD00:10:6B50:4D74::D2
vMsbc3-10.10.20.19 IF2.Port PktO
vMsbc3-10.10.20.19 IF3.GWV6 FD00:10:6B50:4D70::1
vMsbc3-10.10.20.19 IF3.IPV6 FD00:10:6B50:4D70::B
vMsbc3-10.10.20.19 IF3.Port PktO
vMsbc3-10.10.20.19 IF4.GWV4 10.54.226.129
vMsbc3-10.10.20.19 IF4.IPV4 10.54.226.140
vMsbc3-10.10.20.19 IF4.Port PktO
vMsbc3-10.10.20.19 IF5.GWV4 10.54.226.193
vMsbc3-10.10.20.19 IFSIF5.IPV4 10.54.226.204
vMsbc3-10.10.20.19 IFSIF5.Port PktO
vMsbc3-10.10.20.19 IF6.GWV4 10.10.13.1
vMsbc3-10.10.20.19 IF6.IPV4 10.10.13.19
vMsbc3-10.10.20.19 IF6.Port Pktl |
Code Block |
---|
vMsbc3-10.10.20.19 IF2.Vlan!dVlanid 313
vMsbc3-10.10.20.19 IF3.Vlan!dVlanid 309
vMsbc3-10.10.20.19 IF4.Vlan!dVlanid 311
vMsbc3-10.10.20.19 IFS.Vlan!dVlanid 312
vMsbc3-10.10.20.19 IFO.PrefixV6 60
vMsbc3-10.10.20.19 IFl.PrefixV4 24
vMsbc3-10.10.20.19 IF2.PrefixV6 64
vMsbc3-10.10.20.19 IF3.PrefixV6 64
vMsbc3-10.10.20.19 IF4.PrefixV4 26
vMsbc3-10.10.20.19 IF5.PrefixV4 26
vMsbc3-10.10.20.19 IF6.PrefixV4 24.PrefixV4 24
vMsbc4-10.10.20.26 OamIP ['10.10.20.17','10.10.20.18']
vMsbc4-10.10.20.26 Oam1Ip 10.10.20.17
vMsbc4-10.10.20.26 Oam2Ip 10.10.20.18
vMsbc4-10.10.20.26 IFO.GWV6 fd00:10:6b50:43AO::1
vMsbc4-10.10.20.26 IF0.IPV6 FD00:10:6B50:43AO::D9
vMsbc4-10.10.20.26 IFO.Port MgtO
vMsbc4-10.10.20.26 IFl.GWV4 10.10.20.1
vMsbc4-10.10.20.26 IFl.IPV4 10.10.20.26
vMsbc4-10.10.20.26 IFl.Port HaO
vMsbc4-10.10.20.26 IF2.GWV6 FD00:10:6B50:4D74::1
vMsbc4-10.10.20.26 IF2.IPV6 FD00:10:6B50:4D74::D9
vMsbc4-10.10.20.26 IF2.Port PktO
vMsbc4-10.10.20.26 IF3.GWV6 FD00:10:6B50:4D70::1
vMsbc4-10.10.20.26 IF3.IPV6 FD00:10:6B50:4D70::12
vMsbc4-10.10.20.26 IF3.Port PktO
vMsbc4-10.10.20.26 IF4.GWV4 10.54.226.129
vMsbc4-10.10.20.26 IF4.IPV4 10.54.226.147
vMsbc4-10.10.20.26 IF4.Port PktO
vMsbc4-10.10.20.26 IF5.GWV4 10.54.226.193
vMsbc4-10.10.20.26 IFSIF5.IPV4 10.54.226.211
vMsbc4-10.10.20.26 IFSIF5.Port PktO
vMsbc4-10.10.20.26 IF6.GWV4 10.10.13.1.1
vMsbc4-10.10.20.26 IF6.IPV4 10.10.13.26
vMsbc4-10.10.20.26 IF6.Port Pktl
vMsbc4-10.10.20.26 IF2.Vlanid 313
vMsbc4-10.10.20.26 IF3.Vlanid 309
vMsbc4-10.10.20.26 IF4.Vlanid 311
vMsbc4-10.10.20.26 IF6IF5.IPV4Vlanid 312
vMsbc4-10.10.1320.26 IFO.PrefixV6 60
vMsbc4-10.10.20.26 IF6IFl.PortPrefixV4 Pktl24
vMsbc4-10.10.20.26 IF2.Vlan!d 313PrefixV6 64
vMsbc4-10.10.20.26 IF3.Vlan!d 309PrefixV6 64
vMsbc4-10.10.20.26 IF4.Vlan!d 311PrefixV4 26
vMsbc4-10.10.20.26 IFSIF5.Vlan!d 312PrefixV4 26
vMsbc4-10.10.20.26 IF6.PrefixV4 24 |
Code Block |
---|
vMsbcS-10.10.20.11 OamIP ['10.10.20.17',' IFO.PrefixV6 60
vMsbc4-10.10.20.26 IFl.PrefixV4 24
vMsbc418']
vMsbcS-10.10.20.2611 Oam1Ip IF2.PrefixV6 64
vMsbc4-10.10.20.26 IF3.PrefixV6 64
vMsbc417
vMsbcS-10.10.20.2611 Oam2Ip IF4.PrefixV4 26
vMsbc4-10.10.20.26 IF5.PrefixV4 26
vMsbc4-10.10.20.26 IF6.PrefixV4 2418
vMsbcS-10.10.20.11 IFO.GWV6 fd00:10:6b50:43AO::1
vMsbcS-10.10.20.11 IF0.IPV6 FD00:10:6B50:43AO::CA
vMsbcS-10.10.20.11 IFO.Port MgtO
vMsbcS-10.10.20.11 IFl.GWV4 10.10.20.1
vMsbcS-10.10.20.11 IFl.IPV4 10.10.20.11
vMsbcS-10.10.20.11 IFl.Port HaO
vMsbcS-10.10.20.11 IF2.GWV6 FD00:10:6B50:4D74::1
vMsbcS-10.10.20.11 IF2.IPV6 FD00:10:6B50:4D74::CA
vMsbcS-10.10.20.11 IF2.Port PktO
vMsbcS-10.10.20.11 IF3.GWV6 FD00:10:6B50:4D70::1
vMsbcS-10.10.20.11 IF3.IPV6 FD00:10:6B50:4D70::3
vMsbcS-10.10.20.11 IF3.Port PktO
vMsbcS-10.10.20.11 IF4.GWV4 10.54.226.129
vMsbcS-10.10.20.11 IF4.IPV4 10.54.226.132
vMsbcS-10.10.20.11 IF4.Port PktO
vMsbcS-10.10.20.11 IF5.GWV4 10.54.226.193
vMsbcS-10.10.20.11 IFSIF5.IPV4 10.54.226.196
vMsbcS-10.10.20.11 IFSIF5.Port PktO
vMsbcS-10.10.20.11 IF6.GWV4 10.10.13.1
vMsbcS-10.10.20.11 IF6.IPV4 10.10.13.11
vMsbcS-10.10.20.11 IF6.Port Pktl
vMsbcS-10.10.20.11 IF2.Vlan!dVlanid 313
vMsbcS-10.10.20.11 IF3.Vlan!dVlanid 309
vMsbcS-10.10.20.11 IF4.Vlan!dVlanid 311
vMsbcS-10.10.20.11 IFS.Vlan!dVlanid 312
vMsbcS-10.10.20.11 IFO.PrefixV6 60
vMsbcS-10.10.20.11 IFl.PrefixV4 24
vMsbcS-10.10.20.11 IF2.PrefixV6 64
vMsbcS-10.10.20.11 IF3.PrefixV6 64
vMsbcS-10.10.20.11 IF4.PrefixV4 26
vMsbcS-10.10.20.11 IF5.PrefixV4 26
vMsbcS-10.10.20.11 IF6.PrefixV4 24
[ok] [2017-08-04 12:26:35] |
The sample metaVariables metavariable names are used for 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 SVzIMSMediaIPv6SRRIMSMediaIPv6 ipVarV6 PKT0_V02_ALT_IP_01.IP mode inService state enabled
commit |