diff --git a/lib/ansible/runner/__init__.py b/lib/ansible/runner/__init__.py index 6d4feaf7fda..e9e2fd96494 100644 --- a/lib/ansible/runner/__init__.py +++ b/lib/ansible/runner/__init__.py @@ -384,6 +384,7 @@ class Runner(object): interpreters.append(i) for i in interpreters: del inject[i] + port = C.DEFAULT_REMOTE_PORT try: delegate_info = inject['hostvars'][delegate_to] actual_host = delegate_info.get('ansible_ssh_host', delegate_to) @@ -393,6 +394,7 @@ class Runner(object): inject[i] = delegate_info[i] except errors.AnsibleError: actual_host = delegate_to + actual_port = port try: if actual_port is not None: diff --git a/test/TestPlayBook.py b/test/TestPlayBook.py index efce43a9835..dd4eb6ab40f 100644 --- a/test/TestPlayBook.py +++ b/test/TestPlayBook.py @@ -160,12 +160,19 @@ class TestPlaybook(unittest.TestCase): actual = self._run(pb, 'test/alias_hosts') expected = { "alias-node.example.com": { - "changed": 3, + "changed": 5, "failures": 0, - "ok": 4, + "ok": 6, "skipped": 1, "unreachable": 0, - } + }, + "other-alias-node.example.com": { + "changed": 1, + "failures": 0, + "ok": 1, + "skipped": 0, + "unreachable": 1, + }, } assert utils.jsonify(expected, format=True) == utils.jsonify(actual, format=True) diff --git a/test/alias_hosts b/test/alias_hosts index 1b8081a2bb6..e0ea9ec153a 100644 --- a/test/alias_hosts +++ b/test/alias_hosts @@ -1,2 +1,4 @@ +other-alias-node.example.com ansible_ssh_host=localhost ansible_ssh_port=28848 + [aliasgroup] -alias-node.example.com ansible_ssh_host=localhost ansible_ssh_port=22 +alias-node.example.com ansible_ssh_host=localhost diff --git a/test/alias_playbook.yml b/test/alias_playbook.yml index c3a5e448cf5..889862c11e3 100644 --- a/test/alias_playbook.yml +++ b/test/alias_playbook.yml @@ -1,5 +1,5 @@ --- -- hosts: all +- hosts: aliasgroup vars: test_file: /tmp/ansible-alias-test tasks: @@ -7,3 +7,10 @@ - action: command creates=$test_file false - local_action: command true - action: command removes=$test_file rm -f $test_file + +- hosts: all + gather_facts: False + tasks: + - action: command true + delegate_to: alias-node.example.com + - action: command true