|
|
|
# issue #76, #370: ensure context state is forgotten on disconnect, including
|
|
|
|
# state of dependent contexts (e.g. sudo, connection delegation, ..).
|
|
|
|
|
|
|
|
- name: integration/context_service/disconnect_cleanup.yml
|
|
|
|
hosts: test-targets[0]
|
|
|
|
any_errors_fatal: true
|
|
|
|
tasks:
|
|
|
|
- meta: end_play
|
|
|
|
when: not is_mitogen
|
|
|
|
|
|
|
|
- meta: end_play
|
|
|
|
when:
|
|
|
|
- ansible_version.full is version('2.5.6', '<', strict=True)
|
|
|
|
|
|
|
|
# Start with a clean slate.
|
|
|
|
- mitogen_shutdown_all:
|
|
|
|
|
|
|
|
# TODO: https://github.com/dw/mitogen/issues/695
|
|
|
|
# # Connect a few users.
|
|
|
|
# - shell: "true"
|
|
|
|
# become: true
|
|
|
|
# become_user: "mitogen__user{{item}}"
|
|
|
|
# with_items: [1, 2, 3]
|
|
|
|
|
|
|
|
# # Verify current state.
|
|
|
|
# - mitogen_action_script:
|
|
|
|
# script: |
|
|
|
|
# self._connection._connect()
|
|
|
|
# result['dump'] = self._connection.get_binding().get_service_context().call_service(
|
|
|
|
# service_name='ansible_mitogen.services.ContextService',
|
|
|
|
# method_name='dump'
|
|
|
|
# )
|
|
|
|
# register: out
|
|
|
|
|
|
|
|
# - assert:
|
|
|
|
# that: out.dump|length == (play_hosts|length) * 4 # ssh account + 3 sudo accounts
|
|
|
|
|
|
|
|
# - meta: reset_connection
|
|
|
|
|
|
|
|
# # Verify current state.
|
|
|
|
# - mitogen_action_script:
|
|
|
|
# script: |
|
|
|
|
# self._connection._connect()
|
|
|
|
# result['dump'] = self._connection.get_binding().get_service_context().call_service(
|
|
|
|
# service_name='ansible_mitogen.services.ContextService',
|
|
|
|
# method_name='dump'
|
|
|
|
# )
|
|
|
|
# register: out
|
|
|
|
|
|
|
|
# - assert:
|
|
|
|
# that: out.dump|length == play_hosts|length # just the ssh account
|
|
|
|
tags:
|
|
|
|
- disconnect_cleanup
|