はじめに
このドキュメントでは、NSOのRESTAPIを使用して、ロールバック操作を行う際の手順をご紹介します。
Rollback IDの取得
ロールバック操作を行う際は、あらかじめ操作対象のRollback-IDを取得する必要があります。
RESTCONF API からRollback-idを列挙するためには、以下の例のようにURLにアクセスします。
curl -X GET -u admin:admin http://localhost:8080/restconf/data/tailf-rollback:rollback-files
Rollback-IDにフィルタをかける場合は、以下の例のようにQuery APIを使用します。
以下の例では、commentにtestが指定されているものだけを出力します。
curl -X POST -u admin:admin http://localhost:8080/restconf/tailf/query \
-H 'Content-Type: application/yang-data+xml' -d '
<immediate-query xmlns="" target="_blank" >http://tail-f.com/ns/tailf-rest-query">
<foreach>
/rollback-files/file[comment="test"]
</foreach>
<sort-by>name</sort-by>
<limit>100</limit>
<select>
<expression>comment</expression>
<result-type>string</result-type>
</select>
<select>
<expression>name</expression>
<result-type>string</result-type>
</select>
<select>
<expression>fixed-number</expression>
<result-type>string</result-type>
</select>
<select>
<expression>id</expression>
<result-type>string</result-type>
</select>
<select>
<expression>date</expression>
<result-type>string</result-type>
</select>
<select>
<expression>via</expression>
<result-type>string</result-type>
</select>
<offset>1</offset>
<timeout>600</timeout>
</immediate-query>
'
Rollbackの実行
Rollbackを実行する場合は、以下のようにapply-rollback-fileアクションを使用します。
curl -X POST -u admin:admin http://localhost:8080/restconf/data/tailf-rollback:rollback-files/apply-rollback-file \
-H 'Content-Type: application/yang-data+xml' -d '
<input xmlns="" target="_blank" >http://tail-f.com/ns/rollback">
<fixed-number>10029</fixed-number>
</input>
'
参考情報
RESTCONF APIによるrollbackについて、以下のドキュメントを併せてご確認ください。
Using Rollbacks Rolling back configuration changes
https://developer.cisco.com/docs/nso/guides/#!the-restconf-api/using-rollbacks