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>

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

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

path / required

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)