community.network.cnos_conditional_template 模块 – 基于条件使用模板管理运行 Lenovo CNOS 的交换机配置

注意

此模块是 community.network 集合 (版本 5.1.0) 的一部分。

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

要安装它,请使用:ansible-galaxy collection install community.network

要在 playbook 中使用它,请指定:community.network.cnos_conditional_template

注意

community.network 集合已被弃用,并将从 Ansible 12 中移除。有关更多信息,请参阅 讨论主题

已弃用

在以下版本中移除:

版本 6.0.0

原因:

此集合及其中的所有内容均未维护且已弃用。

替代方案:

未知。

概要

  • 此模块允许您使用交换机的运行配置。它提供了一种通过评估当前运行配置并在仅未配置特定设置的情况下执行命令来在交换机上执行一组 CNOS 命令的方法。配置源可以是一组命令或用 Jinja2 模板语言编写的模板。此模块的功能与 cnos_template 模块相同。唯一的例外是您可以指定以下清单变量。[“condition = <flag 字符串>”] 当此清单变量被指定为任务的变量时,模板将针对与标志字符串匹配的网络元素执行。通常,当命令在网络设备组中相同,使用模板。当需要跳过在一个或多个设备上执行模板时,建议使用此模块。此模块使用 SSH 管理网络设备配置。

别名:network.cnos.cnos_conditional_template

参数

参数

注释

commandfile

字符串 / 必需

这指定需要应用的 CNOS 命令文件的路径。这通常来自 commands 文件夹。通常,此文件是应用于模板文件的变量的输出。因此,此命令以模板模块为前缀。命令文件必须包含 Ansible 关键字 {{ inventory_hostname }} 和其文件名中的条件标志,以确保命令文件对于每个交换机和条件都是唯一的。如果省略此项,则在迭代期间将覆盖命令文件。例如,commandfile=./commands/clos_leaf_bgp_ {{ inventory_hostname }}_LP21_commands.txt

condition

字符串 / 必需

如果您在针对任何设备的清单文件中指定 condition=<flag 字符串>,则如果它与该任务的标志设置匹配,则会对该设备执行模板。

deviceType

字符串 / 必需

这指定执行方法的设备类型。自 Ansible 2.4 起添加了选项 NE1072T、NE1032、NE1032T、NE10032、NE2572。自 2.8 起添加了选项 NE0152T

选项

  • "g8272_cnos"

  • "g8296_cnos"

  • "g8332_cnos"

  • "NE0152T"

  • "NE1072T"

  • "NE1032"

  • "NE1032T"

  • "NE10032"

  • "NE2572"

enablePassword

字符串

配置用于在交换机上进入全局配置命令模式的密码。如果交换机不需要此密码,则忽略此参数。虽然通常该值应来自清单文件,但您也可以将其指定为变量。此参数是可选的。如果未指定,则不使用默认值。

flag

字符串 / 必需

如果需要执行任务,则必须将标志设置为与为该设备在清单中指定的标志相同。

host

字符串 / 必需

这是用于搜索 /etc/ansible/hosts 中的主机文件并识别要应用模板的设备的 IP 地址的变量。通常,Ansible 关键字 {{ inventory_hostname }} 在 playbook 中被指定为需要配置的网络元素组的抽象。

outputfile

字符串 / 必需

这指定保存每个命令执行输出的文件路径。合并的模板文件中指定的每个命令以及来自设备的每个响应都保存在此处。通常位置是 results 文件夹,但您可以根据您的写入权限选择其他位置。

password

字符串 / 必需

配置用于验证与远程设备连接的密码。password 参数的值用于验证 SSH 会话。虽然通常该值应来自清单文件,但您也可以将其指定为变量。此参数是可选的。如果未指定,则不使用默认值。

username

字符串 / 必需

配置用于验证与远程设备连接的用户名。username 参数的值用于验证 SSH 会话。虽然通常该值应来自清单文件,但您也可以将其指定为变量。此参数是可选的。如果未指定,则不使用默认值。

备注

注意

示例

Tasks : The following are examples of using the module
 cnos_conditional_template. These are written in the main.yml file of the
 tasks directory.
---
- name: Applying CLI template on VLAG Tier1 Leaf Switch1
  community.network.cnos_conditional_template:
      deviceType: "{{ hostvars[inventory_hostname]['deviceType'] }}"
      outputfile: "./results/vlag_1tier_leaf_switch1_
                  {{ inventory_hostname }}_output.txt"
      condition: "{{ hostvars[inventory_hostname]['condition']}}"
      flag: "leaf_switch1"
      commandfile: "./commands/vlag_1tier_leaf_switch1_
                    {{ inventory_hostname }}_commands.txt"
      stp_mode1: "disable"
      port_range1: "17,18,29,30"
      portchannel_interface_number1: 1001
      portchannel_mode1: active
      slot_chassis_number1: 1/48
      switchport_mode1: trunk

返回值

常见返回值已记录在 此处,以下是此模块特有的字段

描述

msg

字符串

成功或失败消息

返回:始终

示例:"Template Applied."

状态

  • 此模块将在6.0.0版本中移除。[已弃用]

  • 更多信息请参见 已弃用

作者

  • Anil Kumar Muraleedharan (@amuraleedhar)