Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

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

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

必要条件

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

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

コミットスクリプトを使用して、 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 スクリプトの実行を有効にします。

    手記:

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

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

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

検証

スクリプトの実行の検証

目的

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

アクション

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

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

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