Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

例: カスタムエラーメッセージの生成

Junos OSのコミットスクリプトは、コミット操作中にカスタムエラーメッセージを生成し、設定がカスタム設定ルールに違反している場合に警告することができます。エラーメッセージを出力すると、コミットが失敗します。この例では、特定のステートメントがデバイスコンフィギュレーションに含まれていない場合にカスタムエラーメッセージを生成するコミットスクリプトを作成することで、コミット操作を停止します。

要件

Python スクリプトを使用する場合の Junos OS リリース 16.1R3 以降のリリース。

概要とコミット スクリプト

コミットスクリプトを使用して、 ステートメントが 階層レベルに含まれていない場合に表示される description カスタムエラーメッセージを記述します [edit interfaces t1-fpc/pic/port]

スクリプトは、XSLT、SLAX、および Python で示されています。

XSLT 構文

SLAXの構文

Pythonの構文

構成

手順

手順

スクリプトをダウンロードし、有効にし、テストする: コミットスクリプトがエラーメッセージを正しく生成することをテストするには、候補の設定にエラーを誘発する条件が含まれていることを確認します。この例では、T1インターフェイスの設定に ステートメントが含まれていない description ことを確認します。

このトピックの例をテストするには:

  1. スクリプトをテキストファイルにコピーし、適宜ファイルに description.xsldescription.slax、または description.py という名前を付けて、デバイスの /var/db/scripts/commit/ ディレクトリにコピーします。

    メモ:

    署名されていないPythonスクリプトは、rootまたはJunos OS super-user ログインクラスのユーザーが所有する必要があり、ファイルの所有者のみがファイルの書き込み権限を持つことができます。

  2. 設定モードで、 階層レベルで ステートメントとスクリプトファイル名[edit system scripts commit]を設定しますfile

  3. スクリプトが Python で記述されている場合は、署名されていない Python スクリプトの実行を有効にします。

    メモ:

    language python3 Python 3 を使用して Python スクリプトを実行するようにステートメントを構成するか、Python 2.7 を使用して Python スクリプトを実行するようにステートメントを構成しますlanguage python。詳細については、「言語」を参照してください。

  4. すべての T1 インターフェイスの設定に ステートメントが含まれている場合 description 、テスト用に既存の T1 インターフェイスの説明を削除します。

  5. コマンドを発行して、 commit 設定をコミットします。

検証

スクリプト実行の検証

目的

コミットスクリプトによって生成されたエラーメッセージを確認します。

アクション

コマンドの出力 commit を確認します。コミット スクリプトは、ステートメントを含まない description 各 T1 インターフェイスに対してエラー メッセージを生成します。エラーが発生すると、コミット プロセスが失敗します。

XML 形式のエラー・メッセージを表示するには、 コマンドを発行 commit check | display xml します。

コミット・スクリプト処理の詳細なトレースを表示するには、 コマンドを実行します commit check | display detail