# 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