maxlareo.cumuluslinux
CumulusLinux
Rola Ansible do zarządzania Cumulus Linux przez moduł NCLU.
Wymagania
Tylko wersja Cumulus Linux 3.2+; wcześniejsze wersje nie obsługują NCLU.
Zmienne Roli
Zmienna | Opis | Typ | Domyślna wartość |
---|---|---|---|
cl_license |
Licencja CumulusLinux | String | '' |
cl_hostname |
Nazwa hosta urządzenia | String | cumulus |
cl_time_zone |
Strefa czasowa | String | Etc/UTC |
cl_time_ntp_servers |
Lista serwerów NTP, możliwość dodania opcji iburst | Tablica | [] |
cl_time_ntp_source |
Interfejs źródłowy NTP | String | eth0 |
cl_locales |
Włączenie języka z locale-gen | Tablica | [] |
cl_dns_nameserver |
Serwer DNS z dwóch podtablic ipv4 i ipv6 | Hasz | {} |
cl_commands |
Atomiczne komendy nclu Ansible używające rekursywnego przeszukiwania, pozwala na usuwanie/dodawanie akcji, wykonywane jako pierwsze | Hasz | {} |
cl_snmp |
Ustawienia snmp-server z net add snmp-server używając rekursywnego przeszukiwania |
Hasz | {} |
cl_syslog |
Ustawienia syslog z dwóch podtablic haszy ipv4 i ipv6, każdy wpis wymaga ip + port, opcjonalnie też proto(udp/tcp) | Hasz | {} |
cl_interface |
Ustawienia interfejsu z net add interface używając rekursywnego przeszukiwania |
Hasz | {} |
cl_bond |
Ustawienia bond z net add bond używając rekursywnego przeszukiwania |
Hasz | {} |
cl_vlan |
Ustawienia vlan z net add vlan używając rekursywnego przeszukiwania |
Hasz | {} |
Zależności
Brak
Niestandardowe Przeszukiwanie
Rekursywne
Aby zarządzać konfiguracją interfejsu Cumulus Linux z Ansible, napisałem wtyczkę przeszukującą, która pozwala stworzyć zmienne z hasza i rekursywnie przeszukuje zagnieżdżony hasz, aby przekształcić go w listę stringów.
Każda z głębokości w zmiennych zostanie dodana do komendy nclu w następujący sposób:
zmienna:
cl_interface:
swp1:
ip:
address: 192.168.1.1/24
link:
speed: 100
swp2:
bridge:
trunk:
vlans:
- 1-5
- 10,12
wyniki:
swp1 ip address 192.168.1.1/24
swp2 bridge trunk vlans 1-5
swp2 bridge trunk vlans 10,12
Dzięki temu struktura zmiennych jest bardziej czytelna dla skomplikowanych ustawień.
Przykładowa Książeczka
- 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
Licencja
MIT
Informacje o Autorze
Opinie, raporty błędów, prośby ...
Są mile widziane !
Zainstaluj
ansible-galaxy install maxlareo.cumuluslinux
Licencja
mit
Pobrania
119
Właściciel