Rolling Back the Configuration of the Fabric



In addition to troubleshooting race 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’s 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’s 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 onwards:


CLI (network-admin@pnswitch1) > switch * transaction-settings-modify auto-recover