I’m trying to use the ios networking modules (ios_config, ios_template etc.) and the only way I can get them to work properly is via connection: local and passing the parameters to each task via something like this
- hosts: all
connection: local
gather_facts: no
tasks:
- name: define provider
set_fact:
provider:
host: “{{ inventory_hostname }}”
username: “{{ username }}”
password: “{{ password }}”
auth_pass: “{{ auth_pass }}”
authorize: “{{ authorize }}”
backup: “{{ backup }}”
1.) Is there a way to use standard SSH AND pass the ios module specific parameters such as auth_pass? Whatever I do, whether I place the username, password or auth_pass variables in inventory, play or host variables, it ignores them and connects with no user.
2.) Using the current method I understand its paramiko under the hood. This has a MAJOR problem where each task keeps its SSH connection open and does not close it. How do I get it to close the SSH connection and not fill uip my devices? This is a major issue as network devices normally restrict to several concurrent connections.
Note this is also relevant to the Arista (EOS) templates.
Thanks