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

软件安装有三个主要步骤,它们对应 OS 于服务 RPC。

  • 安装
  • 激活
  • 验证

您可以使用 OS 服务 RPC 将软件安装包传输到设备,根据指定的软件版本验证配置,然后安装软件。您还可以将已安装的软件版本设置为下一个启动版本并验证软件版本。

注意:

您还可以使用 gNOI system 服务 SetPackage() RPC 在设备上安装软件。更多信息,请参见 gNOI系统服务

支持的 RPC

表 1:支持的 os.proto RPC
RPC 描述 在版本中引入
Activate()

设置下次重新启动时使用的软件版本。

Activate()如果省略该标志或设置为 False,则no_reboot重新启动目标。如果重新启动无法启动请求的软件版本,目标将回滚到之前的版本。

注意:

Junos 设备不支持 standby_supervisor 消息中的 ActivateRequest 字段。

注意:

在 Junos OS 演化版 25.2R1 之前, Activate() 可根据软件验证当前配置,安装软件,并将软件版本设置为下一个启动版本。

Junos OS 演化版 22.2R1

Install()

将软件安装包传输到目标,根据软件验证配置,然后安装(暂存)软件。

如果设备上已安装指定的软件映像,请根据软件映像验证当前配置,并将经过验证的配置存储为与该软件版本关联的运行配置。

注意:

Junos 设备不支持 standby_supervisor 消息中的 TransferRequest 字段。

注意:

在 Junos OS 演化版 25.2R1 Install() 之前,仅会将软件安装包传输到目标。

Junos OS 演化版 22.2R1

Verify()

检查正在运行的软件版本。当目标启动时,可能会多次调用此 RPC,直到成功。

注意:

Junos 设备不支持 verify_standby VerifyResponse。

Junos OS 演化版 22.2R1

操作系统服务概述

gNOI OS 服务 RPC 使您能够管理运行 Junos OS Evolved 的设备上的软件。Junos OS 演化版在存储介质上存储多个版本的软件。对于每个软件版本,Junos OS Evolved 还会存储该软件版本上次运行时正在运行的配置。

表 2 概述了不同 Junos OS 演化版中的 RPC 操作。从 Junos OS 演化版 25.2R1 版开始,您可以在不立即激活的情况下安装软件,根据任何已安装的软件版本验证当前配置,以及激活任何已安装的软件版本。

表 2:OS 服务 RPC 更改

RPC

Junos OS 演化版 24.4R1 及更早版本

Junos OS 演化版 25.2R1 及更高版本

Install()

将软件安装包传输到设备。

将软件安装包传输到设备。

根据指定的软件版本(新的或以前安装的)验证当前配置。

如果尚未安装指定的软件版本,请安装软件。

将经过验证的当前配置存储为与指定软件版本关联的运行配置。

Activate()

根据指定的软件版本验证当前配置。

安装软件。

将指定的软件版本设置为下一个启动版本。

将指定的软件版本设置为下一个启动版本。

(选答)重新启动设备。

(选答)重新启动设备。

Verify()

检查正在运行的软件版本。

检查正在运行的软件版本。

在 Junos OS 演化版 25.2R1 及更高版本中, Install() RPC 会将指定的软件安装包传输到目标设备上的目录, /var/tmp/ 针对软件验证配置,然后安装软件(如果设备上尚未安装该软件版本)。目标文件名是在消息字段中 TransferRequest 定义的 version 值。 Activate() RPC 将指定的软件版本设置为下一个启动版本,并可选择重新启动设备以激活软件。您可以激活任何已安装的软件版本。

如果运行 Install() 并指定现有软件版本, Install() 则根据软件验证当前配置,并将已验证的配置存储为与该软件版本关联的运行配置。如果软件版本设置为下一个启动版本, Install() 则在此过程中将其停用。因此,您可以验证特定软件版本是否适用于最近的任何配置更改。

网络设备配置

开始之前:

使用 OS 服务 RPC 不需要其他配置。

示例:安装并激活

在此示例中,客户端执行 gnoi_os_install_activate.py Python 应用程序,该应用程序执行以下操作:

  • 将软件包从本地网络管理系统复制到网络设备。

  • 根据软件映像验证配置。

  • 在网络设备上安装软件包。

  • 重新启动网络设备,从而激活新的软件映像。

应用程序使用 Install() 消息调用 InstallRequest() RPC 以传输文件。应用程序通过在每 10% 传输完成间隔发出进度消息来跟踪文件传输的进度。如果文件传输成功,系统将根据软件映像验证配置,执行存储清理,然后安装映像。然后,应用程序调用 Activate() RPC 将新映像设置为下一个启动映像,并重新启动目标。

应用程序导入grpc_channel模块以建立通道。配置 gNOI 服务中介绍了该grpc_channel模块。应用程序的参数存储在文件中args_os_install_activate.txt。应用程序和参数文件如下:

gnoi_os_install_activate.py

args_os_install_activate.txt

注意:

从 Junos OS 演化版 23.4R1 版开始,versionInstall()Verify() RPC 中的Activate()字段使用软件版本字符串(如 /system/state/software-version中所示),而非软件包名称。

执行应用

当客户端执行应用程序时,应用程序将包从本地设备复制到网络设备上的目录中 /var/tmp ,安装包,然后重新启动设备以完成安装。

变更历史表

是否支持某项功能取决于您使用的平台和版本。使用 功能资源管理器 确定您的平台是否支持某个功能。

发布
描述
25.2R1-EVO
从 Junos OS 演化版 25.2R1 开始, Install() RPC 会将软件安装包复制到设备,根据指定的软件版本验证配置,然后安装软件,然后 Activate() RPC 会将指定的软件版本设置为下一个启动版本。在早期版本中, Install() 将软件安装包复制到设备,并 Activate() 根据软件验证配置,安装软件,并将软件版本设置为下一个启动版本。
25.2R1-EVO
从 Junos OS 演化版 25.2R1 开始,您可以在已安装的软件映像上执行 Install() RPC,以根据软件映像验证当前配置,并将经过验证的配置存储为与该软件版本关联的运行配置。
23.4R1-EVO
从 Junos OS 演化版 23.4R1 版开始, versionInstall()Verify() RPC 中的 Activate()字段使用软件版本字符串(如 /system/state/software-version中所示),而非软件包名称。