Strona 1 z 1

Ansible - jak wykonać kopię zapasową urządzeń sieciowych

: 20 sty 2018, 11:52
autor: baroo_cciepl
Chciałbym wykorzystać Ansible do wykonywania automatycznej kopii zapasowej urzadzeń sieciowych (Cisco, Dasan, Extreme). Zakładam, że zaloguję się na urządzenie przez ssh i za pomocą "command" wydam polecenie "tftp put startu-pconfig adres_serwera" z parametrami jaki mi się podobają. Pytanie tylko jak w Ansible przeskoczyć podniesienie poziomu uprawnień do trybu enabled?

Re: Ansible - jak wykonać kopię zapasową urządzeń sieciowych

: 20 sty 2018, 12:41
autor: przemekr
Ustaw wartosc parametru 'authorize' na 'yes':

Kod: Zaznacz cały

- name: enter privileged mode before issuing commands
    ios_command:
      authorize: yes
      commands:
        - your command here
      
Warto zapoznac sie z pelna dokumentacja, ktora jest dosc solidna:
http://docs.ansible.com/ansible/latest/ ... odule.html

Re: Ansible - jak wykonać kopię zapasową urządzeń sieciowych

: 20 sty 2018, 12:52
autor: lxs
parametr authorize załatwi sprawę.

Re: Ansible - jak wykonać kopię zapasową urządzeń sieciowych

: 20 sty 2018, 13:46
autor: baroo_cciepl
Ok, to jest do zrobienia w przypadku korzystania z modułu ios_command, a co w przypadku, kiedy korzystam z urządzeń innych producentów?

Re: Ansible - jak wykonać kopię zapasową urządzeń sieciowych

: 20 sty 2018, 16:13
autor: PatrykW
oxidized sprawdz, mega fajne narzedzie :)

Re: Ansible - jak wykonać kopię zapasową urządzeń sieciowych

: 20 sty 2018, 19:52
autor: baroo_cciepl
Nie szukam idealnego rozwiązania. Bardziej chciałem się poduczyć ansible i zobaczyć co to potrafi w realnym świecie.

Re: Ansible - jak wykonać kopię zapasową urządzeń sieciowych

: 20 sty 2018, 22:05
autor: przemekr
Sprawdz czy Ansible ma network module dla twojego urzadzenia: http://docs.ansible.com/ansible/latest/ ... dules.html

Jesli nie ma, to poszukaj na Ansible Galaxy: https://galaxy.ansible.com/

Moduly dla Cisco moga tez dzialac z innymi pudelkami, warto sprawdzic.

Jak nic innego nie zadziala, to mozna sprobowac dlubac z Netmiko: https://pynet.twb-tech.com/blog/automation/netmiko.html

Re: Ansible - jak wykonać kopię zapasową urządzeń sieciowych

: 21 sty 2018, 20:57
autor: geminiuss
Jesli nie masz gotowego modulu w Ansible dla danego urzadzenia to musisz go po prostu samemu napisac :-) A jak trzeba napisac modul to zwykle latwije jest napisac osobny skrypt.

Re: Ansible - jak wykonać kopię zapasową urządzeń sieciowych

: 21 sty 2018, 22:07
autor: lxs
Generalnie to po roku pisania playbooków na Ansible doszedłęm do wniosku, że to fajne narzędzie dla osób, które nie potrafia programować. Ansible jest napisany w pythonie i obudowany w YAML. Więszkość vendorów sieciowych wystawia swoje biblioteki na pythona. Siłą rzeczy Ansible opakowuje te biblioteki w pythona w role dostępne przez ansible galaxy albo natywnie wbudowane w ansible >=2.3. Ansible jednak ma przewagę, że w środowisku złożonym z wielu dostawców playbooki są tym klejem łączącym budowę środowiska w całość. Osobiście wolę podejście takie, żeby samemu pisać narzędzia fullstack. Biblioteka Cisco/Juniper + Django/flask + bootstrap/SASS + REST + React/Angular/VueJS pozwoli zbudować potężne narzędzie z własnym web UI i własną logiką. Teraz ansible jest modny za sprawą jego zastosowania w AWS, ale w świecie sieciowym moim zdaniem jest promowany na siłę.

Re: Ansible - jak wykonać kopię zapasową urządzeń sieciowych

: 22 sty 2018, 07:38
autor: kefear
Jaki jest sens wymyślać koło od nowa ? Możesz sobie zrobić Ansible + Django + REST API + ReactJS :) Coś zmieni się w API vendora i musisz przepisywac skrypty, a tak to ansible załatwia to za Ciebie.

Re: Ansible - jak wykonać kopię zapasową urządzeń sieciowych

: 22 sty 2018, 09:22
autor: lxs
kefear pisze: 22 sty 2018, 07:38 Jaki jest sens wymyślać koło od nowa ? Możesz sobie zrobić Ansible + Django + REST API + ReactJS :) Coś zmieni się w API vendora i musisz przepisywac skrypty, a tak to ansible załatwia to za Ciebie.
Jakbym chciał coś takiego, to kupiłbym Ansible Tower.
Pytanie retoryczne - Co było pierwsze? Python czy Ansible? Dla mnie Ansible jest wymyślaniem koła na nowo :D
Co do zmienności kodu, to sprawdź z czego korzysta Ansible. Jak podciągniesz biblioteki vendora do wyższej wersji i API jest niekompatybilne wstecz (co jest rzadkością), to Twój playbook również nie zadziała i też będziesz musiał przepisywać wszystko na nowo.

Re: Ansible - jak wykonać kopię zapasową urządzeń sieciowych

: 22 sty 2018, 11:32
autor: xal
lxs pisze: 22 sty 2018, 09:22
kefear pisze: 22 sty 2018, 07:38 Jaki jest sens wymyślać koło od nowa ? Możesz sobie zrobić Ansible + Django + REST API + ReactJS :) Coś zmieni się w API vendora i musisz przepisywac skrypty, a tak to ansible załatwia to za Ciebie.
Jakbym chciał coś takiego, to kupiłbym Ansible Tower.
Pytanie retoryczne - Co było pierwsze? Python czy Ansible? Dla mnie Ansible jest wymyślaniem koła na nowo :D
Co do zmienności kodu, to sprawdź z czego korzysta Ansible. Jak podciągniesz biblioteki vendora do wyższej wersji i API jest niekompatybilne wstecz (co jest rzadkością), to Twój playbook również nie zadziała i też będziesz musiał przepisywać wszystko na nowo.
Zwróć uwagę, że (Net)DevOps dopiero nabiera rozpędu w porównaniu do okresu czasu przez jaki konfigurowaliśmy sieci klasycznie, więc wpadki z niekompatybilnością będą się zdarzały, ale z upływem czasu coraz rzadziej. Python jak najbardziej OK, ale to wciąż pisanie skryptów, a każdy pisze po swojemu i jak się zmieni coś w CLI/API to też musisz zmieniać kod. Przewaga ansibla jest taka, że to narzędzie bardzo devopsowe i w jednym playbooku możesz umieścić konfigurację zarówno linuxa, nginx, itp, ale też vlanów, portów, trunków, itp. No i ta idempotentność :-) Jak chcesz to osiągnąć czystym pythonem to własnie odkrywasz koło na nowo, w dodatku kwadratowe.