ensure local exposes correct user (#72543)
* ensure local exposes correct user avoid corner case in which delegation relied on playcontext fallback which was removed fixes #72541
This commit is contained in:
parent
de5858f48d
commit
aa4d53ccdf
5 changed files with 17 additions and 2 deletions
2
changelogs/fragments/ensure_local_user_correctness.yml
Normal file
2
changelogs/fragments/ensure_local_user_correctness.yml
Normal file
|
@ -0,0 +1,2 @@
|
|||
bugfixes:
|
||||
- ensure 'local' connection always has the correct default user for actions to consume.
|
|
@ -44,13 +44,14 @@ class Connection(ConnectionBase):
|
|||
|
||||
super(Connection, self).__init__(*args, **kwargs)
|
||||
self.cwd = None
|
||||
self.default_user = getpass.getuser()
|
||||
|
||||
def _connect(self):
|
||||
''' connect to the local host; nothing to do here '''
|
||||
|
||||
# Because we haven't made any remote connection we're running as
|
||||
# the local user, rather than as whatever is configured in remote_user.
|
||||
self._play_context.remote_user = getpass.getuser()
|
||||
self._play_context.remote_user = self.default_user
|
||||
|
||||
if not self._connected:
|
||||
display.vvv(u"ESTABLISH LOCAL CONNECTION FOR USER: {0}".format(self._play_context.remote_user), host=self._play_context.remote_addr)
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
- name: handle case from issue 72541
|
||||
hosts: testhost
|
||||
gather_facts: false
|
||||
remote_user: root
|
||||
tasks:
|
||||
- name: ensure we copy w/o errors due to remote user not being overriden
|
||||
copy:
|
||||
src: testfile
|
||||
dest: "{{ playbook_dir }}"
|
||||
delegate_to: localhost
|
1
test/integration/targets/delegate_to/files/testfile
Normal file
1
test/integration/targets/delegate_to/files/testfile
Normal file
|
@ -0,0 +1 @@
|
|||
nothing special
|
|
@ -73,3 +73,4 @@ ansible-playbook verify_interpreter.yml -i inventory_interpreters -v "$@"
|
|||
ansible-playbook discovery_applied.yml -i inventory -v "$@"
|
||||
ansible-playbook resolve_vars.yml -i inventory -v "$@"
|
||||
ansible-playbook test_delegate_to_lookup_context.yml -i inventory -v "$@"
|
||||
ansible-playbook delegate_local_from_root.yml -i inventory -v "$@" -e 'ansible_user=root'
|
||||
|
|
Loading…
Reference in a new issue