Strona 1 z 1
Ansible - Cisco interfaces
: 20 maja 2019, 11:19
autor: qligowski
Witam,
Ostatnio staram sie robic wszystko Ansiblem, Jenkinsem, Jinja2 i Gitem i natknalem sie na sciane. Pchalem ustawienia qos do kilkudziesieciu switchy w jednej z lokalizacji i niestety modele roznia sie interfejsami. Jedne sa Fa0/1 , Gig1/0/1 , Gig0/1, w jednych range dziala z '-' ze spacja, w innych bez itp. itd. Zrobilem dirty 'workaround' i wsadzilem wszystkie mozliwe konfiguracje interfasow w playbooka i dodalem 'ignore_erros: true' tak zeby wsadzilo az znajdzie ten wlasciwy, lecz ta metoda zajmuje strasznie duzo czasu i jeden plabyook zajal pare godzin. Czy jest jakas poprawna metoda robienia tego tak zeyb zaaplikowac konfiguracje do wszystkich interfasow jakie switch/router posiada bez sztywnego podawania wszystkich zmiennych? Moze jest jakas 'magic variable' ,ktora 'wykrywa' wszystkie interfejsy urzadzenia w Ansible o ktorej nie wiem? Mam nadzieje ze wiecie o co chodzi.
Re: Ansible - Cisco interfaces
: 20 maja 2019, 11:50
autor: martino76
Witam,
Mozesz uzyc
lub
gdzie oba moduly zwracaja dict
Jesli masz innych vendorow, tez posiadaja takie moduly. Pozniej mozysz zrobic z tym co chcesz, uzyc set_facts, when itd.,
A nie mozesz uzyc host_vars i stworzyc sobie jakas zmiena dla kazdego host z odpowiednim interfejsem na ktorym chcesz zapiac QOS? Ewentualnie mozesz uzyc pugin filter i stworzyc sobie cos w Python.
Pozdro,
Re: Ansible - Cisco interfaces
: 20 maja 2019, 14:40
autor: qligowski
Dzieki!
Oto przykladowy playbook - moze komus sie przyda
Kod: Zaznacz cały
---
- name: Get interfaces
hosts: test
connection: local
gather_facts: no
tasks:
- name: Get facts
ios_facts:
host: "{{ inventory_hostname }}"
gather_subset: "interfaces"
- name: Apply qos
ios_config:
lines:
- mls qos trust dscp
- priority-queue out
- srr-queue bandwidth share 10 10 60 20
- srr-queue bandwidth shape 10 0 0 0
parents: interface {{ item.key }}
with_dict: "{{ ansible_net_interfaces }}"
Re: Ansible - Cisco interfaces
: 20 maja 2019, 15:42
autor: martino76
Od wersji 2.5 jest dostępny loop, który jest rekomendowany zamiast with_*. Myślę, ze z czasem with_* będzie całkowicie usunite z Ansible.
Pozdro,
Re: Ansible - Cisco interfaces
: 21 maja 2019, 11:40
autor: peper
martino76 pisze: ↑20 maja 2019, 15:42
Od wersji 2.5 jest dostępny loop, który jest rekomendowany zamiast with_*. Myślę, ze z czasem with_* będzie całkowicie usunite z Ansible.
Pozdro,
Będzie chociaż jest to dłuższy cykl niż normalny cykl 3 wydań.
PS. Bawcie się stworzonymi przeze mnie modułami, Ansible 2.8 wyszło parę dni temu
Re: Ansible - Cisco interfaces
: 21 maja 2019, 12:52
autor: martino76
peper pisze: ↑21 maja 2019, 11:40
martino76 pisze: ↑20 maja 2019, 15:42
Od wersji 2.5 jest dostępny loop, który jest rekomendowany zamiast with_*. Myślę, ze z czasem with_* będzie całkowicie usunite z Ansible.
Pozdro,
Będzie chociaż jest to dłuższy cykl niż normalny cykl 3 wydań.
PS. Bawcie się stworzonymi przeze mnie modułami, Ansible 2.8 wyszło parę dni temu
Jakimi modulami?
Re: Ansible - Cisco interfaces
: 21 maja 2019, 14:35
autor: peper
martino76 pisze: ↑21 maja 2019, 12:52
peper pisze: ↑21 maja 2019, 11:40
martino76 pisze: ↑20 maja 2019, 15:42
Od wersji 2.5 jest dostępny loop, który jest rekomendowany zamiast with_*. Myślę, ze z czasem with_* będzie całkowicie usunite z Ansible.
Pozdro,
Będzie chociaż jest to dłuższy cykl niż normalny cykl 3 wydań.
PS. Bawcie się stworzonymi przeze mnie modułami, Ansible 2.8 wyszło parę dni temu
Jakimi modulami?
docker_node
docker_node_info
docker_swarm_info
docker_host_info
plus dodatkowy kod w docker_swarm i biblioteka ansible.module_utils.docker.swarm
Re: Ansible - Cisco interfaces
: 22 maja 2019, 08:16
autor: qligowski
Pepper, a jaka jest uzytecznosc/zastosowanie Dockera albo ogolnie kontenerow w sieciach?
Re: Ansible - Cisco interfaces
: 22 maja 2019, 09:07
autor: martino76
peper pisze: ↑21 maja 2019, 14:35
martino76 pisze: ↑21 maja 2019, 12:52
peper pisze: ↑21 maja 2019, 11:40
Będzie chociaż jest to dłuższy cykl niż normalny cykl 3 wydań.
PS. Bawcie się stworzonymi przeze mnie modułami, Ansible 2.8 wyszło parę dni temu
Jakimi modulami?
docker_node
docker_node_info
docker_swarm_info
docker_host_info
plus dodatkowy kod w docker_swarm i biblioteka ansible.module_utils.docker.swarm
Nie bawiłem się, ale ogólnie odchodzę od ansible na rzecz python+nornir
Pozdro,
Re: Ansible - Cisco interfaces
: 22 maja 2019, 11:26
autor: peper
nornir to niestety jeszcze dość ubogi jest