Rolling Back the Configuration of the Fabric
In addition to troubleshooting rare conditions, the roll back action can be used in certain circumstances in which it is beneficial to turn back time on all the nodes in the same fabric instance.
As discussed in earlier sections, the fabric natively (i.e., by default) stays synchronized automatically to the last transaction executed. Therefore, in order to revert all switches to a previous state, it is necessary to temporarily disable this automatic function (auto-recover) like so:
CLI (network-admin@pnswitch1) > switch * transaction-settings-modify no-auto-recover
Then it is possible to perform a roll back action to a certain ID on all those switches. You can check the latest transaction ID with the command:
CLI (network-admin@pnswitch1) > fabric-node-show format name,fab-name,fab-tid,state,device-state,
name fab-name fab-tid state device-state
----------- ----------- ------- ------ ------------
pnswitch1 myfabric 1533 online ok
pnswitch2 myfabric 1533 online ok
Let us say you want to roll back all nodes to transaction ID 1530. You can do that with the following command:
CLI (network-admin@pnswitch1) > switch * transaction-rollback-to transaction-scope fabric tid 1530
Warning: rolled back transactions are unrecoverable unless another fabric node has them.
Please confirm y/n (Default: n):y
CLI (network-admin@pnswitch1) > fabric-node-show format name,fab-name,fab-tid,state,device-state,
name fab-name fab-tid state device-state
----------- ----------- ------- ------ ------------
pnswitch1 myfabric 1530 online ok
pnswitch2 myfabric 1530 online ok
In this case, though, rolled back transactions are unrecoverable because the fabric logic is forced to forget about them on a per node basis where auto-recover was disabled. (So no roll forward is then possible).
Once all the nodes have been rolled back to the chosen transaction, you can re-enable auto-recover to make sure that the fabric stays in sync automatically from that moment onward:
CLI (network-admin@pnswitch1) > switch * transaction-settings-modify auto-recover