community.network.nclu 模块 – 使用 NCLU 配置网络接口

注意

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

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

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

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

注意

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

已弃用

在以下版本中移除:

版本 6.0.0

原因:

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

替代方案:

未知。

概要

别名:network.cumulus.nclu

参数

参数

注释

abort

布尔值

布尔值。如果为 true,则在块之前执行“net abort”。这将清除缓冲区中任何未提交的更改。与 *atomic* 互斥。

选项

  • false ← (默认)

  • true

atomic

布尔值

如果为 true,则等效于 *commit* 和 *abort* 都为 true。与 *commit* 和 *atomic* 互斥。

选项

  • false ← (默认)

  • true

commands

字符串

包含要运行的 net 命令的字符串列表。与 *template* 互斥。

commit

布尔值

如果为 true,则在块结束时执行“net commit”。与 *atomic* 互斥。

选项

  • false ← (默认)

  • true

description

字符串

如果 *commit* 或 *atomic* 为 true,则将记录到提交日志中的提交说明。

默认值: "Ansible-originated commit"

template

字符串

具有 jinja2 格式的单个多行字符串。此字符串将按行拆分,并且每一行都将通过 net 运行。与 *commands* 互斥。

备注

注意

  • 支持 check_mode。请注意,当使用 check_mode 时,*abort* 始终为 true。

示例

- name: Add two interfaces without committing any changes
  community.network.nclu:
    commands:
        - add int swp1
        - add int swp2

- name: Modify hostname to Cumulus-1 and commit the change
  community.network.nclu:
    commands:
        - add hostname Cumulus-1
    commit: true

- name: Add 48 interfaces and commit the change.
  community.network.nclu:
    template: |
        {% for iface in range(1,49) %}
        add int swp{{iface}}
        {% endfor %}
    commit: true
    description: "Ansible - add swps1-48"

- name: Fetch Status Of Interface
  community.network.nclu:
    commands:
        - show interface swp1
  register: output

- name: Print Status Of Interface
  ansible.builtin.debug:
    var: output

- name: Fetch Details From All Interfaces In JSON Format
  community.network.nclu:
    commands:
        - show interface json
  register: output

- name: Print Interface Details
  ansible.builtin.debug:
    var: output["msg"]

- name: Atomically add an interface
  community.network.nclu:
    commands:
        - add int swp1
    atomic: true
    description: "Ansible - add swp1"

- name: Remove IP address from interface swp1
  community.network.nclu:
    commands:
        - del int swp1 ip address 1.1.1.1/24

- name: Configure BGP AS and add 2 EBGP neighbors using BGP Unnumbered
  community.network.nclu:
    commands:
        - add bgp autonomous-system 65000
        - add bgp neighbor swp51 interface remote-as external
        - add bgp neighbor swp52 interface remote-as external
    commit: true

- name: Configure BGP AS and Add 2 EBGP neighbors Using BGP Unnumbered via Template
  community.network.nclu:
    template: |
      {% for neighbor in range(51,53) %}
      add bgp neighbor swp{{neighbor}} interface remote-as external
      add bgp autonomous-system 65000
      {% endfor %}
    atomic: true

- name: Check BGP Status
  community.network.nclu:
    commands:
        - show bgp summary json
  register: output

- name: Print BGP Status In JSON
  ansible.builtin.debug:
    var: output["msg"]

返回值

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

描述

changed

布尔值

接口是否已更改

返回: changed

示例: true

msg

字符串

成功或失败的人类可读报告

返回: 始终返回

示例: "interface bond0 config updated"

状态

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

  • 有关更多信息,请参阅 已弃用

作者

  • Cumulus Networks (@isharacomix)