cumuluslinux
CumulusLinux
Ansible роль для управления Cumulus Linux через модуль NCLU.
Требования
Только версия Cumulus Linux 3.2+, предыдущие версии не поддерживают NCLU.
Переменные роли
Переменная | Описание | Тип | По умолчанию |
---|---|---|---|
cl_license |
Лицензия CumulusLinux | Строка | '' |
cl_hostname |
Имя хоста устройства | Строка | cumulus |
cl_time_zone |
Часовой пояс | Строка | Etc/UTC |
cl_time_ntp_servers |
Список NTP серверов, возможность добавить опцию iburst | Массив | [] |
cl_time_ntp_source |
Интерфейс источника NTP | Строка | eth0 |
cl_locales |
Включить локали из locale-gen | Массив | [] |
cl_dns_nameserver |
DNS сервер из двух подмассивов ipv4 и ipv6 | Хэш | {} |
cl_commands |
Атомарные команды ansible nclu с использованием рекурсивного запроса, разрешить действия del/add, выполняются первыми | Хэш | {} |
cl_snmp |
Настройки snmp-server из net add snmp-server с использованием рекурсивного запроса |
Хэш | {} |
cl_syslog |
Настройки syslog из двух подмассивов хэш ipv4 и ipv6, каждый элемент должен содержать ip + порт и опционально протокол (udp/tcp) | Хэш | {} |
cl_interface |
Настройки интерфейса из net add interface с использованием рекурсивного запроса |
Хэш | {} |
cl_bond |
Настройки bond из net add bond с использованием рекурсивного запроса |
Хэш | {} |
cl_vlan |
Настройки vlan из net add vlan с использованием рекурсивного запроса |
Хэш | {} |
Зависимости
Нет
Пользовательский запрос
Рекурсивный
Для управления конфигурацией интерфейса Cumulus Linux с помощью Ansible, я создал плагин для запросов, который позволяет строить переменные из хэша, и он рекурсивно читает вложенный хэш для преобразования его в список строк.
Каждая глубина переменных будет добавлена к команде nclu следующим образом:
var:
cl_interface:
swp1:
ip:
address: 192.168.1.1/24
link:
speed: 100
swp2:
bridge:
trunk:
vlans:
- 1-5
- 10,12
результаты:
swp1 ip address 192.168.1.1/24
swp2 bridge trunk vlans 1-5
swp2 bridge trunk vlans 10,12
Таким образом, я считаю структуру переменных более читабельной для сложных настроек.
Пример playbook
- hosts: leaf01
roles:
- cumuluslinux
vars:
cl_license: [email protected]|thequickbrownfoxjumpsoverthelazydog312
cl_hostname: leaf01
cl_time_zone: Europe/Paris
cl_time_ntp_servers:
- 0.cumulusnetworks.pool.ntp.org iburst
- 1.cumulusnetworks.pool.ntp.org
- 2.cumulusnetworks.pool.ntp.org
- 3.cumulusnetworks.pool.ntp.org
cl_time_ntp_source: eth1
cl_locales:
- en_US.UTF-8 UTF-8
- fr_FR.UTF-8 UTF-8
cl_dns_nameserver:
ipv4:
- 9.9.9.9
- 1.1.1.1
ipv6:
- 2620:fe::fe
cl_interface:
swp1:
ip:
address: 192.168.1.1/24
link:
speed: 100
swp2:
bridge:
trunk:
vlans:
- 1-5
- 10,12
cl_snmp:
listening-address:
ip:
- 192.168.1.10
- 192.168.1.20
readonly-community:
my_rocommunity:
access: any
cl_commands:
add:
vrf: mgmt
del:
snmp-server: all
cl_syslog:
ipv4:
- ip: 192.168.1.10
port: 5000
proto: tcp
- ip: 192.168.1.20
port: 6000
ipv6:
- ip: 2001:db8::1
port: 5000
cl_bond:
uplink:
bond:
slaves:
- swp1
- swp2
cl_vlan:
100:
ip:
adress:
- 10.10.10.0/24
Лицензия
MIT
Информация об авторе
Отзывы, сообщения об ошибках, запросы и т.д.
Установить
ansible-galaxy install maxlareo/ansible-cumuluslinux
Лицензия
mit
Загрузки
106
Владелец