diff options
author | Matt Martz <matt@sivel.net> | 2022-09-29 18:56:13 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-09-29 16:56:13 -0700 |
commit | 1a7f3b403c9f001db6a52e2f348000e2cadb1c83 (patch) | |
tree | 6b85bd3294c2270b85126818ae93ed67ccbdef97 | |
parent | 45abd5b685104d4fa0d5a6501456b5a5372dfeef (diff) | |
download | ansible-1a7f3b403c9f001db6a52e2f348000e2cadb1c83.tar.gz |
[stable-2.13] Add ssh_args and friends back, add var for proxy_command (#78826) (#78837)
* [stable-2.13] Add ssh_args and friends back, add var for proxy_command (#78826)
Fixes #78750
(cherry picked from commit 1b47def)
Co-authored-by: Matt Martz <matt@sivel.net>
* Remove non-backportable changes
(cherry picked from commit ba2938a388c065da7897aceb2d0890a656957cd3)
-rw-r--r-- | changelogs/fragments/78750-paramiko-ssh-args-compat.yml | 3 | ||||
-rw-r--r-- | lib/ansible/plugins/connection/paramiko_ssh.py | 47 |
2 files changed, 46 insertions, 4 deletions
diff --git a/changelogs/fragments/78750-paramiko-ssh-args-compat.yml b/changelogs/fragments/78750-paramiko-ssh-args-compat.yml new file mode 100644 index 0000000000..6c45ba8d94 --- /dev/null +++ b/changelogs/fragments/78750-paramiko-ssh-args-compat.yml @@ -0,0 +1,3 @@ +bugfixes: +- paramiko - Add back support for ``ssh_args``, ``ssh_common_args``, and ``ssh_extra_args`` for parsing the ``ProxyCommand`` + (https://github.com/ansible/ansible/issues/78750) diff --git a/lib/ansible/plugins/connection/paramiko_ssh.py b/lib/ansible/plugins/connection/paramiko_ssh.py index 8e75adfa0e..fad2d7a242 100644 --- a/lib/ansible/plugins/connection/paramiko_ssh.py +++ b/lib/ansible/plugins/connection/paramiko_ssh.py @@ -79,6 +79,45 @@ DOCUMENTATION = """ env: [{name: ANSIBLE_PARAMIKO_PROXY_COMMAND}] ini: - {key: proxy_command, section: paramiko_connection} + ssh_args: + description: Only used in parsing ProxyCommand for use in this plugin. + default: '' + ini: + - section: 'ssh_connection' + key: 'ssh_args' + env: + - name: ANSIBLE_SSH_ARGS + vars: + - name: ansible_ssh_args + version_added: '2.7' + ssh_common_args: + description: Only used in parsing ProxyCommand for use in this plugin. + ini: + - section: 'ssh_connection' + key: 'ssh_common_args' + version_added: '2.7' + env: + - name: ANSIBLE_SSH_COMMON_ARGS + version_added: '2.7' + vars: + - name: ansible_ssh_common_args + cli: + - name: ssh_common_args + default: '' + ssh_extra_args: + description: Only used in parsing ProxyCommand for use in this plugin. + vars: + - name: ansible_ssh_extra_args + env: + - name: ANSIBLE_SSH_EXTRA_ARGS + version_added: '2.7' + ini: + - key: ssh_extra_args + section: ssh_connection + version_added: '2.7' + cli: + - name: ssh_extra_args + default: '' pty: default: True description: 'SUDO usually requires a PTY, True to give a PTY and False to not give a PTY.' @@ -254,9 +293,9 @@ class Connection(ConnectionBase): proxy_command = None # Parse ansible_ssh_common_args, specifically looking for ProxyCommand ssh_args = [ - getattr(self._play_context, 'ssh_extra_args', '') or '', - getattr(self._play_context, 'ssh_common_args', '') or '', - getattr(self._play_context, 'ssh_args', '') or '', + self.get_option('ssh_extra_args'), + self.get_option('ssh_common_args'), + self.get_option('ssh_args', ''), ] args = self._split_ssh_args(' '.join(ssh_args)) @@ -274,7 +313,7 @@ class Connection(ConnectionBase): if proxy_command: break - proxy_command = proxy_command or self.get_option('proxy_command') + proxy_command = self.get_option('proxy_command') or proxy_command sock_kwarg = {} if proxy_command: |