diff --git a/changelogs/fragments/escalate_priv_before_terminal.yaml b/changelogs/fragments/escalate_priv_before_terminal.yaml new file mode 100644 index 00000000000..8b48c3b691a --- /dev/null +++ b/changelogs/fragments/escalate_priv_before_terminal.yaml @@ -0,0 +1,3 @@ +--- +bugfixes: + - network_cli connection plugin - Perform privilege escalation before setting terminal. diff --git a/lib/ansible/plugins/connection/network_cli.py b/lib/ansible/plugins/connection/network_cli.py index d7ca6c8c905..4f23395fb3a 100644 --- a/lib/ansible/plugins/connection/network_cli.py +++ b/lib/ansible/plugins/connection/network_cli.py @@ -480,14 +480,14 @@ class Connection(NetworkConnectionBase): self.receive(prompts=terminal_initial_prompt, answer=terminal_initial_answer, newline=newline, check_all=check_all) - self.queue_message('vvvv', 'firing event: on_open_shell()') - self._terminal.on_open_shell() - if self._play_context.become: self.queue_message('vvvv', 'firing event: on_become') auth_pass = self._play_context.become_pass self._terminal.on_become(passwd=auth_pass) + self.queue_message('vvvv', 'firing event: on_open_shell()') + self._terminal.on_open_shell() + self.queue_message('vvvv', 'ssh connection has completed successfully') return self