Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Python コミット スクリプトにおける永続的または一時的な設定変更の生成

Junos OS コミット スクリプトは、カスタム設定ルールを適用し、カスタム設定ルールに準拠していない場合に設定を自動的に変更できます。Python コミット スクリプトを使用して永続的または 一時的な変更 を生成するには、

  1. スクリプトの開始時には、便宜のためにここで再現された 、コミット スクリプトに必要な定型プレートからの Python 定型プレートを含めます。
  2. カスタム構成ルールのテストを行う 1 つ以上のプログラミング手順を含めます。

    例えば、以下のコードは、MPLSプロトコルファミリーが有効になっていない各SONET/SDHインターフェイスを選択します。

  3. Junos OS に設定の変更方法を指示する XML 文字列を作成します。

    この例では、選択したインターフェイスに対してMPLSプロトコルファミリーを有効にします。

  4. 追加の必須コードまたはオプションコードを含めます。この例では、コミット スクリプトが SONET/SDH インターフェイスを更新するときに、CLI に表示される警告メッセージを生成します。
  5. 永続的または一時的な変更を生成するには、メソッドを jcs.emit_change 呼び出し、変更の種類(「変更」または「一時変更」)を引数リストで指定します。
  6. スクリプトにわかりやすい名前を付けて保存します。
  7. スクリプトを、デバイス のハード ディスクの /var/db/scripts/commit ディレクトリまたはフラッシュ ドライブの /config/scripts/commit ディレクトリのいずれかにコピーします。
    メモ:

    符号なしPythonスクリプトは、junos OS super-user ログインクラスのルートまたはユーザーのいずれかが所有する必要があり、ファイルの書き込み権限を持つことができるのはファイル所有者だけです。

  8. 階層レベルで ステートメントを設定して、 file filename スクリプトを [edit system scripts commit] 有効にします。
  9. スクリプトで一時的な変更が生成された場合は、 ステートメントを allow-transients 設定します。
  10. デバイスで符号なしPythonスクリプトの実行を有効にします。
  11. コマンドを commit 発行して、設定をコミットします。

その結果、MPLS プロトコル ファミリーが有効になっていない SONET/SDH インターフェイスを検索し、 ステートメントを階層レベルで[edit interfaces so-fpc/pic/port unit logical-unit-number]永続的な変更として追加family mplsし、設定が変更されたことを示す警告メッセージを出力します。

すべての有効なコミット スクリプトがエラーなしで実行される場合、永続的な変更は候補構成にロードされ、一時変更はチェックアウト構成に読み込まれますが、 候補の構成には読み込まれません。その後、コミットプロセスは、設定を検証し、デバイス上の影響を受けるプロセスに変更を反映させることで続行します。

永続的な変更と一時的な変更の両方が適用された設定を表示するには、 設定モードコマンドを show | display commit-scripts 発行します。

永続的な変更のみが適用された設定を表示するには、 設定モードコマンドを show | display commit-scripts no-transients 発行します。

永続的および一時変更は、設定モード コマンドが受信設定を読み込むのload replaceと同じ方法で設定に読み込まれます。永続的または一時的な変更を生成する場合、構成要素に属性を追加replace="replace"すると、操作のload replaceタグとreplace:同じ動作が生成されます。永続的な変更と一時的な変更の両方が、動作とともに設定にload replace読み込まれます。ただし、永続的な変更は候補構成に読み込まれ、一時変更はチェックアウト構成に読み込まれます。