winrm: source user from options than remote_user (#40467)

* winrm: source user from options than remote_user

* fixed up mock for kerberos import

* Added changelog fragment

* get hostname from option as well
This commit is contained in:
Jordan Borean 2018-05-22 09:36:48 +10:00 committed by GitHub
parent e4edb2842a
commit 1ac180c74d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 226 additions and 4 deletions

View file

@ -100,7 +100,6 @@ import base64
import inspect
import os
import re
import shlex
import traceback
import json
import tempfile
@ -188,8 +187,8 @@ class Connection(ConnectionBase):
super(Connection, self).set_options(task_keys=None, var_options=var_options, direct=direct)
self._winrm_host = self._play_context.remote_addr
self._winrm_user = self._play_context.remote_user
self._winrm_host = self.get_option('remote_addr')
self._winrm_user = self.get_option('remote_user')
self._winrm_pass = self._play_context.password
self._become_method = self._play_context.become_method
@ -235,7 +234,7 @@ class Connection(ConnectionBase):
kinit_mode = self.get_option('kerberos_mode')
if kinit_mode is None:
# HACK: ideally, remove multi-transport stuff
self._kerb_managed = "kerberos" in self._winrm_transport and self._winrm_pass
self._kerb_managed = "kerberos" in self._winrm_transport and (self._winrm_pass is not None and self._winrm_pass != "")
elif kinit_mode == "managed":
self._kerb_managed = True
elif kinit_mode == "manual":