Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

gNOI オペレーティング システム (OS) サービス

概要 gNOI オペレーティング システム (OS) サービスを使用して、ターゲット ネットワーク デバイス上のソフトウェアをアップグレードします。

gNOI OS サービスを使用して、ターゲット デバイスのソフトウェアをアップグレードできます。プロトタイプ定義ファイルは https://github.com/openconfig/gnoi/blob/master/os/os.proto にあります。

ソフトウェアのインストールには、サービス RPC に対応する OS 3 つの主要な手順があります。

  • インストール
  • アクティブ 化
  • 確認

RPC はInstall()、指定されたイメージをターゲット デバイス上のディレクトリに/var/tmp/転送します。宛先ファイル名は、メッセージのversionフィールドで定義されたTransferRequest値です。RPC はActivate()イメージをインストールし、デバイスを再起動して、新しくインストールされたイメージをアクティブにします。RPC はVerify()、デバイスの OS バージョンを検証します。

メモ:

gNOI system サービス SetPackage() RPC を使用して、デバイスにソフトウェアをインストールすることもできます。詳細については、「 gNOI システム サービス」を参照してください。

対応する RPC

表 1: サポートされている os.proto RPC
リリースで導入された RPC の説明
Activate()

次回の再起動時に使用する OS バージョンを設定します。

Activate() フラグが no_reboot 省略されているか、 に設定されている場合 False、ターゲットを再起動します。再起動で要求された OS バージョンのブートに失敗した場合、ターゲットは以前の OS パッケージにロールバックします。

メモ:

Junosデバイスは、メッセージの フィールドActivateRequestをサポートしstandby_supervisor ていません。

Junos OS Evolved 22.2R1

Install()

ソフトウェアイメージをターゲットに転送します。

メモ:

Junosデバイスは、メッセージの フィールドTransferRequestをサポートしstandby_supervisor ていません。

Junos OS Evolved 22.2R1

Verify()

実行中の OS バージョンを確認します。この RPC は、成功するまでターゲットの起動中に複数回呼び出される可能性があります。

メモ:

Junosデバイスは、VerifyResponseをサポートし verify_standby ていません。

Junos OS Evolved 22.2R1

ネットワーク デバイスの設定

始める前に:

サービス RPC を使用する OS ために追加の構成は必要ありません。

例: インストールとアクティブ化

この例では、クライアントは次の操作を実行する Python アプリケーションを実行します gnoi_os_install_activate.py

  • ローカル ネットワーク管理システムからネットワーク デバイスにソフトウェア パッケージをコピーします。
  • ネットワーク デバイスにパッケージをインストールします。
  • ネットワーク デバイスを再起動し、新しいソフトウェア イメージをアクティブにします。

アプリケーションは、 Install() メッセージを使用して InstallRequest() RPC を呼び出してファイルを転送します。アプリケーションは、10% の転送完了間隔ごとに進行状況メッセージを出力することによって、ファイル転送の進行状況を追跡します。ファイル転送が成功すると、アプリケーションは RPC を呼び出して Activate() イメージをインストールし、ターゲットを再起動します。

アプリケーションはモジュール grpc_channel をインポートしてチャネルを確立します。この grpc_channel モジュールについては、 gNOI サービスの設定で説明しています。アプリケーションの引数はファイルに格納されます args_os_install_activate.txt 。アプリケーション ファイルと引数ファイルは次のとおりです。

gnoi_os_install_activate.py

args_os_install_activate.txt

メモ:

Junos OS Evolvedリリース23.4R1以降、 Activate()、 、および Verify() RPCのフィールドはversion、パッケージ名の代わりにソフトウェアバージョン文字列(に/system/state/software-versionInstall()表示)を使用します。

アプリケーションの実行

クライアントがアプリケーションを実行すると、アプリケーションはローカル デバイスからネットワーク デバイス上のディレクトリに /var/tmp パッケージをコピーし、パッケージをインストールしてから、デバイスを再起動してインストールを完了します。

変更履歴テーブル

機能のサポートは、使用しているプラットフォームとリリースによって決まります。 機能エクスプローラー を使用して、機能がプラットフォームでサポートされているかどうかを判断します。

リリース
説明
23.4R1-EVO
Junos OS Evolvedリリース23.4R1以降、 Activate()、 、および Verify() RPCのフィールドは version、パッケージ名の代わりにソフトウェアバージョン文字列(に /system/state/software-version Install()表示)を使用します。