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.

Table 1. Topology identifying elements
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.
Table 2. Node description
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:
  • operating system (for example, SRLinux)
  • software version (for exaple, 22.6.1)
  • vendor (for example, Nokia)

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:

  • T1_LEAF
  • T2_SPINE
  • T3
  • BORDERLEAF
Table 3. LAGs
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.
Table 4. Device profile
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:
  • 210-WBX-32Q
  • 7220 IXR-D2
  • 7220 IXR-D2L
  • 7220 IXR D3
  • 7220 IXR D3L
  • 7220 IXR-H2
  • 7220 IXR-H3
  • 7250 IXR-10
  • 7250 IXR-6
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.

.

Table 5. Links
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:

  • T1_ISL_T2
  • T2_ISL_T3
  • T3_ISL_T4
  • ISL

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
For edge port data, the system verifies that:
  • the port is valid based on the catalog for the device type.
  • each port used for edge links and ISLs is unique
For LAG data, the system verifies that:
  • each LAG name is locally unique.
  • no LAG data is provided for an imported topology intended for SR Linux nodes.