Working with network connection options
Network modules can support multiple connection protocols, such as ansible.netcommon.network_cli, ansible.netcommon.netconf, and ansible.netcommon.httpapi. These connections include some common options you can set to control how the connection to your network device behaves.
Common options are:
- become and become_method as described in Privilege Escalation: enable mode, become, and authorize.
- network_os - set to match your network platform you are communicating with. See the platform-specific pages.
- remote_user as described in Setting a remote user.
- Timeout options - persistent_command_timeout, persistent_connect_timeout, and timeout.
Setting timeout options
When communicating with a remote device, you have control over how long Ansible maintains the connection to that device, as well as how long Ansible waits for a command to complete on that device. Each of these options can be set as variables in your playbook files, environment variables, or settings in your ansible.cfg file.
For example, the three options for controlling the connection timeout are as follows.
Using vars (per task):
- name: save running-config cisco.ios.ios_command: commands: copy running-config startup-config vars: ansible_command_timeout: 30Using the environment variable:
$export ANSIBLE_PERSISTENT_COMMAND_TIMEOUT=30Using the global configuration (in ansible.cfg)
[persistent_connection ] command_timeout = 30See Variable precedence: Where should I put a variable? for details on the relative precedence of each of these variables. See the individual connection type to understand each option.
Next Previous