Spec-Zone.ru › Ansible 2.11

community.network.nclu – Настройка сетевых интерфейсов с помощью NCLU

Примечание

Этот плагин является частью коллекции community.network (версия 2.0.1).

Для его установки используйте: ansible-galaxy collection install community.network.

Чтобы использовать его в книге задач, укажите: community.network.nclu.

  • Обзор
  • Параметры
  • Примеры
  • Возвращаемые значения

Обзор

  • Интерфейс к утилите командной строки сети, разработанной для упрощения настройки операционных систем с ifupdown2 и Quagga, таких как Cumulus Linux. Документация по командам доступна по адресу https://docs.cumulusnetworks.com/cumulus-linux/System-Configuration/Network-Command-Line-Utility-NCLU/

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
abort
boolean
    Варианты:
  • нет ←
  • да
Булево. Если значение true, выполняется 'net abort' перед блоком. Это очищает любые несохраненные изменения в буфере. Взаимоисключительно с atomic.
atomic
boolean
    Варианты:
  • нет ←
  • да
Если значение true, эквивалентно тому, что оба значения commit и abort равны true. Взаимоисключительно с commit и atomic.
commands
string
Список строк, содержащих команды net для выполнения. Взаимоисключительно с template.
commit
boolean
    Варианты:
  • нет ←
  • да
Если значение true, выполняется 'net commit' в конце блока. Взаимоисключительно с atomic.
description
string
Значение по умолчанию:
"Ansible-originated commit"
Описание коммита, которое будет записано в журнал коммитов, если commit или atomic равны true.
template
string
Одна строка с многострочным форматированием Jinja2. Эта строка будет разделена по строкам, и каждая строка будет выполнена через net. Взаимоисключительно с commands.

Примеры

- 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
boolean
изменено
были ли изменены интерфейсы

Пример:
True
msg
string
всегда
читаемый человеком отчет об успехе или неудаче

Пример:
interface bond0 config updated


Авторы

  • Cumulus Networks (@isharacomix)

© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/network/nclu_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API