community.network.cnos_template 模块 – 使用模板管理运行 Lenovo CNOS 的交换机配置

注意

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

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

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

要在剧本中使用它,请指定: community.network.cnos_template

注意

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

已弃用

在以下版本中移除:

6.0.0 版本

原因:

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

替代方案:

未知。

概要

  • 此模块允许您使用交换机的运行配置。它提供了一种通过评估当前运行配置并在仅当特定设置尚未配置时才执行命令的方式,在交换机上执行一组 CNOS 命令的方法。配置源可以是一组命令或使用 Jinja2 模板语言编写的模板。此模块使用 SSH 管理网络设备配置。操作结果将放置在名为“results”的目录中,用户必须在其本地目录中(剧本运行的位置)创建此目录。

别名:network.cnos.cnos_template

参数

参数

注释

commandfile

字符串 / 必需

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

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

字符串

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

host

字符串 / 必需

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

outputfile

字符串 / 必需

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

password

字符串 / 必需

配置用于对远程设备进行身份验证的密码。password 参数的值用于对 SSH 会话进行身份验证。虽然通常应从清单文件中获取该值,但您也可以将其指定为变量。此参数是可选的。如果未指定,则不使用默认值。

username

字符串 / 必需

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

注释

注意

示例

Tasks : The following are examples of using the module cnos_template. These are written in the main.yml file of the tasks directory.
---
- name: Replace Config CLI command template with values
  template:
      src: demo_template.j2
      dest: "./commands/demo_template_{{ inventory_hostname }}_commands.txt"
      vlanid1: 13
      slot_chassis_number1: "1/2"
      portchannel_interface_number1: 100
      portchannel_mode1: "active"

- name: Applying CLI commands on Switches
  community.network.cnos_template:
      deviceType: "{{ hostvars[inventory_hostname]['deviceType'] }}"
      commandfile: "./commands/demo_template_{{ inventory_hostname }}_commands.txt"
      outputfile: "./results/demo_template_command_{{ inventory_hostname }}_output.txt"

返回值

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

描述

msg

字符串

成功或失败消息

返回:始终

示例: "Template Applied."

状态

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

  • 更多信息请参见 已弃用

作者

  • Anil Kumar Muraleedharan (@amuraleedhar)