summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Cammarata <jimi@sngx.net>2014-08-06 12:10:07 -0500
committerJames Cammarata <jimi@sngx.net>2014-08-14 15:00:49 -0500
commita77674145f06ce8e8a5444c1a32f8ee5bdd07ff3 (patch)
tree5b1ed59f0ff45295b396a7b3cacc18ce0b6f732b
parent1dd484cc2df0257a1b24bb22aada001201e3fb3e (diff)
downloadansible-a77674145f06ce8e8a5444c1a32f8ee5bdd07ff3.tar.gz
Catch auth errors in winrm and properly raise errors
Fixes #7875
-rw-r--r--lib/ansible/runner/connection_plugins/winrm.py8
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/ansible/runner/connection_plugins/winrm.py b/lib/ansible/runner/connection_plugins/winrm.py
index e9ee8692f6..9d7eac4265 100644
--- a/lib/ansible/runner/connection_plugins/winrm.py
+++ b/lib/ansible/runner/connection_plugins/winrm.py
@@ -89,17 +89,19 @@ class Connection(object):
except WinRMTransportError, exc:
err_msg = str(exc.args[0])
if re.search(r'Operation\s+?timed\s+?out', err_msg, re.I):
- raise
+ raise errors.AnsibleError("the connection attempt timed out")
m = re.search(r'Code\s+?(\d{3})', err_msg)
if m:
code = int(m.groups()[0])
- if code == 411:
+ if code == 401:
+ raise errors.AnsibleError("the username/password specified for this server was incorrect")
+ elif code == 411:
_winrm_cache[cache_key] = protocol
return protocol
vvvv('WINRM CONNECTION ERROR: %s' % err_msg, host=self.host)
continue
if exc:
- raise exc
+ raise errors.AnsibleError(str(exc))
def _winrm_exec(self, command, args=(), from_exec=False):
if from_exec: