Ansible - Cisco interfaces
Ansible - Cisco interfaces
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.
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
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,
Mozesz uzyc
Kod: Zaznacz cały
ios_facts
Kod: Zaznacz cały
nxos_facts
Kod: Zaznacz cały
ansible_net_interfaces
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
Dzieki!
Oto przykladowy playbook - moze komus sie przyda
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
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,
Pozdro,
- peper
- CCIE / Site Admin
- Posty: 5005
- Rejestracja: 13 sie 2004, 12:19
- Lokalizacja: Warsaw, PL
- Kontakt:
Re: Ansible - Cisco interfaces
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
Szkoła DevNet: https://szkoladevnet.pl
Facebook: https://www.facebook.com/Piotr.Wojciechowski.CCIE
LinkedIn: https://www.linkedin.com/in/peper
Twitter: https://www.twitter.com/PiotrW_CCIE
"Zapomniałem że od kilku lat wszyscy giną jakby nigdy ich nie miało być
w stu tysiącach jednakowych miast giną jak psy"
Facebook: https://www.facebook.com/Piotr.Wojciechowski.CCIE
LinkedIn: https://www.linkedin.com/in/peper
Twitter: https://www.twitter.com/PiotrW_CCIE
"Zapomniałem że od kilku lat wszyscy giną jakby nigdy ich nie miało być
w stu tysiącach jednakowych miast giną jak psy"
Re: Ansible - Cisco interfaces
- peper
- CCIE / Site Admin
- Posty: 5005
- Rejestracja: 13 sie 2004, 12:19
- Lokalizacja: Warsaw, PL
- Kontakt:
Re: Ansible - Cisco interfaces
docker_node
docker_node_info
docker_swarm_info
docker_host_info
plus dodatkowy kod w docker_swarm i biblioteka ansible.module_utils.docker.swarm
Szkoła DevNet: https://szkoladevnet.pl
Facebook: https://www.facebook.com/Piotr.Wojciechowski.CCIE
LinkedIn: https://www.linkedin.com/in/peper
Twitter: https://www.twitter.com/PiotrW_CCIE
"Zapomniałem że od kilku lat wszyscy giną jakby nigdy ich nie miało być
w stu tysiącach jednakowych miast giną jak psy"
Facebook: https://www.facebook.com/Piotr.Wojciechowski.CCIE
LinkedIn: https://www.linkedin.com/in/peper
Twitter: https://www.twitter.com/PiotrW_CCIE
"Zapomniałem że od kilku lat wszyscy giną jakby nigdy ich nie miało być
w stu tysiącach jednakowych miast giną jak psy"
Re: Ansible - Cisco interfaces
Pepper, a jaka jest uzytecznosc/zastosowanie Dockera albo ogolnie kontenerow w sieciach?
Re: Ansible - Cisco interfaces
- peper
- CCIE / Site Admin
- Posty: 5005
- Rejestracja: 13 sie 2004, 12:19
- Lokalizacja: Warsaw, PL
- Kontakt:
Re: Ansible - Cisco interfaces
nornir to niestety jeszcze dość ubogi jest
Szkoła DevNet: https://szkoladevnet.pl
Facebook: https://www.facebook.com/Piotr.Wojciechowski.CCIE
LinkedIn: https://www.linkedin.com/in/peper
Twitter: https://www.twitter.com/PiotrW_CCIE
"Zapomniałem że od kilku lat wszyscy giną jakby nigdy ich nie miało być
w stu tysiącach jednakowych miast giną jak psy"
Facebook: https://www.facebook.com/Piotr.Wojciechowski.CCIE
LinkedIn: https://www.linkedin.com/in/peper
Twitter: https://www.twitter.com/PiotrW_CCIE
"Zapomniałem że od kilku lat wszyscy giną jakby nigdy ich nie miało być
w stu tysiącach jednakowych miast giną jak psy"