ztp.jsonキー
Apstra ZTP設定ファイル(ztp.json)には、Apstra ZTPスクリプト(ztp.py)のすべての設定が含まれています。 ztp.py を直接変更しないでください。 ztp.jsonを設定するには、いくつかの方法を使用できます。まず、以下で説明するようにファイル内のキーについて理解し、次にデバイスに合わせてファイルを設定します(後のページで説明します)。
主なカテゴリ
ztp.jsonファイルの内容は、以下のように、より一般的なセクションからより具体的なセクションまで編成されています。
-
デフォルト -
defaultsセクションで設定された値は、より具体的なセクションで同じキーを使用しない限り、すべてのデバイスに使用されます。より具体的なセクション値が優先されます。デフォルトセクションに配置できる内容の例を次に示します。"defaults": { "device-root-password": "root-password-123", "device-user": "admin", "device-user-password": "admin-password-123", "system-agent-params": { "agent_type": "onbox", "install_requirements": false } } -
プラットフォーム固有 - 各ベンダープラットフォームセクション(
junos、junos-evo、eos、nxos、sonic、linux)で設定された値は、より具体的なセクションで同じキーが定義されていない限り、そのベンダーのすべてのデバイスに使用されます。SONiC OSを使用するデバイスの例を次に示します。"sonic": { "sonic-versions": ["SONiC-OS-3.4.0-Enterprise_Advanced"], "sonic-image": "http://10.85.24.52/sonic/3.4.0/sonic-3.4.0-GA-adv-bcm.bin", "device-root-password": "admin", "device-user": "admin", "device-user-password": "admin", "custom-config": "sonic_custom.sh", "system-agent-params": { "agent_type": "onbox", "job_on_create": "install" } } -
モデル固有 - 特定のモデル番号セクションで構成された値は、もちろんシリアル番号セクションで同じキーが使用されている場合を除き、そのモデルのすべてのデバイスに使用されます。その後、シリアル番号セクションの値が使用されます。特定のジュニパーデバイスの例を次に示します。
"QFX10002-36Q": { "junos-versions": ["21.2R1-S2.2"], "junos-image": "http://10.85.24.52/juniper/21.2R1-S2.2/jinstall-host-qfx-10-f-x86-64-21.2R1-S2.2-secure-signed.tgz" } -
シリアル番号固有 - 特定のシリアル番号(システムID)の下に設定された値が、その1台のデバイスに使用されます。例えば:
"TH0TFD6TCET0015G0015": { "sonic-versions": ["SONIC-OS-4.0.5-Enterprise_Advanced"], "sonic-image": "http://10.85.24.52/sonic/4.0.5/sonic-broadcom-enterprise-advanced-4.0.5-GA.bin" }
キーリスト
ztp.json ファイル内のすべてのキーについては、以下の説明と例を参照してください。すべてのキーは、そのカテゴリに具体的に適用されるかどうかにかかわらず、各カテゴリに含まれています。たとえば、junosセクションにキーnxos-versionが含まれていることに気付くかもしれません。これは、すべてのキーをdefaultsカテゴリに含めるためです。デバイスに適用されないキーを無視するか、削除できます。
- nxosバージョン
- nxos-image(-location)
- eosバージョン
- eos-image(-location)
- junosバージョン
- junos-image(-location)
- junos-evo-versions
- junos-evo-image(-location)
- sonic-versions
- sonic-image(-location)
- デバイスrootパスワード
- デバイスユーザー
- デバイスユーザーパスワード
- カスタム設定
- dual-routing-engine(チェックボックス)
- システムエージェントパラメータ
- agent_type(システムエージェントパラム)
- プラットフォーム(system-agent-params)
- job_on_create(システムエージェントパラメーター)
- operation_mode(システムエージェントパラメーター)
- プロファイル(system-agent-params)
- パッケージ(system-agent-params)
- force_package_install(システムエージェントパラメーター)
- install_requirements(system-agent-params)
- enable_monitor(システムエージェントパラメータ)
- open_options(これはまだ関連性がありますか?
nxosバージョン
nxos-versionsパラメータには、Cisco NX-OSデバイスに有効なOSバージョンが含まれます。
例: "nxos-versions": [ "10.2(5)", "9.3(11)" ]
nxos-image(-location)
コンフィギュレータでは nxos-image-location と呼ばれ、コード エディタでは nxos-image と呼ばれCLI。
デバイスで実行されているバージョンが nxos-versionsのバージョンと一致しない場合は、 nxos-image フィールドで指定されたCisco NX-OSイメージの場所がアップロードされます。
デフォルトでは、イメージはTFTP経由で読み込まれます。また、IPアドレスでHTTP/HTTPSサーバーURLを指定することで、HTTP経由でイメージを読み込むこともできます。また、Apstraサーバー上のデバイス/OSイメージにNX-OSイメージをアップロードすることもできます。
TFTPの例(デフォルト):「nxos-image」:[ "nxos.10.2.5.bin" ]
HTTPサーバーの例: "nxos-image": "http://192.168.59.4/nxos.10.2.5.bin"
デバイス/OSイメージ例:「nxos-image」:「https://192.168.59.3/dos_images/nxos.10.2.5.bin」
eosバージョン
eos-versionsパラメーターには、Arista EOSデバイスの有効なOSバージョンが含まれています。
例: "eos-versions": [ "4.27.6M" ]
eos-image(-location)
コンフィギュレータでは eos-image-location と呼ばれ、コード エディタでは eos-image と呼ばれCLI。
デバイスで実行されているバージョンが eos-versionsのバージョンと一致しない場合は、 eos-image フィールドで指定されたArista EOS SWI画像の場所がアップロードされます。
デフォルトでは、イメージはTFTP経由で読み込まれます。また、IPアドレスでHTTP/HTTPSサーバーURLを指定することで、HTTP経由でイメージを読み込むこともできます。また、Apstraサーバー上のデバイス/OSイメージにNX-OSイメージをアップロードすることもできます。
TFTPの例(デフォルト):「eos-image」:[ "EOS-4.24.5M.swi" ]
HTTP サーバーの例: "eos-image": "http://192.168.59.3/dos_images/EOS-4.21.51F.swi"
デバイス/OSイメージ例:「nxos-image」:「https://192.168.59.3/dos_images/nxos.10.2.5.bin」
イメージ転送に任意のHTTPサーバーを使用するには、IPアドレスを含む有効なHTTPまたはHTTPS URLを入力します。例えば: "eos-image": "http://192.168.59.3/dos_images/EOS-4.27.6M.swi"
この例では、Apstra ZTPサーバー(192.168.59.4)からのHTTPを使用して、Apstra ZTP /container_data/tftp/ ディレクトリからArista EOSイメージを転送します。
Arista EOSイメージをApstraコントローラのデバイス/OSイメージにアップロードすることもできます。例えば:
"nxos-image": "https://192.168.59.3/dos_images/EOS-4.27.6M.swi"
junosバージョン
junos-versionsパラメーターには、ジュニパー Junos OSデバイスに有効なOSバージョンが含まれます。
例: "junos-versions": [ "22.4R2" ]
junos-image(-location)
コンフィギュレータでは junos-image-location と呼ばれ、コード エディタでは junos-image と呼ばれCLI。
実行中のJunos OSバージョンが junos-versions リストのバージョンと一致しない場合は、 junos-image フィールドのイメージがアップロードされます。
デフォルトでは、イメージはTFTPを介してZTPサーバーの /container_data/tftp/ ディレクトリから読み込まれます。イメージの転送に任意のHTTPサーバーを使用するには、IPアドレスを含む有効なHTTP URLを入力します。例えば:
"junos-image": "http://192.168.59.4/jinstall-host-qfx-5-18.4R3-S4.2-signed.tgz"
イメージ転送に任意のHTTPサーバーを使用するには、IPアドレスを含む有効なHTTPまたはHTTPS URLを入力します。例えば:
"junos-image": "http://192.168.59.4/jinstall-host-qfx-5e-x86-64-21.4R3-S4.13-secure-signed.tgz"
この例では、Apstra ZTPサーバー(192.168.59.4)からのHTTPを使用して、Apstra ZTP /container_data/tftp/ ディレクトリからジュニパー Junosイメージを転送します。
ジュニパーのJunosイメージをApstraコントローラのデバイス/OSイメージにアップロードすることもできます。例えば:
"junos-image": "https://192.168.59.3/dos_images/jinstall-host-qfx-5e-x86-64-21.4R3-S4.13-secure-signed.tgz"
junos-evo-versions
junos-evo-versionsパラメーターには、ジュニパー Junos OS Evolvedデバイスに有効なOSバージョンが含まれています。
例: "junos-versions": [ "22.4R2-EVO" ]
junos-evo-image(-location)
sonic-versions
sonic-versionsパラメーターには、エンタープライズSONiCデバイスに有効なOSバージョンが含まれます。
例: "sonic-versions": [ "SONiC-OS-4.0.5-Enterprise_Advanced" ]
sonic-image(-location)
コンフィギュレータでは sonic-image-location と呼ばれ、コード エディタでは sonic-image と呼ばれCLI。
これは、実行中のバージョンが sonic-versions リスト内のバージョンと一致しない場合に読み込むSONiC ONIE BINイメージのファイル名です。
イメージ転送に任意のHTTPサーバーを使用するには、IPアドレスを含む有効なHTTPまたはHTTPS URLを入力します。例えば:
"sonic-image":
"http://192.168.59.3/sonic-broadcom-enterprise-advanced-4.0.5-GA.bin"
この例では、Apstra ZTPサーバー(192.168.59.4)からのHTTPを使用して、Apstra ZTP /container_data/tftp/ ディレクトリからSONiCイメージを転送します。
また、SonycイメージをApstraコントローラのデバイス/OSイメージにアップロードすることもできます。例えば:
"sonic-image":
"https://192.168.59.3/dos_images/sonic-broadcom-enterprise-advanced-4.0.5-GA.bin"
デバイスrootパスワード
ZTPプロセスは、デバイスのrootパスワードをこの値に設定します。Arista EOSおよびCisco NX-OSデバイスの場合、 device-root-password を使用してシステム admin パスワードのパスワードを設定します。
例: "device-root-password": "root-admin-password"
デバイスユーザー
デバイスシステムエージェントのユーザー名。また、必要に応じて、ZTPプロセスは、このユーザー名と device-user-passwordを持つユーザーをデバイス上に作成します。
例:
"device-user": "aosadmin", "device-user-password": "aosadmin-password"
デバイスユーザーパスワード
デバイスシステムエージェントのパスワード。また、必要に応じて、ZTPプロセスにより、 device-user とこのパスワードを持つユーザーがデバイス上に作成されます。
例:
"device-user": "aosadmin", "device-user-password": "aosadmin-password"
カスタム設定
これは、TFTPディレクトリ内のカスタム設定シェルスクリプトのファイル名、またはHTTPサーバー上のファイルを指すURLです。このシェルスクリプトはZTPプロセス中に実行され、デバイスにカスタム設定を追加できます。詳細については、「 プラットフォーム固有の情報」を参照してください 。
例: "custom-config": "junos_custom.sh"
dual-routing-engine(チェックボックス)
システムエージェントパラメータ
システムエージェントパラメーターは、各デバイスに新しいユーザーとデバイスシステムエージェントを作成するために使用されます。(使用可能なすべての system-agent-params オプションについては、 /api/system-agentsのREST APIドキュメントを参照してください)。
"system-agent-params": {
"id": "",
"agent_type": "",
"platform": "",
"job_on_create": "",
"operation_mode": "",
"profile": "",
"packages": [],
"force_package_install": false,
"install_requirements": false,
"enable_monitor": false
個々のシステムエージェントパラメーターについては、以下で説明します。
agent_type(システムエージェントパラム)
エージェントタイプはオンボックスまたはオフボックスです。
例: "agent_type": "onbox"
プラットフォーム(system-agent-params)
このフィールドは、オフボックスエージェントにのみ使用されます。デバイスプラットフォーム(「eos」、「nxos」、「junos」)に設定します。小文字のみ
例: "platform": "junos"
job_on_create(システムエージェントパラメーター)
オンボックスエージェントをデバイスにインストールするには、次のset job_on_createinstall
例: "job_on_create": "install"
operation_mode(システムエージェントパラメーター)
プロファイル(system-agent-params)
エージェント作成時に使用するApstraで定義されたデバイスエージェントプロファイル値は、エージェントプロファイル名ではなく、エージェントプロファイルのIDである必要があります。
例: "profile": "8d68d1ec-c168-4ef3-8ffd-09389c17a3e4"
Apstraバージョン4.2.0上のジュニパーの要件: 「プロファイル」パラメータを指定する必要がある場合は、プロファイル名/ラベルではなくUUIDを使用する必要があります。
パラメーター force_package_install、 install_requirements、および enable_monitor は、ZTPサーバーに常に表示されます。これにより、ZTPプロセス中にエージェント作成に失敗します。エージェント作成を機能させるにはジュニパー system-agent-params からこれらのパラメーターを削除する必要があります。ただし、バグにより、Apstra GUI経由でこれらのパラメーターをztp.jsonファイルから削除しても、実際には削除されません。コンフィギュレーターがそれらを再度追加します。これを防止するには、Apstra ZTP GUIの代わりにCLIを使用し、SSH接続を介してZTPサーバーにログインします。次に、tftpコンテナを再起動します。
パッケージ(system-agent-params)
システムエージェントにアップロードする追加のSDKまたは拡張テレメトリパッケージを設定します。
例:
"packages": [ "aos-deployment-helper-nxos", "aosstdcollectors-builtin-nxos", "aosstdcollectors-custom-nxos" ]
force_package_install(システムエージェントパラメーター)
Apstra 4.2.0で使用されているジュニパーデバイスの場合、CLI経由でこのパラメーターを削除する必要があります。Apstra ZTP GUIを使用している場合は、パラメーターが再度追加されます。
install_requirements(system-agent-params)
常にfalseに設定されます。現在、サポートされているネットワークオペレーティングシステムには必要ありません。
例: "install_requirements": false
Apstra 4.2.0で使用されているジュニパーデバイスの場合、CLI経由でこのパラメーターを削除する必要があります。Apstra ZTP GUIを使用している場合は、パラメーターが再度追加されます。
enable_monitor(システムエージェントパラメータ)
Apstra 4.2.0で使用されているジュニパーデバイスの場合、CLI経由でこのパラメーターを削除する必要があります。Apstra ZTP GUIを使用している場合は、パラメーターが再度追加されます。
open_options(これはまだ関連性がありますか?
例:
"open_options": {
"proto": "https",
"port": "443"
}
オフボックスエージェントのみ。オフボックスエージェントとデバイスAPIインターフェイス間のHTTPSを有効にするように設定します。open_optionsが定義されていない場合、接続はデフォルトでHTTPになります。
使用例
ztp.json値の例については、以下のセクションを参照してください。
- デフォルト
- Apstra ZTP 4.2.0上のCisco Onboxエージェントの例
- Apstra ZTP 4.2.0でHTTPを使用するCisco Offboxエージェントの例
- Apstra ZTP 4.2.0のArista Onboxエージェントの例
- Apstra ZTP 4.2.0上のJunosオフボックスエージェントの例
- Apstra ZTP 4.2.0上のJunos Evolved Onboxエージェントの例
- ジュニパーOS Evolved
- Apstra ZTP 4.2.0のエンタープライズSONiC Onboxエージェントの例
- モデル固有の例
デフォルト
デフォルトとして含めたい値の例は次のとおりです。
"defaults": {
"nxos-image": "http://buildfiles.dc1.apstra.com/apstrktr/switch_images/cisco/nxos.10.2.5.bin",
"eos-image": "http://buildfiles.dc1.apstra.com/apstrktr/switch_images/arista/EOS-4.27.6M.swi",
"junos-image": "http://10.24.128.10/apstrktr/switch_images/juniper/junos-5e-22.2R3.15.tgz",
"junos-evo-image": "http://10.24.128.10/apstrktr/switch_images/juniper/junos-evo-install-qfx-ms-fixed-x86-64-22.2R3.13-EVO.iso",
"sonic-image": "http://buildfiles.dc1.apstra.com/apstrktr/switch_images/sonic/sonic-4.0.5-GA-adv-bcm.bin",
"device-root-password": "strongrootpassword",
"device-user": "admin",
"device-user-password": "stronguserpassword"
"system-agent-params": {
"agent_type": "onbox",
"install_requirements": false
}
より具体的なカテゴリの値が設定されていない限り、すべてのデバイスでこれらの値が使用され、その値が優先されます。より具体的なカテゴリには、 "junos"、 "junos-evo"、 "eos"、 "nxos"、 "sonic"などのプラットフォーム固有、 "QFX10002-60C"などのモデル固有、 "TH0TFD6TCET0015G0015"などのシリアル番号固有が含まれます。
Apstra ZTP 4.2.0上のCisco Onboxエージェントの例
{
"nxos": {
"nxos-versions": [ "10.2(5)" ],
"nxos-image": "http://192.168.59.4/nxos.10.2.5.bin",
"device-root-password": "strongrootpassword",
"custom-config": "nxos_custom.sh",
"device-user": "admin",
"device-user-password": "stronguserpassword",
"system-agent-params": {
"agent_type": "onbox",
"job_on_create": "install"
}
}
}
Apstra ZTP 4.2.0でHTTPを使用するCisco Offboxエージェントの例
{
"nxos": {
"nxos-versions": [ "10.2(5)" ],
"nxos-image": "http://192.168.59.4/nxos.10.2.5.bin",
"custom-config": "nxos_custom.sh",
]"device-user": "admin",
"device-user-password": "admin-password",
"system-agent-params": {
"username": "admin",
"password": "admin",
"agent_type": "offbox",
"platform": "nxos",
"open_options": {
"proto": "https",
"port": "443"
},
"packages": [
"aos-deployment-helper-nxos",
"aosstdcollectors-builtin-nxos",
"aosstdcollectors-custom-nxos"
]
}
}
}
この設定により、サーバー上のオフボックスエージェントとデバイスAPIの間で、セキュアなオフボックスエージェントHTTPS(ポート443)が可能になります。
open_options」は、Apstra ZTP UIコンフィギュレーターから設定することはできません。GUIコードエディターを使用するか、CLIからztp.jsonファイルを編集する必要があります。
Apstra ZTP 4.2.0のArista Onboxエージェントの例
{
"eos": {
"eos-versions": [ "4.27.6M" ],
"eos-image": "http://192.168.59.3/EOS-4.27.6M.swi",
"custom-config": "eos_custom.sh",
"device-root-password": "admin-password",
"device-user": "admin",
"device-user-password": "admin-password",
"system-agent-params": {
"agent_type": "onbox",
"job_on_create": "install"
}
}
}
Apstra ZTP 4.2.0上のJunosオフボックスエージェントの例
{
"junos": {
"junos-versions": [ "21.4R3-S4.13" ],
"junos-image": "http://192.168.59.4/jinstall-host-qfx-5e-x86-64-21.4R3-S4.13-secure-signed.tgz",
"device-root-password": "root-password",
"device-user": "admin",
"device-user-password": "admin-password",
"custom-config": "junos_custom.sh",
"system-agent-params": {
"platform": "junos",
"agent_type": "offbox",
"job_on_create": "install"
}
}
}
{
"junos": {
"junos-versions": ["21.2R1-S2.2"],
"junos-image": "http://10.85.24.52/juniper/21.2R1-S2.2/jinstall-host-qfx-5e-x86-64-21.2R1-S2.2-secure-signed.tgz",
"device-root-password": "root123",
"device-user": "admin",
"device-user-password": "admin",
"system-agent-params": {
"platform": "junos",
"agent_type": "offbox",
"job_on_create": "install"
}
},
"QFX10002-36Q": {
"junos-versions": ["21.2R1-S2.2"],
"junos-image": "http://10.85.24.52/juniper/21.2R1-S2.2/jinstall-host-qfx-10-f-x86-64-21.2R1-S2.2-secure-signed.tgz"
},
"JNP10002-60C [QFX10002-60C]": {
"junos-versions": ["21.2R1-S1.3"],
"junos-image": "http://10.85.24.52/juniper/21.2R1-S1.3/junos-vmhost-install-qfx-x86-64-21.2R1-S1.3.tgz"
}
}
Apstra ZTP 4.2.0上のJunos Evolved Onboxエージェントの例
{
"junos-evo": {
"junos-evo-versions": [ "22.4R2.11-EVO" ],
"junos-evo-image": "http://192.168.59.4/junos-evo-install-qfx-ms-x86-64-22.4R2.11-EVO.iso",
"device-root-password": "root-password",
"device-user": "admin",
"device-user-password": "admin-password",
"custom-config": "junos_custom.sh",
"system-agent-params": {
"agent_type": "onbox",
"job_on_create": "install"
}
}
}
PTX10004などのデュアルREプラットフォームには、以下の追加フィールドを使用できます。
"dual-routing-engine": true, "management-ip": "10.161.37.7", "management-gw-ip": "10.161.39.254", "management-subnet-prefixlen": "21", "management-master-ip": "10.161.37.8", "management-backup-ip": "10.161.37.9",
ジュニパーOS Evolved
Apstra ZTP 4.2.0のエンタープライズSONiC Onboxエージェントの例
{
"sonic": {
"sonic-versions": [ "SONiC-OS-4.0.5-Enterprise_Advanced" ],
"sonic-image": "http://192.168.59.4/sonic-broadcom-enterprise-advanced-4.0.5-GA.bin",
"device-root-password": "root-password",
"device-user": "admin",
"device-user-password": "admin-password",
"custom-config": "sonic_custom.sh",
"system-agent-params": {
"agent_type": "onbox",
"job_on_create": "install"
}
}
}
admin以外のdevice-user(aosadminなど)を使用する場合、Apstra ZTPはこの新しいユーザーを作成しますが、デフォルトのSONiC adminユーザーのパスワードは変更されません(パスワードはデフォルトでYourPaSsWoRdに設定されています)。
モデル固有の例
"JNP10002-60C [QFX10002-60C]": {
"junos-versions": [ "21.2R1-S1.3" ],
"junos-image": "http://10.85.24.52/juniper/21.2R1-S1.3/junos-vmhost-install-qfx-x86-64-21.2R1-S1.3.tgz",