diff options
author | Matt Martz <matt@sivel.net> | 2022-09-29 18:55:11 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-09-29 16:55:11 -0700 |
commit | 351fa03bc9612033b0dfe9442045578398dd7ab7 (patch) | |
tree | 5de76522d6d798c0371b1f97a39867570d218188 | |
parent | 0d68ce2efb71eaf4f5c9f402670f79e9c80a52a3 (diff) | |
download | ansible-351fa03bc9612033b0dfe9442045578398dd7ab7.tar.gz |
[stable-2.12] Add ssh_args and friends back, add var for proxy_command (#78826) (#78838)
* [stable-2.12] 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 2436213594..e394694955 100644 --- a/lib/ansible/plugins/connection/paramiko_ssh.py +++ b/lib/ansible/plugins/connection/paramiko_ssh.py @@ -76,6 +76,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: 'TODO: write it' @@ -253,9 +292,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)) @@ -273,7 +312,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: |