Support setting persistent command timeout per task basis (#42847)

* Support setting persistent command timeout per task basis

Fixes #42200

*  Add variable `ansible_command_timeout` to `persistent_command_timeout`
   option for `network_cli` and `netconf` connection plugin so that the
   command_timeout can be set per task basis while using `connection=network_cli`
   or `connection=netconf`
   eg:
   ```
   - name: run copy command
     ios_command:
       commands:
       - show version
     vars:
      ansible_command_timeout: 40
   ```

* Modify `ansible-connection` to read command_timeout value from
  connection plugin options.

* Add `ansible_command_timeout` to `persistent_command_timeout`
  option in `persistent` to support `connection=local` so that
  it is backward compatibilty

* To support `connection=local` pass the timeout value as variables
  from persistent connection to `ansible-connection` instead of sending
  it in playcontext

* Fix CI failure

* Fix review comment
This commit is contained in:
Ganesh Nalawade
2018-07-20 10:04:53 +05:30
committed by GitHub
parent 5e20ef1d89
commit 97d4e53131
25 changed files with 72 additions and 34 deletions

View File

@@ -19,4 +19,22 @@
provider: "{{ cli }}"
register: result
- name: run ios commands to test command_timeout
ios_command:
commands:
- show running-config all
- show interfaces
- show running-config all
vars:
ansible_command_timeout: 1
ignore_errors: True
register: result
when: ansible_connection == 'network_cli'
- assert:
that:
- 'result.failed == true'
- "'timeout trying to send command' in result.module_stderr"
when: ansible_connection == 'network_cli'
- debug: msg="END ios_smoke cli/misc_tests.yaml on connection={{ ansible_connection }}"