Ansibleを使用して、デバイスで実行されているデバイスにソフトウェアをインストールJunos OS
まとめAnsibleモジュールジュニパーネットワークスして、デバイスで実行しているデバイスにソフトウェアをインストールJunos OS。
Ansibleを使用したソフトウェアのインストール
ジュニパーネットワークス Ansible を使用して Junos OS を実行しているデバイスを管理するサポートと、デバイスにソフトウェア イメージをインストールまたはアップグレードできるモジュールが提供されています。 表 1 に 、モジュールの概要を示します。
コンテンツ セット |
モジュール名 |
---|---|
|
|
リリース Juniper.junos
2.0.0 より、モジュールの機能はモジュール juniper_junos_software
に置き換 junos_install_os
え可能です。
次のセクションでは、ソフトウェア イメージの場所と一般的なソフトウェア インストール プロセスを指定する方法と、モジュールを使用してソフトウェア パッケージをインストールする際のオプションについて説明Junos OS。また、これらの機能をサポートするデバイスで、VM ホストのアップグレード、統合型 ISSU(統合型インサービス ソフトウェア アップグレード)、NSSU(ノンストップ ソフトウェア アップグレード)など、より特化したアップグレード シナリオの実行方法も説明しています。
ソフトウェア イメージの場所の指定方法
またはモジュールを使用してJunos OSを実行しているデバイスにソフトウェアをインストールする場合、ソフトウェア パッケージを software
juniper_junos_software
Ansible Control Node にダウンロードし、デフォルトでモジュールは、インストールを実行する前にターゲット デバイスにパッケージをコピーします。混在するバーチャル シャーシでは、パッケージは Ansible コントロール ノードに存在する必要があります。スタンドアロン デバイスまたは非混合 バーチャル シャーシ 環境の場合、Junos OS を実行しているターゲット デバイスにすでに存在するソフトウェア イメージ、またはターゲット デバイスから到達可能な URL に存在するソフトウェア イメージをインストールするようモジュールに指示することもできます。
表 2 は 、ソフトウェア パッケージの場所に応じて設定する必要があるモジュールの引数の概要を示しています。モジュールは常に、 、または local_package
pkg_set
の引数のいずれかを含める必要 remote_package
があります。引数のデフォルトは 、 の で、制御ノード上の指定された場所からターゲット デバイスにソフトウェア パッケージをコピーするようモジュール no_copy
false
に指示します。
ソフトウェア パッケージの場所 |
|
|
|
---|---|---|---|
Ansible制御ノード |
除外または次に設定する |
スタンドアロン デバイスまたは非混在のバーチャル シャーシ: ローカル |
(オプション)ソフトウェア パッケージがコピーされるターゲット デバイス上のファイル パス。デフォルト のディレクトリは /var/tmp です。 ファイル |
混合混合バーチャル シャーシ環境: ローカル制御ノード上の1つ以上のソフトウェア パッケージのファイル パスのリスト(ファイル名を含む |
– |
||
遠隔地 |
– |
– |
実行しているターゲット デバイスのJUNOS OS パッケージがインストールされている場所からの URL。 |
ターゲット デバイス |
に設定します。 |
– |
ソフトウェア パッケージがすでに存在する必要があるターゲット デバイス上のファイル パス。デフォルト のディレクトリは /var/tmp です。 |
ソフトウェア パッケージが Ansible コントロール ノードに存在する場合は、Junos OS を実行しているスタンドアロン デバイス、または非混合 バーチャル シャーシ のメンバーにソフトウェアをインストールする引数を含める、または混合 バーチャル シャーシ のメンバーにソフトウェアをインストールする引数を含める。 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'
デフォルトでは、 または の引数を含める場合、モジュールは、Junos OS バーチャル シャーシ(個々のデバイスまたはプライマリ デバイス)を実行しているターゲット デバイスの local_package
pkg_set
/var/tmp ディレクトリに任意のソフトウェア パッケージをコピーします。イメージを別のディレクトリに local_package
コピーする場合は、引数を定義 remote_package
してターゲット ディレクトリを指定します。引数にファイル名が含まれる場合は、引数のファイル名を同一にする必要があります。またはモジュールが remote_package
local_package
remote_package
エラーを生成します。
ソフトウェア パッケージが Junos OS を実行しているターゲット デバイスにすでに存在する場合、モジュールには、引数だけでなく、ターゲット デバイスの既存のソフトウェア パッケージへのファイル パスを指定する引数も含める必要があります。 no_copy: True
remote_package
ディレクトリ remote_package
を指定しない場合、デフォルトは /var/tmp です。
ソフトウェア パッケージが Ansible コントロール ノードまたはターゲット デバイス以外の場所に存在する場合、モジュールは引数を含め、ソフトウェア パッケージの場所を指定する remote_package
必要があります。値は remote_package
、デバイスで実行されているターゲット デバイスから見た URL Junos OS。許容可能な URL 形式の詳細については、「 Junos OS CLI コマンドでのファイル名と URL の指定の形式 」 を参照してください。
インストール プロセスの概要
Ansible を使用して Junos OS を実行しているデバイスにソフトウェア パッケージをインストールするには、またはモジュールを実行し、任意の必要な引数 software
juniper_junos_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
またはモジュールを実行 software
juniper_junos_software
すると、以下の操作が実行されます。
最初にダウンロードしたデバイスか、モジュールがコピーするかは別の方法で、ソフトウェア パッケージがターゲット デバイスに追加されると、モジュールは次の操作を実行します。
パラメーターが に設定されている場合は、新しいパッケージに対
validate
する設定を検証しますtrue
。注:デフォルトでは、 および モジュール はソフトウェア パッケージを検証しません。また、ソフトウェア パッケージを追加する前提条件として、既存の設定に対
software
juniper_junos_software
してバンドル化する必要があります。アクティブな設定が新しいソフトウェア イメージで動作確認するには、引数を . にvalidate
設定しますtrue
。に設定されていない限り、パッケージを各ルーティング エンジンデバイス
all_re
にインストールしますfalse
。引数が に設定されていない限ルーティング エンジン アップグレードされたデバイス
reboot
を再起動しますfalse
。
および software
モジュール juniper_junos_software
を使用すると、モジュールの引数を含めてインストールの進行状況 logfile
をログに記録できます。デフォルトでは、重大度レベルの警告以上のメッセージだけがログに記録されます。一般的なインストール プロセスでメッセージをログに記録するために必要な重大度レベルの INFO 以上のメッセージをログに記録するには、 または コマンドライン オプションを使用してプレイブック -v
--verbose
を実行します。
タイムアウト値の指定方法
ソフトウェア モジュールジュニパーネットワークス NETCONF セッションを使用して操作を実行します。NETCONF RPC のデフォルトタイムは 30 秒です。インストール プロセスで、特定の操作で RPC のタイムアウト間隔が次のように増えます。
デバイスにパッケージをコピーしてインストールする - 1800 秒(30 分)
チェックサムの計算 - 300 秒(5 分)
ストレージのクリーンアップの実行 - 300 秒(5 分)
インストール プロセス、チェックサム計算、ストレージのクリーンアップが、これらの間隔を超える場合があります。これらの操作のタイムアウト値は、 、および をモジュールの引数リストで必須の秒 install_timeout
checksum_timeout
cleanfs_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
同等のモジュールの引数を持たしていないインストール オプションを指定する方法
またはモジュールを使用してデバイスにソフトウェアをインストールする場合、モジュールが、指定されたインストールの引数(標準の Junos OS インストールの RPC、VM ホスト アップグレード用の software
juniper_junos_software
<request-package-add>
<request-vmhost-package-add>
RPC、統合型 <request-package-in-service-upgrade>
ISSU シナリオ用の RPC など)を呼び出します。これらのモジュールは、多くのインストール オプション(オプションなど)で明示的な引数をサポート validate
しています。モジュールは引数もサポートします。RPC によってサポートされる追加オプションを含め、同等のモジュールの引数を持 kwargs
つオプションを含めすることもできます。引数 kwargs
は、追加でサポートされるオプションのキー/値ペアの辞書を取ります。
モジュールでサポートされる現在のオプションのリストについては、そのモジュールの API リファレンス マニュアルを参照してください。特定の RPC で使用可能なすべてのオプションのリストについては、同等のコマンドのマニュアル、または Junos XML API Explorerで RPC のリクエスト タグを検索してください。
モジュールには、デバイスで稼働しているターゲット デバイスでサポートされているインストール オプションのみをJunos OS。
以下のプレイブックでは、モジュール software
がターゲット ホストに新しいソフトウェア イメージをインストールします。モジュールには、 kwargs
を使用する引数が含まれています unlink: True
。アップグレードが成功した後にディレクトリからソフトウェア パッケージを削除するこの引数は、RPC にオプションを含 <unlink/>
むのに相当 <request-package-add>
します。
--- - 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 Vマシン(VMホスト)上で仮想マシン(VM)として動作します。ホスト OS と互換性のある Junos OS をアップグレードする VM ホストのアップグレードでは、VM ホスト インストール パッケージ(junos-vmhost-install- x .tgz)が必要で request vmhost software add
、RPC に対応する動作モード コマンドを使用して実行されます。 <request-vmhost-package-add>
と software
モジュール juniper_junos_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 の実行方法
この機能をサポートし、必要な要件を満たすデバイス上で、統合型インサービス ソフトウェア アップグレード(統合型 ISSU)またはノンストップ ソフトウェア アップグレード software
(NSSU)を実行するモジュールをサポートします。 juniper_junos_software
統合型 ISSU と NSSU 機能の詳細については、ご使用の製品のソフトウェア マニュアルを参照してください。
統合型 ISSU 機能を使用すると、2 つの異なる Junos OS リリース間でアップグレードが可能で、コントロール プレーン を中断してトラフィックの中断を最小限に抑えることができます。統合型インサービス ソフトウェア アップグレードを実行するには、 または モジュールに引数 software
juniper_junos_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または冗長ルーティング エンジンを使用して、スイッチまたは バーチャル シャーシ 上で実行されているソフトウェアをアップグレードできます。ノンストップ ソフトウェア アップグレードを実行するには、またはモジュール software
juniper_junos_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の使用によるソフトウェアのインストール
この例では、 software
収集内のモジュールを使用して、デバイスで動作しているデバイスにソフトウェア イメージ juniper.device
をインストールJunos OS。
要件
この例では、次のハードウェアとソフトウェアのコンポーネントを使用しています。
Ansible 2.10 以降が動作し、収集がインストールされた構成
juniper.device
管理サーバーNETCONF Junos OSを有効にした状態でデバイスを実行し、適切な権限を持って設定されたユーザー アカウント
Ansibleコントロールノードおよび実行中のデバイスで、適切なユーザーに対して設定されたSSHパブリック/プライベートキーのペアJunos OS
必要なホストが定義された既存の Ansible インベントリ ファイル
概要
この例では、指定されたインベントリ グループ内のホスト上のJunos OSアップグレードにモジュールを使用する Ansible software
プレイブックを示しています。この例では、ソフトウェア イメージが Ansible コントロール ノードに存在し、モジュールがイメージをターゲット デバイスにコピーしてからインストールします。モジュールは引数を明示的に定義していないので、モジュールはデフォルトのホストで host
動作します {{ inventory_hostname }}
。
このプレイブックには、モジュールを利用して、デフォルトの Checking NETCONF connectivity
NETCONF ポート 830 を使用して Junos OS を実行しているデバイスとの NETCONF セッションを確立しようとするタスクが含まれています wait_for
。プレイブックの実行中にコントロール ノードがデバイスとの NETCONF セッションを確立できない場合、そのデバイスのプレイ中の残りのタスクはスキップします。
Install Junos OS package
software
NETCONF のチェックが正常に完了すると、このタスクはモジュールを実行します。この version
引数は、指定するJunos OSで実行されているデバイス上のコマンドによって報告されるバージョンを定義 show version
Junos OS。プレイブックの実行中、モジュールはまず要求されたバージョンがデバイスにインストールされていないか確認します。要求されたバージョンが現在インストールされているバージョンと異なる場合、モジュールは要求されたバージョンをインストールします。
引数 local_package
は、Ansible コントロール ノード上Junos OSパスを定義します。インストール中、モジュールは、ターゲット デバイスでストレージのクリーンアップ操作を実行し、デバイスの /var/tmp ディレクトリにソフトウェア イメージをコピーし、ファイルのチェックサムを検証し、アクティブな設定に対して新しいソフトウェアを検証してから、ターゲット ホストの各 ルーティング エンジン にソフトウェアをインストールします。デフォルトでは、モジュールはインストールがルーティング エンジン後に各インターフェイスを再起動しますが、このタスクは明確 software
に reboot: True
設定されています。
タスクはモジュールの結果を変数に格納 response
し、1 つのハンドラーに通知します。ユーザーがチェック モードを使用してプレイブックを実行しない場合、ハンドラーはデバイスとのセッションを確立して、デバイスがオンラインに戻ってくる wait_reboot
か確認します。この変数は、コントロール ノードがデバイスとの再接続を試みる時間 wait_time
の長さを定義します。
この例では、インストール logfile
の進行状況をログに記録するパラメーターを含まれています。この機能は、インストールが失敗した場合のデバッグや、デバイスへのインストールの日時のロギングに重要です。プレイブックを実行するユーザーには、指定されたログ ファイルに書き込む権限が必要です。デフォルトでは、重大度レベルの警告以上のメッセージだけがログに記録されます。この例では、重大度レベル INFO 以上のメッセージをログに記録してインストールを監視するオプションを使用してプレイブック -v
を実行します。
構成
Ansibleプレイブックの作成
モジュールを使用して仮想ネットワークを実行しているデバイスにソフトウェア イメージをインストールするプレイブックを作成するには、 software
次の手順にJunos OS。
プレイブックのプレートと、モジュールをローカルで実行するこのプレイを含めます。
--- - 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 Control Node で、完了したプレイブックを確認します。プレイブックに意図したコードが表示されない場合は、この例の手順を繰り返してプレイブックを修正します。
--- - 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'
意味
ログ ファイルの内容は、イメージが正常にコピーされ、ターゲット デバイス上の両方のルーティング エンジンにインストールされたことを示しています。