Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

使用 Ansible 停止、重新启动或关闭运行Junos OS

总结使用 ansible 瞻博网络可停止、重新启动或关闭运行新设备的Junos OS。

使用 Ansible 停止、重新启动或关闭设备

瞻博网络使用 Ansible 管理运行 Junos OS 的设备,并提供 Ansible 模块,使您能够停止、重新启动或关闭设备。 表 1 概括了可用模块。

表 1:停止、重新启动或关闭设备的模块

内容集

模块名称

juniper.device 收集

system

Juniper.junos 作用

juniper_junos_system

注意:

Juniper.junos 2.0.0 版开始, juniper_junos_system 模块将更换 和 junos_shutdown junos_zeroize 模块的功能。

您可以使用模块在运行 Junos OS 的设备上请求以下Junos OS。默认情况下,模块会立即执行请求的操作,然后在所有路由引擎上执行双协议或双路由引擎操作虚拟机箱设置。

  • 即时系统停止、重新启动或关闭

  • 停止、重新启动或关闭操作(可选延迟)

  • 特定日期和时间计划停止、重新启动或关机操作

systemjuniper_junos_system 模块需要一个参数 action ,用于定义模块执行的操作。表 2定义了停止、重新启动或关闭设备所需的参数值,并简要说明每个操作以及 action 相应的 CLI 命令。有关操作 "zeroize" 的信息,请参阅使用 Ansible将运行中的Junos OS恢复为出厂默认配置设置 。

表 2:系统和juniper_junos_system操作 参数值

参数 action

描述

等效 CLI 命令

"halt"

平稳关闭软件Junos OS但保持系统电源

request system halt

"reboot"

重新启动Junos OS软件

request system reboot

"shutdown"

平稳关闭Junos OS软件,然后关闭路由引擎的电源

request system power-off

以下 Ansible 指南使用 模块 立即重新启动指定库存组中主机 system action: "reboot" 上的所有路由引擎。

如何在延迟或指定时间执行停止、重新启动或关闭

要延迟停止、重新启动或关闭操作指定几分钟,请将可选参数设置为系统在执行操作之前应该等待 in_min 的分钟数。以下任务在 30 分钟内请求重新启动所有路由引擎:

要计划在特定时间停止、重新启动或关机,请包含参数,该参数接受以下一种可指定的 at 字符串:

  • now—立即启动软件停止、重新启动或关闭。

  • +minutes— 从现在开始请求的操作的几分钟。

  • yymmddhhmm— 发起所请求操作绝对时间,指定为年、月、日、小时和分钟。

  • hh:mm— 发起所请求操作当前日期的绝对时间,在 24 小时内指定。

以下任务计划当日 22:30 系统关闭所有路由引擎:

如何指定目标路由引擎

默认情况下,和 模块在双路由引擎或双路由引擎路由引擎 system juniper_junos_system 或虚拟机箱操作。您还可以指示模块仅对连接到路由引擎的路由引擎执行操作,或者在所有路由引擎(应用程序已连接到的引擎除外)上执行操作。

要指定路由引擎,请使用 和 all_re other_re 参数。 表 3 all_re 汇总了特定路由引擎上 other_re 执行请求的操作所需的 和 值。

表 3:用于指定路由引擎的参数

受影响的路由引擎

all_re 参数

other_re 参数

所有路由引擎(默认)

省略或设置为 True

只有连接的路由引擎

设置为 False

