diff options
author | James Cammarata <jimi@sngx.net> | 2014-08-06 12:10:07 -0500 |
---|---|---|
committer | James Cammarata <jimi@sngx.net> | 2014-08-14 15:00:49 -0500 |
commit | a77674145f06ce8e8a5444c1a32f8ee5bdd07ff3 (patch) | |
tree | 5b1ed59f0ff45295b396a7b3cacc18ce0b6f732b | |
parent | 1dd484cc2df0257a1b24bb22aada001201e3fb3e (diff) | |
download | ansible-a77674145f06ce8e8a5444c1a32f8ee5bdd07ff3.tar.gz |
Catch auth errors in winrm and properly raise errors
Fixes #7875
-rw-r--r-- | lib/ansible/runner/connection_plugins/winrm.py | 8 |
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: |