dont specify default for port, allow ssh/config (#74526)
* dont specify default for port, allow ssh/config also added general note on how defaults work. Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com> Co-authored-by: Sam Doran <sdoran@redhat.com>
This commit is contained in:
parent
d101009688
commit
30912b6a47
5 changed files with 39 additions and 1 deletions
2
changelogs/fragments/ssh_port_default_fix.yml
Normal file
2
changelogs/fragments/ssh_port_default_fix.yml
Normal file
|
@ -0,0 +1,2 @@
|
|||
bugfixes:
|
||||
- Remove 'default' from ssh plugin as we want to rely on default from ssh itself or ssh/config.
|
|
@ -19,6 +19,9 @@ DOCUMENTATION = '''
|
|||
extends_documentation_fragment:
|
||||
- connection_pipelining
|
||||
version_added: historical
|
||||
notes:
|
||||
- Many options default to 'None' here but that only means we don't override the ssh tool's defaults and/or configuration.
|
||||
For example, if you specify the port in this plugin it will override any C(Port) entry in your C(.ssh/config).
|
||||
options:
|
||||
host:
|
||||
description: Hostname/ip to connect to.
|
||||
|
@ -181,7 +184,6 @@ DOCUMENTATION = '''
|
|||
port:
|
||||
description: Remote port to connect to.
|
||||
type: int
|
||||
default: 22
|
||||
ini:
|
||||
- section: defaults
|
||||
key: remote_port
|
||||
|
|
|
@ -0,0 +1,29 @@
|
|||
- hosts: ssh
|
||||
gather_facts: false
|
||||
vars:
|
||||
ansible_connection: ssh
|
||||
ansible_ssh_timeout: 10
|
||||
tasks:
|
||||
- name: contain the maddness
|
||||
block:
|
||||
- name: test all is good
|
||||
ping:
|
||||
|
||||
- name: start the fun
|
||||
meta: reset_connection
|
||||
|
||||
- name: now test we can use wrong port from ssh/config
|
||||
ping:
|
||||
ignore_unreachable: True
|
||||
vars:
|
||||
ansible_ssh_args: "-F {{playbook_dir}}/files/port_overrride_ssh.cfg"
|
||||
register: expected
|
||||
|
||||
- name: check all is as expected
|
||||
assert:
|
||||
that:
|
||||
- expected['unreachable']|bool
|
||||
- "'2222' in expected['msg']"
|
||||
always:
|
||||
- name: make sure we don't cache the bad connection
|
||||
meta: reset_connection
|
|
@ -0,0 +1,2 @@
|
|||
Host *
|
||||
Port 2222
|
|
@ -65,3 +65,6 @@ fi
|
|||
ANSIBLE_SCP_IF_SSH=true ./posix.sh "$@" "${scp_args[@]}"
|
||||
# piped
|
||||
ANSIBLE_SSH_TRANSFER_METHOD=piped ./posix.sh "$@"
|
||||
|
||||
# test config defaults override
|
||||
ansible-playbook check_ssh_defaults.yml "$@" -i test_connection.inventory
|
||||
|
|
Loading…
Reference in a new issue