Aangezien ansible een configuratie tool is wilde ik proberen of het daarom mogelijk was om via ansible daar iets mee te doen.
Ik ga ervan uit dat er een user ansible is op de master en dat ansible geinstalleerd is.
Verder moet ook het admin wachtwoord van de Dell switches bekend zijn. En moet je een Dell Open Managed switch hebben.
Daarna kunnen we verder.
Ten eerste moet je zorgen dat er op de Dell switches een gebruiker ansible aangemaakt wordt die via een key kan inloggen. Dit kan je doen door 1 malig op de Dell switches met de administrator gegevens in te loggen
ssh admin@<ip_switch>
of
ssh root@<ip_switch>
en het daarbij behorende wachtwoord.
Als je ingelogd bent dan voer je de volgende regels uit:
enable config username "ansible" password <encrypted password> privilege 1 encrypted crypto key pubkey-chain ssh user-key "ansible" rsa key-string row "<ansible key>" exit exit ip ssh pubkey-auth exit exit
De ansible key is terug te vinden op de “master” in id_rsa.pub van de ansible user. Deze vul je dus in op de regel die begint met key-string.
Om te testen of het werkt voer je op de master het volgende commando uit:
ssh ansible@<ip_switch>
Als alles goed is ingesteld, zou er nu niet om een wachtwoord moeten worden gevraagd. Als dat zo is, dan kunnen we verder met het maken van een playbook.
Het playbook wat ik gemaakt heb, is redelijk simpel. We gaan er voor zorgen dat de running config gekopieerd wordt naar de startup config.
Het playbook ziet er als volgt uit:
--- - hosts: dellswitches become: yes become_user: ansible connection: local gather_facts: yes tasks: - name: Enable dellos6_command: commands: - enable - name: Copy running config to startup config dellos6_command: commands: - command: copy running-config startup-config prompt: '\(y/n\)\s?$' answer: "y"
Misschien moeten er nog enkele dingen worden aangepast. Zo is hosts natuurlijk afhankelijk van de inventory file.
De module dellos6_command is natuurlijk afhankelijk van de firmware van de Dell switch. In mijn geval was dat versie 6.
Dit is zoals ik al schreef een relatief simple playbook, maar met de dell modules is nog veel meer mogelijk. Meer info over de modules is te vinden op:
https://readthedocs.org/projects/ansible-dellos-docs/downloads/pdf/latest/