Hello everyone, happy weekend. This weekend we will start to learn Transactional and Rollback Configuration on ALU 7750 SR. Transactional configuration make operator can edit a candidate configuration (a set of configuration changes) in CLI without causing operational change the active configuration. When candidate configuration is done and operator think the configuration is correct, they can do commit to apply the configuration and make the candidate configuration become active. This feature introduce in SROS 11.0R2.

The Transactional Configuration influence the Rollback Configuration. Rollback configuration introduce in SROS 9.0R4. Rollback configuration provide the ability to return previously saved configuration called rollback checkpoint, so we can back to the old configuration with fast with minimal impact service.

The rollback check point is created when the admin rollback save is triggered by operator. Then operator my revert to last configuration they want in each Rollback index.

And picture below describe, how the transactional configuration influences the rollback configuration.
When operator want to use transactional configuration or we can call it candidate configuration, It should be enter the candidate edit mode. Before you create candidate config, the first must do is make rollback location.

 A:v7750SR-1# configure system rollback rollback-location cf3:\rollbac-file  
When first time make rollback, the minor alarm is triggered but it's ok.

To verify do several command:
 *A:v7750SR-1# show system rollback 
Then you'll find the rollback location put in cf3 with naming rollbac-file in output show system rollback

Below, basic command you have to know before make candidate configuration:
 *A:v7750SR-1# candidate  
  - candidate  
    edit      - Start modifying the candidate config  
 *A:v7750SR-1# candidate edit  
 *A:v7750SR-1>edit-cfg# candidate  
  - candidate  
    commit      - Execute the candidate config  
    confirm     - Confirm the committed changes before they are  auto-reverted  
    copy        - Copy the selected node  
    delete      - Delete nodes from the candidate config  
    discard     - Discard the candidate config  
    edit        - Start modifying the candidate config  
    goto        - Modify the candidate config at the given line  
    insert      - Insert deleted/copied nodes  
    load        - Load a previously saved candidate config  
    quit        - Stop editing the candidate config  
    redo        - Redo the last change(s) that were undone  
    replace     - Replace a line in the candidate config  
    save        - Save the content of the candidate config in a file  
    undo        - Undo the last change(s)  
    view        - Display the content of the candidate config  
 *A:v7750SR-1>edit-cfg# candidate  

Let's some practice now.
  1. Set rollback, do with command:
     *A:v7750SR-1# admin rollback save comment "Before Configuration"  
    After that, you can verify with do command show system rollback, then the output like below

    The id will be the latest with command (before configuration). (see the highlight)
  2. Then enter the candidate mode using command candidate command, then you may start your candidate configuration. Then finish with save the candidate config using candidate save <url-file name>
     A:v7750SR-1# candidate edit  
     A:v7750SR-1>edit-cfg# configure service vprn 1010 customer 1 create  
     A:v7750SR-1>edit-cfg>config>service>vprn# route-distinguisher 1010:1  
     A:v7750SR-1>edit-cfg>config>service>vprn# interface l0 create  
     A:v7750SR-1>edit-cfg>config>service>vprn>if# address  
     A:v7750SR-1>edit-cfg>config>service>vprn>if# loopback  
     A:v7750SR-1>edit-cfg>config>service>vprn>if# no shutdown  
     A:v7750SR-1>edit-cfg>config>service>vprn>if# back  
     A:v7750SR-1>edit-cfg>config>service>vprn# no shutdown  
     A:v7750SR-1>edit-cfg# candidate save cf3:\candidate-config-test  
     Writing candidate-cfg to cf3:\candidate-config-test.. OK  
  3. After save, it's not change the operation/active config before do commit
    Before commit

    SROS have several command type to do commit in candidate mode, there is several of commit command:
     A:v7750SR-1>edit-cfg# candidate commit  
      - commit [confirmed <timeout>] [comment <comment>]  
      - commit no-checkpoint [confirmed <timeout>]  
      <no-checkpoint>   : Do not create a rollback checkpoint before attempting  
                          the commit  
      <timeout>         : [1..168]: Timeout (in minutes) after which the commit  
                          will be automatically reverted unless it is confirmed  
      <comment>         : comment about checkpoint [255 char max]  
    It's better to review your candidate command that want you apply in active configuration. You may use candidate view

    Then you may commit with using command candidate commit, like below
     A:v7750SR-1>edit-cfg# candidate commit comment "VPRN Set-up"  
    If a commit operation is successful then all of the candidate changes will take operational effect and the candidate is cleared. The output like this:

    Then when you open show system rollback, the rollback check point is created when commit  is triggered. Then the rollback file for the latest rb has comment "VPRN Set-up and 1 rb that has comment "Before Configuration" be rollback check point 1.
  4. After Commit:
  5. You may compare the configuration between rollback config and active cfg, with this feature you can now, what is different config between now and the rollback check point, to use this feature just do command:
     A:v7750SR-1# admin rollback compare 1 to active-cfg  
    from the command above, the operator want to compare the active cfg (latest configuration) with the configuration in rollback check point 1 file. The output from that command is like below:

    The minus (-) mean, in rollback 1, there is no configuration vprn. 
  6. When rollback the configuration is needed as before vprn is set. The rollback revert command is used. Just do command:
     A:v7750SR-1# admin rollback revert 1  
    Then this the different output when before revert and after revert use.
I thinks, that's all. The simple explanation about Transactional and Rollback Configuration on SROS. Hope You Can Enjoy It.