π Navigation: User Guide | Release Notes | https://pantheon.tech/
RMA
The RMA process replaces a faulty switch, so that the replacement hardware takes over the identity, intended configuration and topology position of the device it replaces. This page covers the complete flow, including the credential handling that is specific to replaced hardware.
Before you start
A configuration backup must exist. The replacement is restored from a device configuration snapshot taken while the original switch was healthy. Snapshots are produced by the periodic system backup, which covers devices in the MANAGED stage, and can also be created on demand from the device's Configuration Snapshots tab. Verify the snapshot before you begin β once the old switch is removed you can no longer take one from it.
The replacement hardware must match. In this context, βreplacementβ means hardware of the same model as the faulty switch, using the same device profile and hardware layout. Hardware with a different layout is not supported as part of the RMA process. Before you run Finish RMA, the replacement must also be reachable by SandWork over management connectivity, gNMI and SSH.
Record the replacement's MAC address. You will need it at Finish RMA. See Why the MAC address matters β omitting it causes a failure mode that is not obvious afterwards.
Roles
Two default roles can run the whole procedure end to end:
DC Admin (
dc-admin)DC Super Admin (
dc-super-admin)
DC Admin is sufficient. No step of an RMA needs escalation to DC Super Admin, and none of it requires changing Global Fabric Settings.
The read-only DC Viewer (dc-viewer) role cannot perform any part of the process, and Administrative Admin (administrative-admin) covers only user and role management. For the permissions behind each role, see Default RBAC Roles and Permissions.
RMA process
Step | Device stage afterwards |
|---|---|
Step 1. Start RMA | RMA |
Step 2. Replace the hardware | RMA |
Step 3. Finish RMA | CONNECTED |
Step 4. Push the configuration snapshot | CONNECTED |
Step 5. Return the device to service | ONBOARDED β CONFIG_PENDING β CONFIG_READY β MANAGED |
1. Start RMA
Open the device and choose Start RMA.
Β
Start RMA is permitted from any stage except BLUEPRINT. If the device is in MANAGED, MANAGED_CONFLICT or OS_INSTALL_FAILURE, SandWork first drains traffic away from it by configuring the BGP max-med value on each VRF, then moves it to the RMA stage. From any other stage the device is moved to RMA directly, with no traffic-drain attempt. Under Use optional values you can override the max-med value and the drain timeout.
If the device was in OS_INSTALL or OS_INSTALL_FAILURE, its OS upgrade status and any recorded upgrade failure are cleared as part of this step.
Note: the device is moved to RMA whether or not the traffic drain succeeds. A switch that has already failed may be unreachable, and that must not block the replacement.
While a device is in the RMA stage, service intents for it can still be stored in the inventory, but no configuration is pushed to it outside the RMA process. The rest of the fabric can be operated normally while the switch is physically absent.
2. Replace the hardware
Swap the switch and bring the replacement up with management connectivity so SandWork can reach it. Note its MAC address. This step happens entirely outside SandWork.
3. Finish RMA
Open the device and choose Finish RMA. The dialog takes two inputs:
MAC Address β the replacement switch's MAC address.
Reset Greenfield setup passed device flag β unless required otherwise leave unticked.
Finish RMA requires the device to be in the RMA stage, and moves it to CONNECTED on success.
Note: always enter the MAC address, even though the field is optional in the form. See Why the MAC address matters.
4. Push the configuration snapshot
On the device's Configuration Snapshots tab, select the snapshot to restore and push it to the device.
The confirmation dialog warns when the snapshot was taken in a different stage than the device is currently in, and when applying it will enable or disable traffic. For an RMA these warnings are expected: the snapshot was taken while the device was MANAGED, and the device is now CONNECTED.
Note: push the snapshot while the device is still in CONNECTED, before advancing it. Pushing a snapshot onto a device that has already been promoted moves it backwards β a device in CONFIG_READY returns to CONFIG_PENDING, and a device in MANAGED moves to MANAGED_CONFLICT.
5. Return the device to service
Advance the device through the staging transitions:
DC Lifecycle >> Staging >>
Connected β Onboarded
Onboarded β Config Pending
Config Pending β Config Ready
Config Ready β Managed
Config Pending β Config Ready runs a full reconciliation and promotes the device only if it reports no conflicts. The other three transitions do not reconcile.
For a replaced switch this transition will normally fail on its first attempt, reporting conflicts on TACACS, RADIUS and SNMP. This is expected β see the next section.
Credentials on replaced hardware
Why a re-push is needed
SONiC stores the TACACS passkey encrypted with a key derived from the switch's own hardware MAC address. The SNMPv3 authentication and privacy keys and the RADIUS shared secret behave the same way.
A replacement switch has a different MAC, so those secrets as captured in the configuration snapshot cannot be decrypted by the new hardware. Restoring the backup therefore leaves unusable credentials on the replacement β the configuration is present but does not work.
SandWork handles this. When Finish RMA records a new MAC address, it marks TACACS, RADIUS and SNMP on that device as desynchronized: the intent is correct, but the secret on the device cannot be trusted. Reconciliation reports each of them as a conflict until the secret has been re-sent from SandWork's own store, which SandWork can decrypt β unlike the copy held on the device.
Re-pushing the secrets
Open the failed Config Pending β Config Ready workflow in the Workflow Queue.
Its results include the reconciliation output, with a tab per Global Fabric Setting.
On the TACACS tab, select the device and push.
Repeat on the RADIUS and SNMP tabs for whichever your fabric uses.
Re-run Config Pending β Config Ready. Reconciliation now passes and the device is promoted.
Finish with Config Ready β Managed.
The same push controls are reachable from a standalone reconciliation run on the device, if you would rather not leave a failed transition in the queue.
Note: this does not require editing the pod or data centre TACACS configuration, and does not require the DC Super Admin role. Changing the Global Fabric Settings intent to force a re-push is not the intended route and will change the setting for every device in that scope.
Why the MAC address matters
SandWork uses the change of MAC address at Finish RMA to detect that the hardware is genuinely new. If the MAC field is left blank, the device is not flagged, reconciliation reports TACACS, RADIUS and SNMP as being in order, and no push is offered β while the switch is in fact holding credentials it cannot use. Nothing surfaces the problem until the affected service fails.
If Finish RMA was already completed without the MAC address, re-run it with the correct MAC once the device is back in the RMA stage, or push the TACACS, RADIUS and SNMP settings to the device explicitly.
Device stages during an RMA
Stage | Meaning |
|---|---|
RMA | Awaiting or undergoing hardware replacement. Intents can be stored; nothing is pushed to the device. |
CONNECTED | Replacement recorded and reachable; configuration not yet restored. |
ONBOARDED | Device accepted into the fabric. |
CONFIG_PENDING | Configuration applied but not yet verified by reconciliation. |
CONFIG_READY | Reconciliation passed; ready to return to service. |
MANAGED | Back in normal operation. |
MANAGED_CONFLICT | In service, but reconciliation has found differences. |
Troubleshooting
Config Pending β Config Ready fails on TACACS, RADIUS or SNMP. Expected after a replacement. Re-push the secrets as described above, then re-run the transition.
Config Pending β Config Ready fails on other intents. Open the failed workflow in the Workflow Queue and review the reconciliation results per intent. Each intent type offers its own push action to bring the device back in line with the inventory.
Finish RMA is rejected because the device is not in the RMA stage. Finish RMA applies only to devices in RMA. Run Start RMA first.
The replacement is unreachable at Finish RMA. Confirm management connectivity, gNMI and SSH reachability before retrying.
No usable configuration snapshot exists. The replacement has to be configured through the normal setup path instead. Tick Reset Greenfield setup passed device flag at Finish RMA so the initial setup is applied again.