Dell switch configuratie via ansible

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/