所有路由引擎(路由引擎应用程序所连接的路由引擎除外

设置为 True

要明确指示操作应在双路由引擎或双路由路由引擎或虚拟机箱引擎上执行,请包括参数( all_re: True 默认设置)。

要仅针对应用程序所连接路由引擎执行请求的操作,请包括 all_re: False 该参数。

要针对系统内所有路由引擎(应用程序路由引擎的路由引擎除外)执行请求的操作,请包括 other_re: True 该参数。

如何重新启动虚拟机主机

在具有 VM 主机支持的路由引擎的设备上,Junos OS基于 Linux 的主机(VM 主机)作为虚拟机 (VM) 运行。 systemjuniper_junos_system 模块支持 vmhost 该参数,这使您可以重新启动虚拟机主机。包括 和 参数时,系统将执行与操作模式命令对应的 RPC,Junos OS所有路由引擎上的兼容 action: "reboot" vmhost: True <request-vmhost-reboot> request vmhost reboot 路由引擎。

以下指南将执行虚拟机主机重新启动,重新启动主机操作系统和访客Junos OS。

示例:使用 Ansible 重新启动运行 Junos OS

通过 system 该集合中的模块,您可以停止、重新启动或关闭 juniper.device 运行 Junos OS。此示例使用此 system 模块重新启动运行 Junos OS。

要求

此示例使用以下硬件和软件组件:

  • 运行 Ansible 2.10 或更高版本(已安装 juniper.device 集合)的配置管理服务器

  • 运行新Junos OS且启用了 NETCONF 且配置了具有相应权限的用户帐户的设备

  • 为运行此设备的 Ansible 控制节点和设备上相应的用户配置的 SSH 公共/私钥Junos OS

  • 定义所需主机的现有 Ansible 清单文件

概述

此示例介绍了 Ansible 指南,使用该模块重新启动 system 运行 Junos OS。模块参数的值定义了在 action 主机上执行的操作。

从指南中呼叫模块时,建议您使用交互式提示来确认用户是否打算重新启动指定设备。如果用户无意中运行指南而无检查,则对需要所影响设备的任何网络产生不利影响。作为预防措施,本操作指南使用交互式提示来验证用户是否打算重新启动设备,并需要用户在命令行中手动键入 " "以 yes 执行模块。如果 Confirmation check 任务失败,Ansible 控制节点将跳过该设备的其他任务。

本指南包含该任务,该任务利用模块尝试使用默认 NETCONF 端口 830 与运行 Junos OS 的设备建立 Checking NETCONF connectivity wait_for NETCONF 会话。如果控制节点在执行指南时未能与设备建立 NETCONF 会话,则跳过该设备的其余任务。

如果确认和 NETCONF 检查成功,重新启动设备的任务将 system 执行该模块。参数 action 设置为 值 "reboot" ,表示软件应重新启动。该 in_min: 2 参数会指示模块等待指定的几分钟,然后再执行 reboot 命令。这样,任何用户都能够退出系统。

该任务将模块存储为变量,并 result 通知两个处理程序。重新引导操作启动后,处理程序会等待指定时间,以防止异常人员在重新启动之前错误地检测到设备 pause_for_reboot wait_reboot 是否联机。然后,函数方尝试与设备建立会话,验证设备重新启动后是否 wait_reboot 恢复联机。该 wait_time_after_reboot 变量定义了控制节点尝试与设备重新连接的时间长度。

配置

创建和执行 Ansible 指南

逐步过程

要创建使用模块重新启动运行新设备的 system 指南Junos OS:

  1. 包括指南的样板以及此指南中在本地执行模块的样板。

  2. 定义或导入任何必要的变量。

  3. 创建交互式提示,防止用户意外执行模块而不首先了解影响。

  4. 创建确认用户意图的任务。

  5. (可选)创建验证 NETCONF 连接的任务。

  6. 创建在指定的几分钟后重新启动设备,然后通知处理程序的任务。

  7. (可选)创建一个打印响应的任务。

  8. 创建在重新启动后暂停的处理程序,以及验证设备重新启动后是否恢复联机的处理程序。

    函数名称应该与重新启动任务中引用的名称相同。

结果

在 Ansible 控制节点上,查看完成的指南。如果指南未显示预期的代码,请重复此示例中的说明,以更正指南。

执行指南

程序

逐步过程

要执行指南:

  • ansible-playbook 控制节点上发出 命令,并提供操作指南路径和任何所需选项。

验证

验证重新启动

目的

验证运行网络的设备Junos OS重新启动。

行动

执行指南时,请查看每个 wait_reboot 设备的任务输出。

意义

结果表示控制节点在设备重新启动之后是否 wait_reboot 成功建立了与设备的会话。如果结果表示成功,则设备已联机。

版本历史记录表
释放
描述
2.0.0
从 瞻博网络.junos 2.0.0 版开始,juniper_junos_system 模块将替换该模块junos_shutdown和junos_zeroize功能。