Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

例:Junos PyEZ を使用して設定をロールバックする

Junos PyEZライブラリを使用すると、Junosデバイスの運用タスクや設定タスクを実行できます。この例では、Junos PyEZ jnpr.junos.utils.config.Config ユーティリティを使用して、Junos デバイスの設定をロールバックします。

要件

この例では、以下のハードウェアとソフトウェアのコンポーネントを使用しています。

  • Python 3.5 以降および Junos PyEZ リリース 2.0 以降を実行する構成管理サーバー

  • NETCONFが有効で、適切な権限で設定されたユーザーアカウントを備えたJunosデバイス

  • サーバーとJunosデバイス上の適切なユーザーに対して設定されたSSH公開鍵と秘密鍵のペア

概要

この例では、Junos PyEZ Config ユーティリティを使用して、指定したデバイスの設定をロールバックするPythonアプリケーションを紹介します。Junosデバイスには、直近にコミットされた設定のコピーと、それ以前の設定が最大49個保存されます。保存されている任意の設定にロールバックできます。これは、設定の変更によって望ましくない結果が生じ、動作確認済みの設定に戻したい場合に有効です。設定のロールバックは、デバイスの設定変更を行うプロセスと似ていますが、設定データを読み込む代わりに、ロールバックを実行し、候補の設定全体を以前にコミットした設定に置き換えます。

Python アプリケーションは、Junos デバイスとConfigの接続を処理するクラス、ターゲット デバイスで設定モード コマンドを実行するために使用されるクラス、モジュールからjnpr.junos.exception必要な例外(Junos デバイスの管理時に発生する例外を含む)をインポートDeviceします。

ターゲット デバイスのインスタンスを作成 Device した後、メソッドは open() デバイスとの接続と NETCONF セッションを確立します。その後、このユーティリティメソッドは Config 、候補の構成をロック、ロールバック、コミット、ロック解除します。

この rollback() メソッドには、 rb_idロードする保存済みコンフィギュレーションを指定するロールバックIDである1つのパラメータがあります。有効な値は、0(直近にコミットされた構成の場合はゼロ)から、以前の構成を保存した数(最大は 49)より 1 つ減らした値です。メソッド呼び出しでこのパラメーターを省略すると、既定値は 0 になります。この例では、アクティブ コンフィギュレーションの直前にコミットされたコンフィギュレーションであるロールバック ID 1 でコンフィギュレーションを読み込みます。このメソッドは rollback() 、コンフィギュレーションを候補コンフィギュレーションに読み込み、メソッドを呼び出す commit() ことによってアクティブにすることをコミットします。

ロールバックして設定をコミットした後、アプリケーションはメソッド close() を呼び出してNETCONFセッションと接続を終了します。アプリケーションには、コンフィギュレーションのロック時に発生するエラーやCommitError、コミット操作中に発生するエラーなどの例外LockErrorを処理するためのコードが含まれています。アプリケーションには、発生する可能性のある追加の例外を処理するコードも含まれています。

構成

Junos PyEZアプリケーションを作成する

手順

Junos PyEZ を使用して Junos デバイスで設定をロールバックする Python アプリケーションを作成するには、次の手順に従います。

  1. 必要なモジュール、クラス、およびオブジェクトをインポートします。

  2. 必要な変数(この例では管理対象デバイスのホスト名を含む)を含めます。

  3. main()関数定義と関数呼び出しを作成し、残りのステートメントを定義内に配置します。

  4. クラスのインスタンス Device を作成し、その特定の接続に必要なホスト名とパラメーターを指定します。

  5. 接続を開き、デバイスとの NETCONF セッションを確立します。

  6. ユーティリティの Config インスタンスを作成します。

  7. 設定をロックします。

  8. ロールバックして設定をコミットし、エラーがあれば処理します。

  9. 設定のロックを解除し、NETCONF セッションを終了してデバイスとの接続を閉じます。

結果

構成管理サーバーで、完成したアプリケーションを確認します。アプリケーションに目的のコードが表示されない場合は、この例の手順を繰り返してアプリケーションを修正します。

Junos PyEZコードを実行します。

アプリケーションの実行

Junos PyEZコードを実行するには:

  • 構成管理サーバーで、アプリケーションを実行します。

検証

設定の確認

目的

Junosデバイスで、設定が正しくロールバックされたことを確認します。

アクション

Junosデバイスにログインし、設定または設定の相違点とログファイルを表示します。例えば:

意味

設定の違いとログ ファイルの内容は、設定が正常にロールバックされ、デバイスでコミットされたことを示しています。