From 4bf506f683b9fdfcc79dc3733956d6c05bc517a4 Mon Sep 17 00:00:00 2001 From: James Cammarata Date: Thu, 5 Sep 2013 12:04:48 -0500 Subject: [PATCH] Always run the accelerate module as the user specified in the play Currently, the accelerate daemon will be run as the sudo_user if specified, which is incorrect. --- lib/ansible/runner/__init__.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/ansible/runner/__init__.py b/lib/ansible/runner/__init__.py index 46f38816ac..439bd86cbb 100644 --- a/lib/ansible/runner/__init__.py +++ b/lib/ansible/runner/__init__.py @@ -349,7 +349,14 @@ class Runner(object): if not self.sudo or self.sudo_user == 'root': # not sudoing or sudoing to root, so can cleanup files in the same step cmd = cmd + "; rm -rf %s >/dev/null 2>&1" % tmp - res = self._low_level_exec_command(conn, cmd, tmp, sudoable=True) + + sudoable = True + if module_name == "accelerate": + # always run the accelerate module as the user + # specified in the play, not the sudo_user + sudoable = False + + res = self._low_level_exec_command(conn, cmd, tmp, sudoable=sudoable) if self.sudo and self.sudo_user != 'root': # not sudoing to root, so maybe can't delete files as that other user