fail early on the wrong sudo password instead of waiting until the timeout happens

pull/3493/merge
Michael Vogt 11 years ago committed by Michael DeHaan
parent 0bd8935899
commit 9caef884e1

@ -173,6 +173,12 @@ class Connection(object):
stderr = ''
while True:
rfd, wfd, efd = select.select([p.stdout, p.stderr], [], [p.stdout, p.stderr], 1)
# fail early if the sudo password is wrong
if (self.runner.sudo and sudoable and self.runner.sudo_pass and
stdout.endswith("Sorry, try again.\r\n%s" % prompt)):
raise errors.AnsibleError('Incorrect sudo password')
if p.stdout in rfd:
dat = os.read(p.stdout.fileno(), 9000)
stdout += dat

Loading…
Cancel
Save