Ansibleを使用してJunosデバイスにソフトウェアをインストールする
概要 Junos デバイスにソフトウェアをインストールするには、ジュニパーネットワークスの Ansible モジュールを使用します。
Ansibleを使用してソフトウェアをインストールする
ジュニパーネットワークスは、Ansibleを使用したJunosデバイスの管理をサポートし、デバイスにソフトウェアイメージをインストールまたはアップグレードできるモジュールを提供しています。 表 1 に、モジュールの概要を示します。
コンテンツセット |
モジュール名 |
---|---|
リリース 2.0.0 以降 Juniper.junos
、 juniper_junos_software
モジュールはモジュールの機能を置き換えます junos_install_os
。
以下のセクションでは、モジュールを使用してJunosデバイスにソフトウェアパッケージをインストールする際に、ソフトウェアイメージの場所を指定する方法と、一般的なソフトウェアインストールプロセスとオプションについて説明します。また、VM ホストのアップグレード、統合型インサービス ソフトウェア アップグレード(統合型 ISSU)、またはノンストップ ソフトウェア アップグレード(NSSU)など、これらの機能をサポートするデバイス上で、より特殊なアップグレード シナリオを実行する方法についても説明します。
ソフトウェア イメージの場所を指定する方法
または juniper_junos_software
モジュールを使用してsoftware
Junosデバイスにソフトウェアをインストールする場合、ソフトウェアパッケージをAnsible制御ノードにダウンロードできます。デフォルトでは、モジュールはインストールを実行する前にパッケージをターゲットデバイスにコピーします。バーチャルシャーシが混在する環境では、パッケージがAnsible制御ノードに存在する必要があります。スタンドアロン デバイスまたは混合されていないバーチャル シャーシ環境の場合は、ターゲット Junos デバイスにすでに存在するソフトウェア イメージや、ターゲット デバイスから到達可能な URL に存在するソフトウェア イメージをインストールするようにモジュールに指示することもできます。
表 2 は、ソフトウェア パッケージの場所に応じて設定する必要があるモジュール引数の概要を示しています。モジュールには、常に 、 local_package
pkg_set
、または remote_package
引数のいずれかを含める必要があります。引数のデフォルトfalse
は no_copy
で、制御ノード上の指定された場所からターゲットデバイスにソフトウェアパッケージをコピーするようにモジュールに指示します。
ソフトウェア パッケージの場所 |
|
|
|
---|---|---|---|
Ansible制御ノード |
省略または に設定 |
スタンドアロンデバイスまたは非混在バーチャルシャーシ環境の場合: を、ローカル制御ノード上のソフトウェア パッケージのファイル パス(ファイル名を含む)に設定します |
(オプション)ソフトウェア パッケージのコピー先となるターゲット デバイス上のファイル パス。デフォルトのディレクトリは /var/tmp です。 ファイル名を含む場合は |
バーチャルシャーシが混在する環境の場合: を、ローカル制御ノード上の 1 つ以上のソフトウェア パッケージのファイル パス(ファイル名を含む)のリストに設定します |
– |
||
リモートロケーション |
– |
– |
ソフトウェア パッケージのインストール元の Junos デバイスから見た URL。 |
ターゲットデバイス |
に設定: |
– |
ソフトウェア パッケージが既に存在している必要があるターゲット デバイス上のファイル パス。デフォルトのディレクトリは /var/tmp です。 |
ソフトウェアパッケージがAnsible制御ノードに存在する場合、スタンドアロンJunosデバイスまたは非混合バーチャルシャーシのメンバーにソフトウェアをインストールするための引数を含める local_package
か、混合バーチャルシャーシのメンバーにソフトウェアをインストールするための引数を含め pkg_set
ます。module 引数は、ローカル制御ノード上のソフトウェア パッケージへの絶対または相対ファイル パスを指定します。
引数は local_package
、ソフトウェア イメージのパスを指定する 1 つの文字列です。引数には pkg_set
、さまざまなバーチャルシャーシメンバーに必要なソフトウェアイメージパスを順不同で指定する文字列のリストが含まれています。例えば:
pkg_set: - 'software/jinstall-qfx-5-13.2X51-D35.3-domestic-signed.tgz' - 'software/jinstall-ex-4300-13.2X51-D35.3-domestic-signed.tgz'
デフォルトでは、 または pkg_set
引数を含めるlocal_package
と、モジュールはターゲットJunosデバイス(個々のデバイスまたはバーチャルシャーシプライマリデバイス)の/var/tmpディレクトリにソフトウェアパッケージをコピーします。イメージを別のディレクトリにコピーするlocal_package
場合は、引数を定義しremote_package
、ターゲット ディレクトリを指定します。引数にremote_package
ファイル名が含まれている場合、引数とlocal_package
remote_package
引数のファイル名は同じでなければならず、一致しないとモジュールでエラーが発生します。
ソフトウェア パッケージがターゲット Junos デバイスにすでに存在する場合、モジュールには、ターゲット デバイス上の既存のソフトウェア パッケージへのファイル パスを指定する引数remote_package
と 引数を含める必要がありますno_copy: True
。remote_package
ディレクトリを指定しない場合、デフォルトは /var/tmp です。
ソフトウェア・パッケージがAnsible制御ノードまたはターゲット・デバイス以外の場所にある場合、モジュールには引数を含め remote_package
、ソフトウェア・パッケージの場所を指定する必要があります。の値は remote_package
、ターゲットのJunosデバイスから見たURLです。使用できる URL 形式については、 Junos OS CLI コマンドでファイル名と URL を指定するための形式を参照してください。
インストール プロセスの概要
Ansibleを使用してJunosデバイスにソフトウェア パッケージをインストールするには、 または juniper_junos_software
モジュールを実行しsoftware
、必要な引数を指定します。例えば:
--- - name: Perform a Junos OS software upgrade hosts: dc1 connection: local gather_facts: no tasks: - name: Upgrade Junos OS juniper.device.software: local_package: "software/jinstall-ppc-17.3R1.10-signed.tgz" no_copy: false validate: True register: response - name: Print the response debug: var: response
またはjuniper_junos_software
モジュールsoftware
を実行すると、次の操作が実行されます。
ソフトウェア パッケージがターゲット デバイスにインストールされると、最初にダウンロードされたか、モジュールによってコピーされたかにかかわらず、モジュールは次の操作を実行します。
パラメーター
true
がvalidate
に設定されている場合、新しいパッケージに対して構成を検証します。手記:デフォルトでは、 および
juniper_junos_software
モジュールは、ソフトウェア パッケージを追加するための前提条件として、software
既存の設定に対してソフトウェア パッケージまたはバンドルを検証しません。アクティブなコンフィギュレーションが新しいソフトウェア イメージで動作するようにするには、引数をvalidate
に設定しますtrue
。に設定されていない
false
限りall_re
、個々のルーティング エンジンに パッケージをインストールします。引数が に設定されていない
false
限りreboot
、アップグレードされた各ルーティング エンジンを再起動します。
および software
juniper_junos_software
モジュールを使用すると、module 引数を含めるlogfile
ことで、インストールの進行状況をログに記録できます。デフォルトでは、重大度レベルが WARNING 以上のメッセージのみがログに記録されます。一般的なインストール プロセスのメッセージをログに記録するために必要な重大度レベル INFO 以上のメッセージをログに記録するには、または--verbose
コマンド ライン オプションを使用して-v
プレイブックを実行します。
タイムアウト値を指定する方法
ジュニパーネットワークスのソフトウェアモジュールは、NETCONFセッションを介して操作を実行します。NETCONF RPCがタイムアウトするデフォルトの時間は30秒です。インストール プロセス中に、特定の操作によって RPC タイムアウト間隔が次のように増加します。
-
デバイスへのパッケージのコピーとインストール:1800 秒(30 分)
-
チェックサムの計算 - 300 秒 (5 分)
-
ストレージのクリーンアップの実行:300 秒 (5 分)
場合によっては、インストール プロセス、チェックサム計算、または記憶域のクリーンアップがこれらの時間間隔を超えることがあります。これらの操作のタイムアウト値を変更するには、checksum_timeout
cleanfs_timeout
および 引数をinstall_timeout
モジュールの引数リストで必要な秒数に設定します。例えば:
- name: Upgrade Junos OS juniper.device.software: local_package: "software/jinstall-ppc-17.3R1.10-signed.tgz" validate: True install_timeout: 2000 checksum_timeout: 420 cleanfs_timeout: 600
同等のモジュール引数を持たないインストール オプションを指定する方法
または モジュールを使用してsoftware
デバイスにソフトウェアをインストールする場合、モジュールは、指定されたインストール引数に対して適切な RPC を呼び出します(たとえば、標準 Junos OS インストールの場合は RPC、<request-package-add>
VM ホスト アップグレードの場合は RPC、<request-vmhost-package-add>
<request-package-in-service-upgrade>
統合 ISSU シナリオの場合は RPCなど)。juniper_junos_software
モジュールは、多くのインストール オプション (オプション など) validate
の明示的な引数をサポートします。モジュールは引数kwargs
もサポートしているため、RPC でサポートされているが、同等のモジュール引数を持たない追加オプションを含めることができます。引数はkwargs
、サポートされている追加のオプションのキーと値のペアのディクショナリを取ります。
モジュールでサポートされているオプションの現在のリストについては、そのモジュールの API リファレンス ドキュメントを参照してください。特定のRPCで使用可能なすべてのオプションのリストについては、同等のコマンドのドキュメントを参照するか、 Junos XML APIエクスプローラーでRPCのリクエストタグを検索してください。
モジュールには、ターゲット Junos デバイスでサポートされているインストール オプションのみを含める必要があります。
次のプレイブックでは、software
モジュールはターゲット ホストに新しいソフトウェア イメージをインストールします。モジュールには、 kwargs
を持つunlink: True
引数が含まれています。アップグレードが成功した後にディレクトリからソフトウェア パッケージを削除するこの引数は、RPC に <request-package-add>
オプションを含める<unlink/>
ことと同じです。
--- - name: Perform a Junos OS software upgrade hosts: router1 connection: local gather_facts: no tasks: - name: Upgrade Junos OS juniper.device.software: local_package: "software/jinstall-ppc-17.3R1.10-signed.tgz" kwargs: unlink: True register: response - name: Print the response debug: var: response
VM ホストのアップグレードを実行する方法
VMホストに対応したルーティングエンジンを搭載したデバイスでは、Junos OSはLinuxベースのホスト(VMホスト)上で仮想マシン(VM)として動作します。ホストOSおよび互換性のあるJunos OSをアップグレードするVMホストのアップグレードには、VMホストインストールパッケージ(junos-vmhost-install-x.tgz)が必要であり、RPCに対応する request vmhost software add
<request-vmhost-package-add>
運用モードコマンドを使用して実行されます。
および juniper_junos_software
モジュールはsoftware
、vmhost: True
VM ホストのアップグレードを実行するための引数をサポートしています。引数が存在する場合、モジュールは RPC を使用して<request-vmhost-package-add>
インストールを実行します。
次のプレイブックは、デバイスのJunos OSとホストOSをアップグレードして再起動します。
--- - name: Upgrade VM Hosts hosts: vm_hosts connection: local gather_facts: no tasks: - name: Perform a VM host upgrade juniper.device.software: local_package: "junos-vmhost-install-qfx-x86-64-18.1R1.9.tgz" vmhost: True register: response - name: Print the response debug: var: response
統合 ISSU または NSSU を実行する方法
およびjuniper_junos_software
モジュールはsoftware
、機能をサポートし、必要な要件を満たすデバイスでの、統合型インサービスソフトウェアアップグレード(統合型ISSU)またはノンストップソフトウェアアップグレード(NSSU)の実行をサポートします。統合 ISSU および NSSU 機能の詳細については、製品のソフトウェア マニュアルを参照してください。
統合型ISSU機能により、コントロールプレーンを中断することなく、トラフィックの中断を最小限に抑えながら、2つの異なるJunos OSリリース間でアップグレードできます。統合されたインサービスソフトウェアアップグレードを実行するには、またはjuniper_junos_software
モジュールにsoftware
引数を含めるissu: True
必要があります。例えば:
--- - name: Perform a Junos OS software upgrade hosts: mx1 connection: local gather_facts: no tasks: - name: Perform a unified ISSU juniper.device.software: local_package: "junos-install-mx-x86-64-17.2R1.13.tgz" issu: True register: response - name: Print the response debug: var: response
NSSU機能を使用すると、ネットワークトラフィックの中断を最小限に抑えながら、スイッチまたはバーチャルシャーシで実行されているJunos OSソフトウェアを冗長ルーティングエンジンでアップグレードできます。ノンストップ ソフトウェア アップグレードを実行するには、or juniper_junos_software
モジュールに software
引数を含めるnssu: True
必要があります。例えば:
--- - name: Perform a Junos OS software upgrade hosts: ex1 connection: local gather_facts: no tasks: - name: Perform an NSSU juniper.device.software: local_package: "jinstall-ex-4300–17.3R1.10-signed.tgz" nssu: True register: response - name: Print the response debug: var: response
例: Ansible を使用したソフトウェアのインストール
この例では、juniper.device
コレクション内のモジュールを使用してsoftware
、Junos デバイスにソフトウェア イメージをインストールします。
必要条件
この例では、以下のハードウェアとソフトウェアのコンポーネントを使用しています。
-
コレクションがインストールされた Ansible 2.10 以降
juniper.device
を実行している構成管理サーバー -
NETCONFが有効で、適切な権限で設定されたユーザーアカウントを備えたJunosデバイス
-
Ansible制御ノードとJunosデバイスで適切なユーザーに対して構成されたSSH公開/秘密鍵のペア
-
必要なホストが定義されている既存のAnsibleインベントリ ファイル
概要
この例では、モジュールを使用して software
、指定されたインベントリ グループ内のホスト上のJunos OSをアップグレードするAnsibleプレイブックを示します。この例では、ソフトウェアイメージはAnsible制御ノード上に存在し、モジュールはインストールする前にイメージをターゲットデバイスにコピーします。モジュールは引数を host
明示的に定義しないため、モジュールはデフォルトのホスト(つまり {{ inventory_hostname }}
)で動作します。
このプレイブックには、 Checking NETCONF connectivity
モジュールを利用して wait_for
、デフォルトのNETCONFポート830を使用してJunosデバイスとのNETCONFセッションの確立を試みるタスクが含まれています。コントロールノードがプレイブックの実行中にデバイスとの NETCONF セッションの確立に失敗した場合、そのデバイスのプレイ内の残りのタスクはスキップされます。
タスクは Install Junos OS package
、 software
NETCONF チェックが成功した場合にモジュールを実行します。引数は version
、Junos デバイス上の コマンドによって show version
報告される希望の Junos OS バージョンを定義します。プレイブックの実行中に、モジュールはまず、要求されたバージョンがデバイスにまだインストールされていないことを確認します。要求されたバージョンが現在インストールされているバージョンと異なる場合、モジュールは要求されたバージョンをインストールします。
引数は local_package
、Ansible制御ノード上のJunos OSソフトウェアパッケージのパスを定義します。インストール中、モジュールはターゲットデバイス上でストレージのクリーンアップ操作を実行し、ソフトウェアイメージをデバイスの /var/tmp ディレクトリにコピーし、ファイルのチェックサムを検証し、アクティブな設定に対して新しいソフトウェアを検証してから、ターゲットホストの各ルーティングエンジンにソフトウェアをインストールします。デフォルトでは、 software
モジュールはインストールの完了後に各ルーティングエンジンを再起動しますが、このタスクではわかりやすくするために明示的に設定します reboot: True
。
タスクは、モジュールの結果を変数に response
格納し、1 つのハンドラーに通知します。ユーザーがチェック モードを使用してプレイブックを実行しない場合、ハンドラーは wait_reboot
デバイスとのセッションを確立して、デバイスがオンラインに戻ったことを確認します。この変数は wait_time
、制御ノードがデバイスとの再接続を試みる時間の長さを定義します。
この例には、 logfile
インストールの進行状況を記録するパラメーターが含まれています。これは、インストールが失敗した場合のデバッグ目的や、デバイスへのインストールの日時を記録するために重要です。プレイブックを実行するユーザーには、指定されたログ ファイルに書き込むためのアクセス許可が必要です。デフォルトでは、重大度レベルが WARNING 以上のメッセージのみがログに記録されます。この例では、インストールを監視するために重大度レベル INFO 以上のメッセージをログに記録するオプションを使用して -v
プレイブックが実行されます。
構成
Ansibleプレイブックの作成
モジュールを使用して software
Junosデバイスにソフトウェアイメージをインストールするプレイブックを作成するには:
-
プレイブックの定型文と、モジュールをローカルで実行するこのプレイを含めます。
--- - name: Install Junos OS hosts: mx1 connection: local gather_facts: no
-
必要な変数を定義またはインポートします。この例では、希望するJunos OSバージョンや新しいイメージへのパスなどが含まれます。
vars: OS_version: "20.3R1.8" OS_package: "junos-install-mx-x86-64-20.3R1.8.tgz" pkg_dir: "software" log_dir: "{{ playbook_dir }}" netconf_port: 830 wait_time: 3600
-
(オプション)NETCONF の接続性を検証するタスクを作成します。
tasks: - name: Checking NETCONF connectivity wait_for: host: "{{ inventory_hostname }}" port: "{{ netconf_port }}" timeout: 5
-
デバイスにJunos OSパッケージをインストールし、ハンドラーに通知するタスクを作成します。
- name: Install Junos OS package juniper.device.software: version: "{{ OS_version }}" local_package: "{{ pkg_dir }}/{{ OS_package }}" reboot: True validate: True logfile: "{{ log_dir }}/software.log" register: response notify: - wait_reboot
-
(オプション)モジュール応答を印刷するタスクを作成します。
- name: Print response debug: var: response
-
再起動後にデバイスがオンラインに戻ることを確認するハンドラーを作成します。
ハンドラー名は、インストール タスクで参照される名前と同じである必要があります。
handlers: - name: wait_reboot wait_for: host: "{{ inventory_hostname }}" port: "{{ netconf_port }}" timeout: "{{ wait_time }}" when: not response.check_mode
業績
Ansibleコントロールノードで、完成したプレイブックを確認します。プレイブックに目的のコードが表示されない場合は、この例の手順を繰り返してプレイブックを修正します。
--- - name: Install Junos OS hosts: mx1 connection: local gather_facts: no vars: OS_version: "20.3R1.8" OS_package: "junos-install-mx-x86-64-20.3R1.8.tgz" pkg_dir: "software" log_dir: "{{ playbook_dir }}" netconf_port: 830 wait_time: 3600 tasks: - name: Checking NETCONF connectivity wait_for: host: "{{ inventory_hostname }}" port: "{{ netconf_port }}" timeout: 5 - name: Install Junos OS package juniper.device.software: version: "{{ OS_version }}" local_package: "{{ pkg_dir }}/{{ OS_package }}" reboot: True validate: True logfile: "{{ log_dir }}/software.log" register: response notify: - wait_reboot - name: Print response debug: var: response handlers: - name: wait_reboot wait_for: host: "{{ inventory_hostname }}" port: "{{ netconf_port }}" timeout: "{{ wait_time }}" when: not response.check_mode
プレイブックの実行
プレイブックを実行するには:
-
ansible-playbook
制御ノードでコマンドを発行し、プレイブックのパスと必要なオプションを指定します。user@ansible-cn:~/ansible$ ansible-playbook -v ansible-pb-junos-install-os.yaml Using /etc/ansible/ansible.cfg as config file PLAY [Install Junos OS] **************************************************** TASK [Checking NETCONF connectivity] *************************************** ok: [mx1a.example.com] => {"changed": false, "elapsed": 0, "match_groupdict": {}, "match_groups": [], "path": null, "port": 830, "search_regex": null, "state": "started"} TASK [Install Junos OS package] ******************************************** changed: [mx1a.example.com] => {"changed": true, "check_mode": false, "msg": "Package /home/user/ansible/software/junos-install-mx-x86-64-20.3R1.8.tgz successfully installed. Response from device is: \nVerified junos-install-mx-x86-64-20.3R1.8 signed by PackageProductionECP256_2020 method ECDSA256+SHA256\n [...output truncated...] NOTICE: 'pending' set will be activated at next reboot... Reboot successfully initiated. Reboot message: Shutdown NOW! [pid 83918]"} TASK [Print response] ****************************************************** ok: [mx1a.example.com] => { "response": { "changed": true, "check_mode": false, "failed": false, "msg": "Package /home/user/ansible/software/junos-install-mx-x86-64-20.3R1.8.tgz successfully installed. Response from device is: \nVerified junos-install-mx-x86-64-20.3R1.8 signed by PackageProductionECP256_2020 method ECDSA256+SHA256\nVerified manifest signed by PackageProductionECP256_2020 method ECDSA256+SHA256\n [...output truncated...] NOTICE: 'pending' set will be activated at next reboot... Reboot successfully initiated. Reboot message: Shutdown NOW! [pid 83918]" } } RUNNING HANDLER [wait_reboot] ********************************************** ok: [mx1a.example.com] => {"changed": false, "elapsed": 209, "match_groupdict": {}, "match_groups": [], "path": null, "port": 830, "search_regex": null, "state": "started"} PLAY RECAP ***************************************************************** mx1a.example.com : ok=4 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
検証
インストールの確認
目的
ソフトウェアが正常にインストールされたことを確認します。
アクション
プレイブックの出力には、失敗したタスクが示されます。ただし、インストールの詳細については、プレイブックで定義されているログ ファイルの内容を確認することもできます。ログ ファイルの出力例を次に示します。簡潔にするために、一部の出力は省略されています。
user@ansible-cn:~/ansible$ cat software.log 2020-12-11 00:24:49,478 - paramiko.transport - INFO - Connected (version 2.0, client OpenSSH_7.5) 2020-12-11 00:24:49,632 - paramiko.transport - INFO - Authentication (publickey) successful! 2020-12-11 00:24:57,923 - jnpr.ansible_module.software - INFO - [mx1a.example.com] b'junos-install-mx-x86-64-20.3R1.8.tgz': 344145920 / 3441301038 (10%) 2020-12-11 00:25:05,976 - jnpr.ansible_module.software - INFO - [mx1a.example.com] b'junos-install-mx-x86-64-20.3R1.8.tgz': 688275456 / 3441301038 (20%) 2020-12-11 00:25:13,949 - jnpr.ansible_module.software - INFO - [mx1a.example.com] b'junos-install-mx-x86-64-20.3R1.8.tgz': 1032404992 / 3441301038 (30%) 2020-12-11 00:25:22,051 - jnpr.ansible_module.software - INFO - [mx1a.example.com] b'junos-install-mx-x86-64-20.3R1.8.tgz': 1376534528 / 3441301038 (40%) 2020-12-11 00:25:30,357 - jnpr.ansible_module.software - INFO - [mx1a.example.com] b'junos-install-mx-x86-64-20.3R1.8.tgz': 1720664064 / 3441301038 (50%) 2020-12-11 00:25:38,360 - jnpr.ansible_module.software - INFO - [mx1a.example.com] b'junos-install-mx-x86-64-20.3R1.8.tgz': 2064793600 / 3441301038 (60%) 2020-12-11 00:25:46,575 - jnpr.ansible_module.software - INFO - [mx1a.example.com] b'junos-install-mx-x86-64-20.3R1.8.tgz': 2408923136 / 3441301038 (70%) 2020-12-11 00:25:54,983 - jnpr.ansible_module.software - INFO - [mx1a.example.com] b'junos-install-mx-x86-64-20.3R1.8.tgz': 2753052672 / 3441301038 (80%) 2020-12-11 00:26:03,066 - jnpr.ansible_module.software - INFO - [mx1a.example.com] b'junos-install-mx-x86-64-20.3R1.8.tgz': 3097182208 / 3441301038 (90%) 2020-12-11 00:26:11,330 - jnpr.ansible_module.software - INFO - [mx1a.example.com] b'junos-install-mx-x86-64-20.3R1.8.tgz': 3441301038 / 3441301038 (100%) 2020-12-11 00:26:11,331 - jnpr.ansible_module.software - INFO - [mx1a.example.com] after copy, computing checksum on remote package: /var/tmp/junos-install-mx-x86-64-20.3R1.8.tgz ... 2020-12-11 00:26:27,623 - jnpr.ansible_module.software - INFO - [mx1a.example.com] checksum check passed. 2020-12-11 00:26:27,623 - jnpr.ansible_module.software - INFO - [mx1a.example.com] validating software against current config, please be patient ... ... 2020-12-11 00:30:55,725 - jnpr.ansible_module.software - INFO - [mx1a.example.com] software validate package-result: 0 Output: Removing /packages/sets/previous Verified junos-install-mx-x86-64-20.3R1.8 signed by PackageProductionECP256_2020 method ECDSA256+SHA256 Verified manifest signed by PackageProductionECP256_2020 method ECDSA256+SHA256 Checking PIC combinations Adding junos-mx-x86-64-20.3R1.8 ... ... Validating against /config/juniper.conf.gz mgd: commit complete Validation succeeded 2020-12-11 00:30:55,725 - jnpr.ansible_module.software - INFO - [mx1a.example.com] installing software on RE0 ... please be patient ... ... 2020-12-11 00:33:56,203 - jnpr.ansible_module.software - INFO - [mx1a.example.com] software pkgadd package-result: 0 Output: Verified junos-install-mx-x86-64-20.3R1.8 signed by PackageProductionECP256_2020 method ECDSA256+SHA256 ... 2020-12-11 00:33:56,250 - jnpr.ansible_module.software - INFO - [mx1a.example.com] installing software on RE1 ... please be patient ... ... 2020-12-11 00:37:18,562 - jnpr.ansible_module.software - INFO - [mx1a.example.com] software pkgadd package-result: 0 Output: Pushing /var/tmp/junos-install-mx-x86-64-20.3R1.8.tgz to re1:/var/tmp/junos-install-mx-x86-64-20.3R1.8.tgz Verified junos-install-mx-x86-64-20.3R1.8 signed by PackageProductionECP256_2020 method ECDSA256+SHA256 ... <?xml version="1.0" encoding="UTF-8"?><nc:rpc xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="urn:uuid:f6f6a59c-fedd-49fc-9cb3-9848f419a5b7"> <request-reboot><both-routing-engines/><in>0</in></request-reboot></nc:rpc>]]>]]> 2020-12-11 00:37:19,880 - ncclient.operations.rpc - INFO - [host mx1a.example.com session-id 46151] Requesting 'CloseSession'
意味
ログ ファイルの内容は、ターゲット デバイスの両方のルーティング エンジンにイメージが正常にコピーされ、インストールされたことを示します。
変更履歴テーブル
機能のサポートは、使用しているプラットフォームとリリースによって決まります。 機能エクスプローラー を使用して、機能がプラットフォームでサポートされているかどうかを判断します。
Juniper.junos
、
juniper_junos_software
モジュールはモジュールの機能を置き換えます
junos_install_os
。