You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
mitogen/tests/ansible/integration/ssh/timeouts.yml

48 lines
1.4 KiB
YAML

# Ensure 'ssh' connections time out correctly.
# mitogen__slow_user performs a long sleep in ~/.profile.
# Mitogen counts this time towards the connection timeout. Ansible doesn't.
# ansible_python_interpreter=python3000 is an optimisation, to avoid waiting
# on the timeout multiple times (e.g. interpreter discovery).
- name: integration/ssh/timeouts.yml
hosts: test-targets
gather_facts: false
tasks:
- include_tasks: ../_mitogen_only.yml
- name: Cause Ansible connection timeout
connection: local
environment:
ANSIBLE_SSH_TIMEOUT: 10
ANSIBLE_VERBOSITY: "{{ ansible_verbosity }}"
command: |
ansible
{% for inv in ansible_inventory_sources %}
-i "{{ inv }}"
{% endfor %}
"{{ inventory_hostname }}"
-m ping
-e ansible_user=mitogen__slow_user -e ansible_password=slow_user_password
-e ansible_python_interpreter=python3000
args:
chdir: ../..
register: out
changed_when: false
check_mode: false
ignore_errors: true
- name: Verify connection timeout occurred
assert:
that:
- |
'"changed": false' in out.stdout
- |
'"unreachable": true' in out.stdout
- |
'"msg": "Connection timed out."' in out.stdout
fail_msg: |
out={{ out }}
tags:
- mitogen_only
- timeouts