Ansible: Ejecutar multiples comandos en CLI en multiples dispositiovs (ideal para Inventariado de assets!)
1. Definir los hosts que nos conectaremos via SSH
root@angel-pc:/etc/ansible# nano hosts
[devices]
192.168.1.10
192.168.1.20
[devices:vars]
ansible_python_interpreter=/usr/bin/python3
ansible_connection=network_cli
ansible_network_os=ios
ansible_ssh_user=<usuario_ssh>
ansible_ssh_pass=<password_ssh>
2. Crear script donde ejecutaremos 5 comados CLI por cada IP/Host que nos conectemos via SSH (Estos son los comandos a ejecutar)
show version
show ip int brief
show cdp nei
show ip route
show inventory
root@angel-pc:/etc/ansible/show_version# nano show_version_ciscoios_ansible.yml
---
- hosts: all
gather_facts: false
tasks:
- name: SHOW VERSION
cisco.ios.ios_command:
commands: show version
register: print_output
- debug: var=print_output.stdout_lines
- name: SHOW IP INT BRIEF
cisco.ios.ios_command:
commands: show ip int brief
register: print_output2
- debug: var=print_output2.stdout_lines
- name: SHOW CDP NEI
cisco.ios.ios_command:
commands: show cdp nei
register: print_output3
- debug: var=print_output3.stdout_lines
- name: SHOW IP ROUTE
cisco.ios.ios_command:
commands: show ip route
register: print_output4
- debug: var=print_output4.stdout_lines
- name: SHOW INVENTORY
cisco.ios.ios_command:
commands: show inventory
register: print_output5
- debug: var=print_output5.stdout_lines
3. Ver resultado/output
Comentarios
Publicar un comentario