Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Junos PyEZ を使用して、候補コンフィギュレーションと以前にコミットされたコンフィギュレーションを比較します。

概要 Junos PyEZ diff()pdiff() メソッドを使用して、候補コンフィギュレーションを以前にコミットしたコンフィギュレーションと比較します。

Junosデバイスには、直近にコミットされた設定のコピーと、それ以前の設定が最大49個保存されます。Junos PyEZ jnpr.junos.utils.config.Config ユーティリティを使用すると、候補コンフィギュレーションを以前にコミットしたコンフィギュレーションと比較し、その差分を印刷または返すことができます。 表1 は、Junos OS CLIで 設定モードコマンドを発行 show | compare rollback n するのと同等の方法の概要を示しています。

表1:Junos PyEZによる設定の比較方法

メソッド

説明

diff()

候補の設定を指定されたロールバック設定と比較し、差分をオブジェクトとして返します。

pdiff()

候補コンフィギュレーションを指定されたロールバックコンフィギュレーションと比較し、差分を直接標準出力に出力します。

メモ:

エフェメラル設定データベースには、コミットされたエフェメラル設定データの現在のバージョンのみが格納されるため、変更されたエフェメラル設定と以前にコミットされた設定の比較はサポートされていません。

メソッド および pdiff() メソッドはdiff()、候補コンフィギュレーションと、以前にコミットされたコンフィギュレーションとの差分を取得します。このコンフィギュレーションは、メソッド呼び出しの rollback ID パラメーター rb_idによって参照されます。このパラメータを省略した場合、ロールバック ID のデフォルトはアクティブなコンフィギュレーションに対応する 0 になります。

差分はパッチ形式で返されます。

  • 候補コンフィギュレーションにのみ存在するステートメントには、先頭にプラス記号(+)が付きます

  • 比較コンフィギュレーションにのみ存在し、候補コンフィギュレーションには存在しないステートメントには、先頭にマイナス記号(-)が付きます

  • メソッドは、構成間に違いがない場合は、返されるか出力 None されます。

Junos PyEZアプリケーションでは、デバイスとの接続を確立した後、 または Tableオブジェクトのorpdiff()メソッドConfigを呼び出して、候補の構成とロールバックの構成を比較できますdiff()。次の例では、このConfigクラスを使用して、コンフィギュレーションの変更を候補コンフィギュレーションに読み込み、変更をコミットする前に、変更された候補コンフィギュレーションとアクティブなコンフィギュレーションの差異を出力するメソッドを呼び出しpdiff()ます。

コードを実行すると、差分が標準出力に出力されます。例えば:

構成の違いをさらに操作するためのオブジェクトとして取得するには、メソッドの代わりにpdiff()メソッドを呼び出しdiff()、出力を変数に格納します。例えば:

Junos PyEZの設定テーブルとビューを使用してデバイスの構造化された設定変更を行う場合、 、 load()commit() 、および unlock() の各メソッドを個別に呼び出すlock()か、 メソッドを呼び出して set() これらのメソッドをすべて自動的に呼び出すことで、設定データを読み込んでコミットすることができます。設定テーブルを使用してデバイスを設定し、更新された候補コンフィギュレーションを、アプリケーションで または メソッドを使用してdiff()以前にコミットしたコンフィギュレーションと比較する場合は、 メソッドの代わりに set() および commit() メソッドを使用する必要がありますload()pdiff()これにより、コンフィギュレーション・データが候補コンフィギュレーションにロードされた後、コミットされる前に差分を取得することができます。例えば:

次の例では、候補の設定をロールバック ID 5 の設定と比較していますが、設定は変更していません。