nclu – Настройка сетевых интерфейсов с помощью NCLU
Новое в версии 2.3.
Обзор
- Интерфейс к утилите командной строки Network (NCLU), разработанной для упрощения настройки операционных систем с ifupdown2 и Quagga, таких как Cumulus Linux. Документация по командам доступна по адресу https://docs.cumulusnetworks.com/display/DOCS/Network+Command+Line+Utility
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| abort - | Значение по умолчанию: "нет" | Булево. Если истинно, выполняется 'net abort' перед блоком. Это очищает любые несохраненные изменения в буфере. Взаимоисключительно с atomic. |
| atomic - | Значение по умолчанию: "нет" | Если истинно, эквивалентно тому, что и commit, и abort истинны. Взаимоисключительно с commit и atomic. |
| commands - | Список строк, содержащих команды net для выполнения. Взаимоисключительно с template. | |
| commit - | Значение по умолчанию: "нет" | Если истинно, выполняется 'net commit' в конце блока. Взаимоисключительно с atomic. |
| description - | Значение по умолчанию: "Сохранение, инициированное Ansible" | Описание сохранения, которое будет записано в журнал сохранений, если commit или atomic истинны. |
| template - | Единственная многострочная строка с форматированием jinja2. Эта строка будет разбита на строки, и каждая строка будет обработана с помощью net. Взаимоисключительно с commands. |
Примеры
- name: Add two interfaces without committing any changes
nclu:
commands:
- add int swp1
- add int swp2
- name: Modify hostname to Cumulus-1 and commit the change
nclu:
commands:
- add hostname Cumulus-1
commit: true
- name: Add 48 interfaces and commit the change.
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
nclu:
commands:
- show interface swp1
register: output
- name: Print Status Of Interface
debug:
var: output
- name: Fetch Details From All Interfaces In JSON Format
nclu:
commands:
- show interface json
register: output
- name: Print Interface Details
debug:
var: output["msg"]
- name: Atomically add an interface
nclu:
commands:
- add int swp1
atomic: true
description: "Ansible - add swp1"
- name: Remove IP address from interface swp1
nclu:
commands:
- del int swp1 ip address 1.1.1.1/24
- name: Configure BGP AS and add 2 EBGP neighbors using BGP Unnumbered
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
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
nclu:
commands:
- show bgp summary json
register: output
- name: Print BGP Status In JSON
debug:
var: output["msg"]
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие — поля, уникальные для данного модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| changed boolean | изменено | были ли изменены интерфейсы Пример: True |
| msg строка | всегда | читаемый человеком отчет об успехе или неудаче Пример: Конфигурация интерфейса bond0 обновлена |
Статус
- Этот модуль не гарантирует обратную совместимость интерфейса. [превью]
- Этот модуль поддерживается сообществом Ansible. [community]
Авторы
- Cumulus Networks
Подсказка
Если вы обнаружите проблемы в этой документации, вы можете изменить этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.7/modules/nclu_module.html