Managing RMAs for Switches
RMA Use Case
Informational Note: This process applies to Version 2.5.4 and earlier.
A primary case for an RMA is a failed switch in the network. Netvisor ONE restores the configuration to a replacement switch using the following commands:
l fabric-join
l fabric-join repeer-to-cluster-node
l switch-config-import
RMA Process
This procedure assumes a failed switch is part of a HA pair (cluster). Nodes that are part of a cluster automatically back up the other configuration.
For an RMA case, the host ID differs between the new switch and the old failed switch. Netvisor ONE ties both cluster membership and service object locations to the host ID.
1. Retrieve the host id of the old node:
CLI network-admin@switch > fabric-node-show name <old-hostname> format name,id
2. Evict the old node from the fabric. This allows Netvisor ONE to process fabric provisioning operations before completing the RMA. Additionally, the presence of the old node ID interferes with subsequent steps.
CLI network-admin@switch > fabric-node-evict name <old-hostname>
3. Setup the new switch with basic settings, such as hostname and IP address.
Perform this step at the console when booting the switch for the first time:
CLI network-admin@switch > switch-setup-modify
4. Configure the new switch to rejoin the fabric. As it is part of a cluster, use the repeer-to-cluster-node option.
CLI network-admin@switch > fabric-join name <fabric-name> repeer-to-cluster-node <existing-peer-name>
Netvisor ONE downloads the entire backed up configuration from the cluster peer and restarts Netvisor ONE to apply it. The process restores local, cluster, and fabric scoped configuration.
5. After restart, any service objects present on the failed switch must be migrated to the new host. Use the value retrieved in Step 1 for the location parameter:
CLI network-admin@switch > object-location-modify location <old-hostid> new-location <new-hostname>
The above command executes a bulk migration of all service objects (vRouters, vNET managers, OVSDB Interfaces) and sub-objects
RMA Process for Version 2.6.0 and Later
Netvisor ONE fabric creates objects such as vRouters, vLAGs, clusters, and others on a switch in the fabric. Netvisor ONE tracks the switch using a location field, currently the host ID of the switch where the fabric objects are configured.
This presents various issues when replacing a faulty switch with a new switch and a new host ID. Fabric-wide configurations that reference the old host ID requires updating to the new host ID. These updates require a few manual extra steps and are either confusing, or it isn’t clear what commands need execution.
Netvisor ONE changes the location from a host ID to a fabric-specific location id assigned to each switch as the switch joins the fabric. Netvisor ONE keeps the same ID during the RMA process and reduces the RMA process to a single command.
Netvisor ONE supports a new parameter, location-id, unique among the fabric nodes. Each node that joins the fabric is assigned a new location ID when it joins. All configurations require a location tied to the location ID instead of the host ID. When Netvisor ONE executes the command, switch-config-import, the location ID inherits the ID from the imported configuration. Therefore, no updates required across the fabric because all configurations refer to the correct location ID.
The following commands no longer restore an imported configuration on a new switch:
A new parameter, location-id, is added to the commands, node-info and fabric-node-show output. This displays the location of the node.
A new command, fabric-node-location-mappings, displays the current fabric host ID to the location ID mappings. The location uses the input for the command, switch-config-import, when importing configurations from earlier versions of software.
If you import a configuration from an earlier version of software, use the following syntax:
CLI network-admin@switch > switch-config-import upgrade-location-mappings
If the imported configuration already has location IDs, Netvisor ONE ignores the parameter.