YANG 設定モデルの変換スクリプトを作成する
Junos デバイスで YANG モジュールを読み込んで、OS でネイティブにサポートされていないが変換によってサポートできるデータ モデルを追加できます。非対応の YANG データ モデルで設定階層を拡張する場合、非対応の設定構文を対応する Junos OS 構文にマッピングするロジックを提供する 1 つ以上の変換スクリプトも提供する必要があります。
変換スクリプトは、非対応のYANGデータモデルに対応する設定データをJunos OS構文に変換し、コミット操作中に、チェックアウト設定の一時的な変更として変換された設定データを追加します。翻訳スクリプトは Python または SLAX のいずれかで記述でき、構造上のコミット スクリプトと似ています。設定で一時的な変更を生成するSLAXおよびPythonスクリプトの作成については、 自動化スクリプトユーザーガイドを参照してください。
または request system yang update
コマンドをrequest system yang add
使用して、YANGモジュールとそれに関連する変換スクリプトをデバイス上の新規または既存のYANGパッケージに追加します。モジュールと変換スクリプトをデバイスに追加した後、これらのモジュールによって追加されたデータ モデル内のステートメントと階層を設定できます。設定データを読み込んでコミットすると、デバイスはスクリプトを呼び出して変換を実行し、一時設定変更を生成します。
このトピックでは、翻訳スクリプトの一般的な構造について説明します。実際のスクリプトに必要な具体的な変換ロジックは、スキーマに追加されたカスタム階層によって異なり、このトピックの範囲外です。
Junos デバイスで使用される変換スクリプトのフレームワークを作成するには、以下の手順にしたがってください。
デバイスで、YANG パッケージに変換スクリプトを追加する前に、以下のタスクを実行します。
-
変換スクリプトがPythonで記述されている場合、Junos OSリリースに応じて または
language python3
ステートメントをlanguage python
設定して、デバイスが符号なしPythonスクリプトを実行できるようにします。[edit] user@host# set system scripts language (python | python3)
メモ:Junos OS リリース 20.2R1 およびリリース 22.3R1 Junos OS Evolved以降、デバイスは Python 3 を使用して YANG アクションと変換スクリプトを実行します。以前のリリースでは、Junos OS はこれらのスクリプトの実行に Python 2.7 のみを使用し、Junos OS Evolvedはデフォルトで Python 2.7 を使用してスクリプトを実行します。
-
スクリプトをデバイスにダウンロードし、オプションで構文を検証します。
user@host> request system yang validate translation-script script
デバイスで翻訳スクリプトを使用する前に、 または request system yang update
コマンドを発行して、スクリプトと関連モジュールを新規または既存の YANG パッケージにrequest system yang add
追加する必要があります。モジュールとスクリプトを追加した後、対応するデータ モデルの設定データをコミットすると、変換スクリプトが自動的に呼び出されます。
OpenConfigやカスタムYANGデータモデルなど、サードパーティのYANGデータモデルに対応するステートメントを設定する場合、以下の機能はサポート されません 。
-
または モードの
configure private
使用configure batch
-
階層下のステートメントの
[edit groups]
設定
アクティブな設定と候補となる設定には、それらのモデルで定義されたシンタックスの非対応YANGデータモデルの設定データが含まれています。ただし、変換された設定データは一時的な変更としてコミットされるため、アクティブな設定と候補の設定では、 または show configuration
コマンドを発行しても、Junos OS 構文で変換されたデータは明示的にshow
表示されません。設定を表示するときに YANG 変換スクリプトを適用するには、 フィルターを| display translation-scripts
使用します。
変換されたデータ(一時変更)を明示的に含めた完全なポスト継承後の設定を表示するには、設定モードで コマンドまたは設定モードの コマンドにフィルターshow configuration
をshow
追加| display translation-scripts
します。変換後の非native設定データのみを表示するには、フィルターを| display translation-scripts translated-config
使用します。
設定モードでは、変換スクリプトが適用される前または後に、非対応のYANGデータモデルに対応する設定データへの変更のみを表示するには、 または キーワードをそれぞれ コマンドにshow | display translation-scripts
追加configured-delta
translated-delta
します。どちらの場合も、XML 出力には削除された設定データの後に新しい設定データが表示されます。
フィルターの | display translation-scripts
詳細については、 非対応 YANG モジュールの設定データのコミットと表示を参照してください。