if users are None/empty, dont assume sameness (#58875)
(cherry picked from commit4ef2545eb5
) also fix all cases of none remote/become users (#59397) some cases failed, when defaults were None on the plugins (cherry picked from commit74ac229fa8
)
This commit is contained in:
parent
89963a0062
commit
37f8684330
2 changed files with 7 additions and 3 deletions
2
changelogs/fragments/become_none.yml
Normal file
2
changelogs/fragments/become_none.yml
Normal file
|
@ -0,0 +1,2 @@
|
|||
bugfixes:
|
||||
- Do not assume None is equal as connection and become tools can have different unspecified defaults.
|
|
@ -1035,9 +1035,11 @@ class ActionBase(with_metaclass(ABCMeta, object)):
|
|||
display.debug("_low_level_execute_command(): changing cwd to %s for this command" % chdir)
|
||||
cmd = self._connection._shell.append_command('cd %s' % chdir, cmd)
|
||||
|
||||
if (sudoable and self._connection.transport != 'network_cli' and self._connection.become and
|
||||
(C.BECOME_ALLOW_SAME_USER or
|
||||
self.get_become_option('become_user') != self._get_remote_user())):
|
||||
ruser = self._get_remote_user()
|
||||
buser = self.get_become_option('become_user')
|
||||
if (sudoable and self._connection.become and # if sudoable and have become
|
||||
self._connection.transport != 'network_cli' and # if not using network_cli
|
||||
(C.BECOME_ALLOW_SAME_USER or (buser != ruser or not any((ruser, buser))))): # if we allow same user PE or users are different and either is set
|
||||
display.debug("_low_level_execute_command(): using become for this command")
|
||||
cmd = self._connection.become.build_become_command(cmd, self._connection._shell)
|
||||
|
||||
|
|
Loading…
Reference in a new issue