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で設定モードコマンドを実行するために使用されるクラス、およびJunosデバイスを管理する際に発生する例外を含むモジュールからのjnpr.junos.exception必要な例外をインポートDeviceします。

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

メソッドには rollback() 、単一のパラメータがあります。これは、 rb_id読み込むための格納された設定を指定するロールバックIDです。有効な値は、0(直近にコミットされたコンフィギュレーションではゼロ)から、保存された以前のコンフィギュレーションの数より1未満(最大49)。です。メソッド呼び出しでこのパラメーターを省略すると、デフォルトは 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 デバイスにログインし、構成や構成の違い、ログ ファイルを表示します。例えば:

意味

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