はじめに
本記事は、RESTCONF にてトランザクションの Rollback ID を取得する方法について紹介します。トランザクション毎に Rollback ID を取得し紐付けておくことで、後で Rollback する際に役立ちます。
Rollback ID を返す
Rollback ID の取得は、MAAPI, CLI, RESTCONF, NETCONF, JSON-RPC APIs の何れでも可能です。今回は、RESTCONF の例のみ紹介します。rollback-id=true を付けてトランザクションを発行します。
http://localhost:8080/restconf/data/xxxxx?rollback-id=true
$ curl -s -X PUT 'http://admin:admin@localhost:8080/restconf/data/tailf-ncs:devices/device=cx1/config/tailf-ned-cisco-ios:interface/GigabitEthernet=1?rollback-id=true' -H "Content-Type: application/yang-data+xml" -d '<GigabitEthernet><name>1</name><shutdown/></GigabitEthernet>'
<result xmlns="http://tail-f.com/ns/tailf-restconf">
<rollback>
<id>10084</id>
</rollback>
</result>
なお、rollback は以下のように実行します。
http://localhost:8080/restconf/data/tailf-rollback:rollback-files/apply-rollback-file
<input xmlns="http://tail-f.com/ns/rollback">
<fixed-number>10084</fixed-number>
</input>
例
$ curl -X POST 'http://admin:admin@localhost:8080/restconf/data/tailf-rollback:rollback-files/apply-rollback-file' -H "Content-Type: application/yang-data+xml" -d '<input xmlns="http://tail-f.com/ns/rollback"><fixed-number>10079</fixed-number></input>'