Junos OS 設定を定義する YANG モジュールについて
ジュニパーネットワークスは、YANGモデルを使用してJunos OS設定スキーマを公開しています。Junos OSリリース17.3以前では、Junos OSの設定スキーマは単一のYANGモジュールで公開されています。Junos OS リリース 17.4R1 以降、Junos OS の設定スキーマは、複数の小規模なモジュールによって拡張されたルート設定モジュールを使用して公開されます。これにより、スキーマのコンシューマは、自分のタスクに必要なモジュールのみをインポートできます。
Junos OSリリース17.4R1以降、Junos OS YANGモジュールは、モジュールの名前、ファイル名、名前空間に新しい命名規則を使用します。詳細については、 Junos YANGモジュールについてを参照してください。
ルート設定モジュールは、トップレベルの設定ノードと、別々のモジュールとして出力されていないノードで構成されています。個別の小さなモジュールは、異なる設定ステートメント階層のルート設定モジュールを増強します。ルート モジュールを補強する構成モジュールには、モジュールの名前、ファイル名、名前空間に示されている構成ステートメント階層レベルのスキーマが含まれています。
以下の例は、 階層の YANG モデルを含むモジュールの一部を [edit interfaces]
示しています。
/* * Copyright (c) 2017 Juniper Networks, Inc. * All rights reserved. */ module junos-conf-interfaces { namespace "http://yang.juniper.net/junos/conf/interfaces"; prefix jc-interfaces; import junos-common-types { prefix jt; } import junos-conf-root { prefix jc; } organization "Juniper Networks, Inc."; contact "yang-support@juniper.net"; description "Junos interfaces configuration module"; revision 2017-01-01 { description "Junos: 17.4R1.17"; } augment /jc:configuration { uses interfaces-group; } augment /jc:configuration/jc:groups { uses interfaces-group; } ...
YANGユーティリティは、目の前の特定の設定タスクに必要なモジュールのみをインポートする必要があります。その結果、構成モジュールを使用するツールは、単一の大きなモジュールをインポートする場合よりも、モジュール上の他の機能をコンパイル、検証、または実行する時間を短縮する必要があります。
設定の特定の領域に対応する設定YANGモジュールを確認するには、 設定モードコマンドを show | display detail
発行します。以下の例では、 階層レベルのスキーマ [edit protocols ospf]
が junos-conf-protocols@2017-01-01.yang モジュールに 含まれています。
user@host# show protocols ospf | display detail ## ## ospf: OSPF configuration ## YANG module: junos-conf-protocols@2017-01-01.yang ## lsa-refresh-interval: LSA refresh interval (minutes) ## range: 25 .. 50 ## ## default: 50 ## ...
Junos OS YANG モジュールは、ジュニパーネットワークスのダウンロード サイトまたは YANG 用のジュニパーネットワークス GitHub リポジトリからダウンロードすることも、ローカル デバイスでモジュールを生成することもできます。ローカル デバイスで設定モジュールを生成するには、 コマンドを show system schema format yang module module
発行します。Junos OS リリースでは、使用可能なコマンド オプションが決定されます。
-
Junos OSリリース17.3以前では、モジュールを指定します
configuration
。user@host> show system schema format yang module configuration
-
Junos OSリリース17.4以降では、単一の設定モジュールを返す個々のモジュール名を指定するか、すべての設定モジュールを返すために を指定
all-conf
します。user@host> show system schema format yang module all-conf output-directory /var/tmp/yang
Junos OS リリース 19.1R2 および 19.2R1 以降、コマンドには コマンド オプションを
output-directory
含め、show system schema
ファイルまたはファイルを生成するディレクトリを指定する必要があります。以前のリリースでは、単一モジュールに標準出力でモジュールをoutput-directory
表示するよう要求する場合、オプションを省略することができます。
リモート セッションからモジュールを生成するには、Junos OS RPC または <get-schema>
NETCONF(Network Configuration Protocol)操作を適切なオプションで実行<get-yang-schema>
します。
または module all-conf
を指定module configuration
した場合、出力ファイルには、ネイティブJunos OS設定モジュールと、デバイスに追加された標準またはカスタム設定モジュールの両方が含まれます。
Junos OSリリース17.4R1以降、ローカルデバイスで生成されたネイティブYANGモジュールには、ファミリー固有のスキーマが含まれています。これは、特定のデバイスファミリー内のすべてのデバイスで同一です。以前のリリースでは、生成されたモジュールにはデバイス固有のスキーマが含まれています。Junos OS リリース 17.4R1 以降でデバイス固有のモジュールを生成するには、 階層レベルで 設定ステートメントを[edit system services netconf yang-modules]
設定device-specific
します。
output-directory
含め、
show system schema
ファイルまたはファイルを生成するディレクトリを指定する必要があります。