diff --git a/lib/ansible/playbook/play_context.py b/lib/ansible/playbook/play_context.py index 669584b051..27c84fa284 100644 --- a/lib/ansible/playbook/play_context.py +++ b/lib/ansible/playbook/play_context.py @@ -551,9 +551,9 @@ class PlayContext(Base): exe = self.become_exe or 'dzdo' if self.become_pass: prompt = '[dzdo via ansible, key=%s] password: ' % randbits - becomecmd = '%s -p %s -u %s %s' % (exe, shlex_quote(prompt), self.become_user, command) + becomecmd = '%s %s -p %s -u %s %s' % (exe, flags, shlex_quote(prompt), self.become_user, command) else: - becomecmd = '%s -u %s %s' % (exe, self.become_user, command) + becomecmd = '%s %s -u %s %s' % (exe, flags, self.become_user, command) elif self.become_method == 'pmrun': diff --git a/test/units/playbook/test_play_context.py b/test/units/playbook/test_play_context.py index 47b6958231..f77c53ff1c 100644 --- a/test/units/playbook/test_play_context.py +++ b/test/units/playbook/test_play_context.py @@ -119,6 +119,7 @@ def test_play_context_make_become_cmd(parser): ksu_exe = 'ksu' ksu_flags = '' dzdo_exe = 'dzdo' + dzdo_flags = '' cmd = play_context.make_become_cmd(cmd=default_cmd, executable=default_exe) assert cmd == default_cmd @@ -167,11 +168,11 @@ def test_play_context_make_become_cmd(parser): play_context.become_method = 'dzdo' cmd = play_context.make_become_cmd(cmd=default_cmd, executable="/bin/bash") - assert cmd == """%s -u %s %s -c 'echo %s; %s'""" % (dzdo_exe, play_context.become_user, default_exe, play_context.success_key, default_cmd) + assert cmd == """%s %s -u %s %s -c 'echo %s; %s'""" % (dzdo_exe, dzdo_flags, play_context.become_user, default_exe, play_context.success_key, default_cmd) play_context.become_pass = 'testpass' play_context.become_method = 'dzdo' cmd = play_context.make_become_cmd(cmd=default_cmd, executable="/bin/bash") - assert (cmd == """%s -p %s -u %s %s -c 'echo %s; %s'""" % (dzdo_exe, shlex_quote(play_context.prompt), - play_context.become_user, default_exe, - play_context.success_key, default_cmd)) + assert (cmd == """%s %s -p %s -u %s %s -c 'echo %s; %s'""" % (dzdo_exe, dzdo_flags, shlex_quote(play_context.prompt), + play_context.become_user, default_exe, + play_context.success_key, default_cmd))