The way to reset the connection in Ansible is to run - meta: reset_connection
This will delete the existing control persist socket so the subsequent task will use a new connection. On Saturday, March 27, 2021 at 10:36:26 AM UTC+10 needabettername wrote: > My explanation in the first message wasn't great - apologies. > Just to be clear... > > In a playbook... > > > 1. A Tasks changes remote shell on windows system (ansible_shell_type) > from powershell to cmd > Subsequent tasks then run but have the opposite results as if the > shell hasn't been changed > 2. win_ping using powershell - success - when it should fail > 3. win_ping using cmd shell - failure - when it should work, as we've > changed the shell in 1 > > > Just been reading about multiplexing, sounded a likely culprit so I set > > ansible.cfg > [ssh_connection] > -o ControlMaster=no > > But no change, it's still hanging onto it's old shell despite having been > changed. > Or I'm tired and misreading something > On Saturday, 27 March 2021 at 00:06:31 UTC needabettername wrote: > >> Trying to make a dual boot script and came across these results, the >> shell is changed during the playbook but subsequent tasks are somehow using >> the old one. >> >> How can I force a new connection please? >> >> 1) Change shell to cmd -Success >> win_ping using powershell - success >> win_ping using cmd - failure >> >> The reverse is true when changing it back. >> I've confimed the shells are changing by normal ssh from CLI >> >> --Part of Playbook-- >> --- >> - hosts: happy >> gather_facts: no >> ignore_unreachable: true >> ignore_errors: true >> tasks: >> - include_tasks: win_shell_cmd.yml >> vars: >> become: yes >> ansible_connection: ssh >> ansible_shell_type: powershell >> become_method: runas >> - name: win_ping using ansible_shell_type powershell >> win_ping: >> vars: >> become: yes >> ansible_connection: ssh >> ansible_shell_type: powershell >> become_method: runas >> - name: win_ping using ansible_shell_type cmd >> win_ping: >> vars: >> become: yes >> ansible_connection: ssh >> ansible_shell_type: cmd >> become_method: runas >> >> --- win_shell_cmd.yml --- >> - name: set the default shell to cmd >> win_regedit: >> path: HKLM:\SOFTWARE\OpenSSH >> name: DefaultShell >> state: absent >> > -- You received this message because you are subscribed to the Google Groups "Ansible Project" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/efeb849a-3d5d-48e0-888d-574fe5ed5bean%40googlegroups.com.
