Модуль community.network.nclu – Настройка сетевых интерфейсов с помощью NCLU
Примечание
Этот модуль является частью коллекции community.network (версия 5.0.3).
У вас, возможно, уже установлена эта коллекция, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install community.network.
Чтобы использовать её в книге задач, укажите: community.network.nclu.
Обзор
- Интерфейс к утилите командной строки Network, разработанной для упрощения настройки операционных систем, работающих с ifupdown2 и Quagga, таких как Cumulus Linux. Документация по командам доступна по адресу https://docs.cumulusnetworks.com/cumulus-linux/System-Configuration/Network-Command-Line-Utility-NCLU/
Псевдонимы: network.cumulus.nclu
Параметры
Параметр | Комментарии |
|---|---|
abort boolean | Булево значение. Если true, выполняется ‘net abort’ перед блоком. Это очищает любые незафиксированные изменения в буфере. Взаимоисключающее с atomic. Выбираемые значения:
|
atomic boolean | Если true, эквивалентно тому, что commit и abort оба true. Взаимоисключающее с commit и atomic. Выбираемые значения:
|
commands строка | Список строк, содержащих команды net для выполнения. Взаимоисключающее с template. |
commit boolean | Если true, выполняет ‘net commit’ в конце блока. Взаимоисключающее с atomic. Выбираемые значения:
|
description строка | Описание фиксации, которое будет записано в журнал фиксации, если commit или atomic равны true. По умолчанию: |
template строка | Одна строка, содержащая несколько строк с форматированием jinja2. Эта строка будет разбита на строки, и каждая строка будет обработана через net. Взаимоисключающее с commands. |
Примечания
Примечание
- Поддерживает режим проверки. Обратите внимание, что при использовании режима проверки 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 boolean | были ли изменены интерфейсы Возвращается: changed Пример: |
msg строка | читаемый отчет о результате или ошибке Возвращается: всегда Пример: |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/network/nclu_module.html