junipernetworks.junos.junos_package 模块 – 在运行 Junos 的远程设备上安装软件包

注意

此模块是 junipernetworks.junos 集合(版本 9.1.0)的一部分。

如果您使用的是 ansible 包,您可能已经安装了此集合。它不包含在 ansible-core 中。要检查是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install junipernetworks.junos。您需要其他要求才能使用此模块,有关详细信息,请参阅 要求

要在 playbook 中使用它,请指定:junipernetworks.junos.junos_package

junipernetworks.junos 1.0.0 中的新功能

概要

  • 此模块可以在运行 Junos 的远程设备上安装新的和更新的软件包。该模块会将指定的软件包与远程设备上运行的软件包进行比较,如果存在不匹配,则安装指定的版本

要求

在执行此模块的主机上需要以下要求。

  • junos-eznc

  • ncclient (>=v0.5.2)

参数

参数

注释

force

布尔值

force 参数指示模块绕过软件包版本检查,并在远程设备上安装 src 中标识的软件包。

选择

  • false ← (默认)

  • true

force_host

布尔值

force_host 参数控制在远程 JUNOS 主机上添加软件包或捆绑包的方式,并且适用于 JUNOS QFX5100 设备。如果该值设置为 True,则在添加主机软件包或捆绑包时将忽略任何警告。

选择

  • false ← (默认)

  • true

issu

布尔值

issu 参数设置为 True 时,它是一个布尔标志,允许统一的在线服务软件升级 (ISSU) 功能,使您可以在两个不同的 Junos OS 版本之间进行升级,而不会中断控制平面,并且最大限度地减少流量中断。

选择

  • false ← (默认)

  • true

no_copy

布尔值

no_copy 参数负责指示远程设备从何处安装软件包。启用后,软件包将在安装之前传输到远程设备。

选择

  • false ← (默认)

  • true

provider

字典

已弃用

从 Ansible 2.5 开始,我们建议使用 connection: network_cliconnection: netconf

有关详细信息,请参阅 Junos OS 平台选项指南

<hr>

包含连接详细信息的字典对象。

host

字符串

指定 DNS 主机名或地址,以便通过指定的传输连接到远程设备。主机的值用作传输的目标地址。

password

字符串

指定用于验证与远程设备连接的密码。此值用于验证 SSH 会话。如果未在任务中指定该值,则将改为使用环境变量 ANSIBLE_NET_PASSWORD 的值。

port

整数

指定在建立与远程设备的连接时使用的端口。端口值将默认为众所周知的 SSH 端口 22(对于 transport=cli)或端口 830(对于 transport=netconf)设备。

ssh_keyfile

路径

指定用于验证与远程设备连接的 SSH 密钥。此值是用于验证 SSH 会话的密钥的路径。如果未在任务中指定该值,则将改为使用环境变量 ANSIBLE_NET_SSH_KEYFILE 的值。

timeout

整数

指定与网络设备通信的超时时间(以秒为单位),用于连接或发送命令。如果在操作完成之前超过超时时间,模块将出错。

transport

字符串

配置连接到远程设备时使用的传输连接。

选择

  • "cli"

  • "netconf" ← (默认)

username

字符串

配置用于验证与远程设备连接的用户名。此值用于验证 SSH 会话。如果未在任务中指定该值,则将改为使用环境变量 ANSIBLE_NET_USERNAME 的值。

reboot

布尔值

为了使软件包生效,必须重新启动远程设备。启用后,此参数将指示模块在安装更新的软件包后重新启动设备。如果禁用或远程软件包不需要更改,则不会启动设备。

选择

  • false

  • true ← (默认)

src

别名: package

路径 / 必需

src 参数指定在版本不匹配的情况下要安装在远程设备上的源软件包的路径。src 参数可以是本地化路径,也可以是要安装的软件包文件的完整路径。

ssh_config

路径

ssh_config 参数是 SSH 配置文件的路径。这可用于从配置文件加载 SSH 信息。如果默认情况下未提供此选项,则会查询 ~/.ssh/config。

ssh_private_key_file

路径

ssh_private_key_file 参数是 SSH 私钥文件的路径。如果您需要提供私钥而不是将密钥加载到 ssh-key-ring/环境中,则可以使用此参数

布尔值

unlink 参数负责指示远程设备在安装后删除安装包。

选择

  • false ← (默认)

  • true

validate

布尔值

validate 参数负责指示远程设备跳过检查当前设备配置与正在安装的软件包的兼容性。设置为 false 时,不执行验证。

选择

  • false

  • true ← (默认)

version

字符串

version 参数可以用于显式指定应在远程设备上安装的软件包版本。如果未指定 version 参数,则版本将从 src 文件名中提取。

注释

注意

  • 此模块要求在被管理的远程设备上启用 netconf 系统服务。

  • 已针对 vSRX JUNOS 版本 15.1X49-D15.4 和 vqfx-10000 JUNOS 版本 15.1X53-D60.4 进行测试。

  • 仅适用于 local 连接。

  • 由于此模块使用 junos-eznc 与 junos 设备建立连接,因此需要使用模块选项传递 netconf 配置参数,例如 ssh_config,这与其他使用 netconf 连接类型的 junos 模块不同。

  • 有关使用 CLI 和 netconf 的信息,请参阅 :ref:`Junos OS 平台选项指南 <junos_platform_options>`。

  • 有关使用 Ansible 管理网络设备的更多信息,请参阅 :ref:`Ansible 网络指南 <network_guide>`。

  • 有关使用 Ansible 管理 Juniper 网络设备的更多信息,请参阅 https://ansible.org.cn/ansible-juniper

示例

# the required set of connection arguments have been purposely left off
# the examples for brevity

- name: install local package on remote device
  junipernetworks.junos.junos_package:
    src: junos-vsrx-12.1X46-D10.2-domestic.tgz

- name: install local package on remote device without rebooting
  junipernetworks.junos.junos_package:
    src: junos-vsrx-12.1X46-D10.2-domestic.tgz
    reboot: false

- name: install local package on remote device with jumpost
  junipernetworks.junos.junos_package:
    src: junos-vsrx-12.1X46-D10.2-domestic.tgz
    ssh_config: /home/user/customsshconfig

作者

  • Peter Sprygada (@privateip)