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。

  • 安装
  • 激活
  • 验证

Install() RPC 将指定的映像传输到目标设备上的/var/tmp/目录中。目标文件名是在消息字段中version定义的TransferRequest值。Activate() RPC 安装映像并重新启动设备以激活新安装的映像。Verify() RPC 验证设备上的操作系统版本。

注意:

您还可以使用 gNOI system 服务 SetPackage() RPC 在设备上安装软件。有关详细信息,请参阅 gNOI 系统服务

支持的 RPC

表 1:支持的 os.proto RPC
版本中引入的 RPC 说明
Activate()

设置下次重新启动时使用的操作系统版本。

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

注意:

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

Junos OS 演化版 22.2R1

Install()

将软件映像传输到目标上。

注意:

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

Junos OS 演化版 22.2R1

Verify()

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

注意:

Junos 设备不支持 verify_standby VerifyResponse。

Junos OS 演化版 22.2R1

网络设备配置

准备工作:

  • 按照 配置 gRPC 服务中所述,在网络设备上配置 gRPC 服务。
  • 配置网络管理系统以支持配置 gNOI 服务中所述的 gNOI 操作。

无需其他配置即可使用 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 开始,versionActivate()Install()Verify() RPC 中的字段使用软件版本字符串(如 中/system/state/software-version所示),而不是软件包名称。

执行应用程序

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

更改历史记录表

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

释放
描述
23.4R1-EVO
从 Junos OS 演化版 23.4R1 开始, versionActivate() Install()Verify() RPC 中的字段使用软件版本字符串(如 中 /system/state/software-version所示),而不是软件包名称。