Elements of a topology file
The fabric topology described in a JSON configuration file can include the following elements, some of which are optional while others are mandatory:
- identifying information for the topology itself
- a set of nodes
- a set of links
- a set of device profiles
- LAG descriptions (for WBX only; this is not supported for an SR Linux topology)
The following tables describe each of these elements in detail.
Field Name | Default Value | Mandatory/Optional | Description of use/requirement |
name | Mandatory | The file must include a name for the topology. | |
description | Optional | Optionally, you can include a description for the topology. |
Field Names | Default Value | Mandatory/Optional | Description of use/requirement |
deviceProfile | Mandatory | You must include a reference to a device profile which must also be specified as part of the topology template. If the device profile does not exist within the template file, the import fails. | |
systemName | Mandatory | You must include the system name of the node. Upon import for a particular fabric, the fabric intent prefix is prepended to this name. Only one entry with the same system name is allowed per template. | |
deviceVendor | Mandatory | You must specify the following attributes for the node's device
vendor:
The system validates that the specified software is supported by the version in the software catalogue for the chassis type of the device profile. |
|
lags | Optional |
You may include a list of LAGs that already exist on the device. This value is only allowed if the node is considered unmanaged, meaning that the Fabric Services System itself is not managing the node configuration. For example, this vaue is supported for WBX nodes, but not for SRLinux nodes. For more information about LAG data, see the table LAGs. |
|
pod | Optional | You can include a label to identify a group of nodes. | |
rack | Optional | You may include a label to identify a grouping of nodes which reside in the same physical rack. | |
role | Mandatory |
You must include a role for the node. Several roles are available to identify a node's position within the fabric hierarchy:
|
Field Names | Default Value | Mandatory/Optional | Description of use/requirement |
name | Mandatory | You must include a text string that is the name for a LAG. | |
Local name | Mandatory |
You must include the name of the LAG as specified on the device
itself; for example, lag1
Note: A node must
not include more than one LAG with the same local
name. |
|
Multi Homed | True | Mandatory | You must indicate whether the LAG is multi-homed. |
ports | Mandatory | You must include a list of ports that constitute this particular LAG. | |
Note: LAG information is supported only for
unmanaged topologies, such as those consisting of 210 WBX nodes. For
managed topologies, such as those consisting of SR Linux nodes,
configure LAGs conventionally as you would for a non-imported
topology.
|
Field Name | Default Value | Mandatory/Optional | Description of use/requirement |
name | Mandatory | You must include a name for the device profile. | |
description | Optional | You may include a description for the device profile | |
chassis type | Mandatory | You must include one of the following chassis types:
|
|
edge links | Optional |
You may include a list of edge links. Only interfaces which are valid according to the inventory for the chassis type are accepted. If a configured interface is not valid, the device profile is not accepted and an error results when generating the fabric configuration. An edge link interface should not be allowed to overlap with an interface configured in a Link object. Overlapping entries are rejected and an error results when generating the fabric configuration. An edge link should only be specified once for a device profile. Duplicate entries are rejected and an error results when generating the fabric configuration. . |
Field Name | Default Value | Mandatory/Optional | Description of use/requirement |
localNode | Mandatory | You must include the local node name. This must be a valid and existing node name in the topology template. | |
localPort | Mandatory | You must identify the interface on the local node that is attached to the remote port on the remote node. This interface cannot belong to more than one link and cannot be an edge link. | |
remoteNode | Mandatory | You must include the remote node name. This must be a valid and existing node name in the topology template. | |
remotePort | Mandatory | You must identify the interface on the remote node which is attached to the local port on the local node. This interface cannot belong to more than one link and cannot be an edge link. | |
isActive | Optional | You may indicate with a value of true or false whether the links should be active. If false, an IP address is allocated to the link but the Administrative status is not set to Up. | |
speed | Optional | You may indicate a speed for the link. | |
role | Mandatory |
You must indicate the relationship between the nodes in this link. Any link that does not fall into one of the existing roles can be assigned a generic ISL role. Supported roles are:
|
Topology validation
When you import a topology into the Fabric Services System, the system performs several validation checks on the data in the selected topology.For node-level data, the system verifies that:
- If there are duplicate system names, only the first instance is accepted.
- Every node has a valid device profile name that is defined in the device profile section.
- For each chassis type, the software image version is equal to or greater than the version supported in the system's software catalog.
For link data, the system verifies that:
- a valid node name is provided for the local node
- a valid port is provided for the local port
- a valid node name is provided for the remote node
- a valid port is provided for the remote port
- all ports for the local and remote nodes are unique
- the port is valid based on the catalog for the device type.
- each port used for edge links and ISLs is unique
- each LAG name is locally unique.
- no LAG data is provided for an imported topology intended for SR Linux nodes.