Ansible - Playbook

Ansible - Playbook


Playbook er en fil som inneholder en rekke oppgaver som skal utføres på en eller flere enheter.
Playbook er skrevet i YAML format, så her er det viktig å ha riktig formatering.


Playbook oppsett i YAML


ansible playbook eksempel


---
- name: Nettverk versjon switcher
  hosts: switcher
  connection: network_cli
  gather_facts: no

   
  tasks:
    - name: Hent versjon fra switcher
      ios_command:
        commands: show version
      register: output

    - name: Skriv ut versjon
      debug:
        var: output     
                



Eksempel på når alt er i orden
ansible-playbook playbook_nettverk_ios_versjon.yaml --syntax-check

playbook: playbook_nettverk_ios_versjon.yaml     
                            

Eksempel på når noe er galt
ansible-playbook playbook_nettverk_ios_versjon.yaml --syntax-check
ERROR! We were unable to read either as JSON nor YAML, these are the errors we got from each:
JSON: Expecting value: line 1 column 1 (char 0)

Syntax Error while loading YAML.
  did not find expected key

The error appears to be in '/mnt/c/Git_autom8/ansible_lab/playbook_nettverk_ios_versjon.yaml': line 14, column 7, but may
be elsewhere in the file depending on the exact syntax problem.

The offending line appears to be:


      - name: Skriv ut versjon
      ^ here   
                                            


Kjøring av ansible-playbook


ansible-playbook playbook_nettverk_ios_versjon.yaml -k

Hvis du får en feilmelding som dette:

[WARNING]: ansible-pylibssh not installed, falling back to paramiko [WARNING]: ansible-pylibssh not installed, falling back to paramiko [WARNING]: ansible-pylibssh not installed, falling back to paramiko [WARNING]: ansible-pylibssh not installed, falling back to paramiko


Installer ansible-pylibssh med pip install ansible-pylibssh
Les mer om ansible-pylibssh på https://www.ansible.com/blog/new-libssh-connection-plugin-for-ansible-network/

Når playbook kjører så vil du se output som dette:
"Switch Ports Model              SW Version        SW Image              Mode   ",
"------ ----- -----              ----------        ----------            ----   ",
"*    1 8     CAT9K_VIRTUAL Q200                   CAT9K_IOSXE           INSTALL",
"",
"",
"Configuration register is 0x2102"
]
]
}
}

PLAY RECAP ************************************************************************************************************
IOS_XE_switch_3            : ok=2    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0
IOS_XE_switch_4            : ok=2    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0
IOS_switch_1               : ok=2    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0
IOS_switch_2               : ok=2    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0