跳转到主要内容

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.
  • network_os - set to match your network platform you are communicating with. See the platform-specific <platform_options> pages.
  • remote_user as described in connection_set_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 <ansible_configuration_settings>.

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: 30

Using the environment variable:

$export ANSIBLE_PERSISTENT_COMMAND_TIMEOUT=30

Using the global configuration (in ansible.cfg)

[persistent_connection]
command_timeout = 30

See ansible_variable_precedence for details on the relative precedence of each of these variables. See the individual connection type to understand each option.