Ansible Windows部署&x27;连接中止。';,错误(104,';对等方重置连接';)
我在Windows 2008 server上使用Ansible进行部署时遇到问题。我有一个jenkins管道,它有一个Ansible部署阶段,在这个阶段,我将文件从库存中放到目标服务器上。我已经能够在相当多的服务器上成功地做到这一点。但是,对于某些服务器,我看到上面的错误消息 这是詹金斯管道的输出Ansible Windows部署&x27;连接中止。';,错误(104,';对等方重置连接';),ansible,jenkins-pipeline,winrm,Ansible,Jenkins Pipeline,Winrm,我在Windows 2008 server上使用Ansible进行部署时遇到问题。我有一个jenkins管道,它有一个Ansible部署阶段,在这个阶段,我将文件从库存中放到目标服务器上。我已经能够在相当多的服务器上成功地做到这一点。但是,对于某些服务器,我看到上面的错误消息 这是詹金斯管道的输出 TASK [debug] ******************************************************************* ok: [ch3dw026394.my
TASK [debug] *******************************************************************
ok: [ch3dw026394.mydomain.com] => {
"msg": "Hello world!"
}
TASK [Testing connection to windows] *******************************************
fatal: [ch3dw026394.mydomain.com]: UNREACHABLE! => {"changed": false, "msg": "ntlm: ('Connection aborted.', error(104, 'Connection reset by peer'))", "unreachable": true}
这是win\u ping的Ansible playbook模块
#Testing connection with Target
- debug:
msg: "Testing connection to windows {{ inventory_hostname }}"
- name: Testing connection to windows
win_ping: null
any_errors_fatal: true
我对此做了大量研究,但以下选项均无效
winrm delete winrm/config/Listener?Address=*+Transport=HTTP
winrm delete winrm/config/Listener?Address=*+Transport=HTTS
热情的问候好的,各位,对于那些想知道这是否已修复的人,答案是肯定的,我让它工作了。不过,这是否正确的做法,我并不清楚 因此,以下是解决此错误的方法: 该问题是由于TLS 1.2注册表设置引起的
- 因此,转到注册表编辑器(regedit)并遍历到以下内容 位置HKEY\U LOCAL\U MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols
- 检查是否有TLS 1.2的条目。如果是,则将其删除。现在再次尝试部署,它应该可以工作
正如我所说的,这是一个变通办法。如果需要提供TLS 1.2,则需要从Ansible playbook的角度进行更深入的研究。我在尝试对windows 10节点进行乒乓操作时遇到了类似的问题:
examplenode | UNREACHABLE! => {
"changed": false,
"msg": "ssl: ('Connection aborted.', error(104, 'Connection reset by peer'))",
"unreachable": true
通过为nsible.ps1配置Remoting上的选项-ForceNewSSLCert
帮助重新颁发证书。(在目标节点上)
这发生在我的收藏中的两个节点上,我注意到这两个节点都在1607版本的Windows10上
(如果有人想追踪问题)使用-vvv
运行时,我从Ansible获得了详细的堆栈跟踪。每行上的openstack:
都是由packer添加的
openstack: TASK [Disable check for non-interactive shells, all shells interactive from now on] ***
openstack: task path: image-generator/provisioning-scripts/ansible/win_paths.yaml:7
openstack: Using module file /home/jdanek/.local/share/virtualenvs/image-generator-cHKWQna6/lib/python3.7/site-packages/ansible/modules/windows/win_lineinfile.ps1
openstack: Pipelining is enabled.
openstack: <xxx> ESTABLISH WINRM CONNECTION FOR USER: Administrator on PORT 5986 TO xxx
openstack: EXEC (via pipeline wrapper)
openstack: The full traceback is:
openstack: Traceback (most recent call last):
openstack: File "/home/jdanek/.local/share/virtualenvs/image-generator-cHKWQna6/lib/python3.7/site-packages/urllib3/connectionpool.py", line 672, in urlopen
openstack: chunked=chunked,
openstack: File "/home/jdanek/.local/share/virtualenvs/image-generator-cHKWQna6/lib/python3.7/site-packages/urllib3/connectionpool.py", line 421, in _make_request
openstack: six.raise_from(e, None)
openstack: File "<string>", line 3, in raise_from
openstack: File "/home/jdanek/.local/share/virtualenvs/image-generator-cHKWQna6/lib/python3.7/site-packages/urllib3/connectionpool.py", line 416, in _make_request
openstack: httplib_response = conn.getresponse()
openstack: File "/nix/store/k5rdcbcwwpvj7l9f1yvd5mfggcfz16kk-python3-3.7.5/lib/python3.7/http/client.py", line 1344, in getresponse
openstack: response.begin()
openstack: File "/nix/store/k5rdcbcwwpvj7l9f1yvd5mfggcfz16kk-python3-3.7.5/lib/python3.7/http/client.py", line 306, in begin
openstack: version, status, reason = self._read_status()
openstack: File "/nix/store/k5rdcbcwwpvj7l9f1yvd5mfggcfz16kk-python3-3.7.5/lib/python3.7/http/client.py", line 267, in _read_status
openstack: line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
openstack: File "/nix/store/k5rdcbcwwpvj7l9f1yvd5mfggcfz16kk-python3-3.7.5/lib/python3.7/socket.py", line 589, in readinto
openstack: return self._sock.recv_into(b)
openstack: File "/nix/store/k5rdcbcwwpvj7l9f1yvd5mfggcfz16kk-python3-3.7.5/lib/python3.7/ssl.py", line 1071, in recv_into
openstack: return self.read(nbytes, buffer)
openstack: File "/nix/store/k5rdcbcwwpvj7l9f1yvd5mfggcfz16kk-python3-3.7.5/lib/python3.7/ssl.py", line 929, in read
openstack: return self._sslobj.read(len, buffer)
openstack: ConnectionResetError: [Errno 104] Connection reset by peer
openstack:
openstack: During handling of the above exception, another exception occurred:
openstack:
openstack: Traceback (most recent call last):
openstack: File "/home/jdanek/.local/share/virtualenvs/image-generator-cHKWQna6/lib/python3.7/site-packages/requests/adapters.py", line 449, in send
openstack: timeout=timeout
openstack: File "/home/jdanek/.local/share/virtualenvs/image-generator-cHKWQna6/lib/python3.7/site-packages/urllib3/connectionpool.py", line 720, in urlopen
openstack: method, url, error=e, _pool=self, _stacktrace=sys.exc_info()[2]
openstack: File "/home/jdanek/.local/share/virtualenvs/image-generator-cHKWQna6/lib/python3.7/site-packages/urllib3/util/retry.py", line 400, in increment
openstack: raise six.reraise(type(error), error, _stacktrace)
openstack: File "/home/jdanek/.local/share/virtualenvs/image-generator-cHKWQna6/lib/python3.7/site-packages/urllib3/packages/six.py", line 734, in reraise
openstack: raise value.with_traceback(tb)
openstack: File "/home/jdanek/.local/share/virtualenvs/image-generator-cHKWQna6/lib/python3.7/site-packages/urllib3/connectionpool.py", line 672, in urlopen
openstack: chunked=chunked,
openstack: File "/home/jdanek/.local/share/virtualenvs/image-generator-cHKWQna6/lib/python3.7/site-packages/urllib3/connectionpool.py", line 421, in _make_request
openstack: six.raise_from(e, None)
openstack: File "<string>", line 3, in raise_from
openstack: File "/home/jdanek/.local/share/virtualenvs/image-generator-cHKWQna6/lib/python3.7/site-packages/urllib3/connectionpool.py", line 416, in _make_request
openstack: httplib_response = conn.getresponse()
openstack: File "/nix/store/k5rdcbcwwpvj7l9f1yvd5mfggcfz16kk-python3-3.7.5/lib/python3.7/http/client.py", line 1344, in getresponse
openstack: response.begin()
openstack: File "/nix/store/k5rdcbcwwpvj7l9f1yvd5mfggcfz16kk-python3-3.7.5/lib/python3.7/http/client.py", line 306, in begin
openstack: version, status, reason = self._read_status()
openstack: File "/nix/store/k5rdcbcwwpvj7l9f1yvd5mfggcfz16kk-python3-3.7.5/lib/python3.7/http/client.py", line 267, in _read_status
openstack: line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
openstack: File "/nix/store/k5rdcbcwwpvj7l9f1yvd5mfggcfz16kk-python3-3.7.5/lib/python3.7/socket.py", line 589, in readinto
openstack: return self._sock.recv_into(b)
openstack: File "/nix/store/k5rdcbcwwpvj7l9f1yvd5mfggcfz16kk-python3-3.7.5/lib/python3.7/ssl.py", line 1071, in recv_into
openstack: return self.read(nbytes, buffer)
openstack: File "/nix/store/k5rdcbcwwpvj7l9f1yvd5mfggcfz16kk-python3-3.7.5/lib/python3.7/ssl.py", line 929, in read
openstack: return self._sslobj.read(len, buffer)
openstack: urllib3.exceptions.ProtocolError: ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))
openstack:
openstack: During handling of the above exception, another exception occurred:
openstack:
openstack: Traceback (most recent call last):
openstack: File "/home/jdanek/.local/share/virtualenvs/image-generator-cHKWQna6/lib/python3.7/site-packages/ansible/executor/task_executor.py", line 146, in run
openstack: res = self._execute()
openstack: File "/home/jdanek/.local/share/virtualenvs/image-generator-cHKWQna6/lib/python3.7/site-packages/ansible/executor/task_executor.py", line 645, in _execute
openstack: result = self._handler.run(task_vars=variables)
openstack: File "/home/jdanek/.local/share/virtualenvs/image-generator-cHKWQna6/lib/python3.7/site-packages/ansible/plugins/action/normal.py", line 46, in run
openstack: result = merge_hash(result, self._execute_module(task_vars=task_vars, wrap_async=wrap_async))
openstack: File "/home/jdanek/.local/share/virtualenvs/image-generator-cHKWQna6/lib/python3.7/site-packages/ansible/plugins/action/__init__.py", line 923, in _execute_module
openstack: res = self._low_level_execute_command(cmd, sudoable=sudoable, in_data=in_data)
openstack: File "/home/jdanek/.local/share/virtualenvs/image-generator-cHKWQna6/lib/python3.7/site-packages/ansible/plugins/action/__init__.py", line 1071, in _low_level_execute_command
openstack: rc, stdout, stderr = self._connection.exec_command(cmd, in_data=in_data, sudoable=sudoable)
openstack: File "/home/jdanek/.local/share/virtualenvs/image-generator-cHKWQna6/lib/python3.7/site-packages/ansible/plugins/connection/winrm.py", line 548, in exec_command
openstack: result = self._winrm_exec(cmd_parts[0], cmd_parts[1:], from_exec=True, stdin_iterator=stdin_iterator)
openstack: File "/home/jdanek/.local/share/virtualenvs/image-generator-cHKWQna6/lib/python3.7/site-packages/ansible/plugins/connection/winrm.py", line 475, in _winrm_exec
openstack: resptuple = self.protocol.get_command_output(self.shell_id, command_id)
openstack: File "/home/jdanek/.local/share/virtualenvs/image-generator-cHKWQna6/lib/python3.7/site-packages/winrm/protocol.py", line 449, in get_command_output
openstack: self._raw_get_command_output(shell_id, command_id)
openstack: File "/home/jdanek/.local/share/virtualenvs/image-generator-cHKWQna6/lib/python3.7/site-packages/winrm/protocol.py", line 468, in _raw_get_command_output
openstack: res = self.send_message(xmltodict.unparse(req))
openstack: File "/home/jdanek/.local/share/virtualenvs/image-generator-cHKWQna6/lib/python3.7/site-packages/winrm/protocol.py", line 243, in send_message
openstack: resp = self.transport.send_message(message)
openstack: File "/home/jdanek/.local/share/virtualenvs/image-generator-cHKWQna6/lib/python3.7/site-packages/winrm/transport.py", line 323, in send_message
openstack: response = self._send_message_request(prepared_request, message)
openstack: File "/home/jdanek/.local/share/virtualenvs/image-generator-cHKWQna6/lib/python3.7/site-packages/winrm/transport.py", line 328, in _send_message_request
openstack: response = self.session.send(prepared_request, timeout=self.read_timeout_sec)
openstack: File "/home/jdanek/.local/share/virtualenvs/image-generator-cHKWQna6/lib/python3.7/site-packages/requests/sessions.py", line 646, in send
openstack: r = adapter.send(request, **kwargs)
openstack: File "/home/jdanek/.local/share/virtualenvs/image-generator-cHKWQna6/lib/python3.7/site-packages/requests/adapters.py", line 498, in send
openstack: raise ConnectionError(err, request=request)
openstack: requests.exceptions.ConnectionError: ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))
openstack: fatal: [xxx]: FAILED! => {
openstack: "msg": "Unexpected failure during module execution.",
openstack: "stdout": ""
openstack: }
我添加了ansible\u shell\u type=powershell
,因为ansible文档说明应该存在此选项(值为=powershell
或=cmd
)。我在一些有ansible问题的打包机上看到了ansible\u shell\u executable=None
。可能不会痛
除此之外,我已经在使用额外的varansible\u winrm\u server\u cert\u validation=ignore
我发现的另一个建议是在新的Python虚拟环境中重新安装ansible,以确保requests
包是最新的。我没有尝试,因为上面已经运行良好
我还尝试了额外的varansible\u winrm\u transport=basic
和kdestroy
——为我持有的其他系统设置kerberos票证。2004年更新后,这一个在Windows 10节点上对我有效。您可以在此处找到脚本:
openstack: TASK [Disable check for non-interactive shells, all shells interactive from now on] ***
openstack: task path: image-generator/provisioning-scripts/ansible/win_paths.yaml:7
openstack: Using module file /home/jdanek/.local/share/virtualenvs/image-generator-cHKWQna6/lib/python3.7/site-packages/ansible/modules/windows/win_lineinfile.ps1
openstack: Pipelining is enabled.
openstack: <xxx> ESTABLISH WINRM CONNECTION FOR USER: Administrator on PORT 5986 TO xxx
openstack: EXEC (via pipeline wrapper)
openstack: The full traceback is:
openstack: Traceback (most recent call last):
openstack: File "/home/jdanek/.local/share/virtualenvs/image-generator-cHKWQna6/lib/python3.7/site-packages/urllib3/connectionpool.py", line 672, in urlopen
openstack: chunked=chunked,
openstack: File "/home/jdanek/.local/share/virtualenvs/image-generator-cHKWQna6/lib/python3.7/site-packages/urllib3/connectionpool.py", line 421, in _make_request
openstack: six.raise_from(e, None)
openstack: File "<string>", line 3, in raise_from
openstack: File "/home/jdanek/.local/share/virtualenvs/image-generator-cHKWQna6/lib/python3.7/site-packages/urllib3/connectionpool.py", line 416, in _make_request
openstack: httplib_response = conn.getresponse()
openstack: File "/nix/store/k5rdcbcwwpvj7l9f1yvd5mfggcfz16kk-python3-3.7.5/lib/python3.7/http/client.py", line 1344, in getresponse
openstack: response.begin()
openstack: File "/nix/store/k5rdcbcwwpvj7l9f1yvd5mfggcfz16kk-python3-3.7.5/lib/python3.7/http/client.py", line 306, in begin
openstack: version, status, reason = self._read_status()
openstack: File "/nix/store/k5rdcbcwwpvj7l9f1yvd5mfggcfz16kk-python3-3.7.5/lib/python3.7/http/client.py", line 267, in _read_status
openstack: line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
openstack: File "/nix/store/k5rdcbcwwpvj7l9f1yvd5mfggcfz16kk-python3-3.7.5/lib/python3.7/socket.py", line 589, in readinto
openstack: return self._sock.recv_into(b)
openstack: File "/nix/store/k5rdcbcwwpvj7l9f1yvd5mfggcfz16kk-python3-3.7.5/lib/python3.7/ssl.py", line 1071, in recv_into
openstack: return self.read(nbytes, buffer)
openstack: File "/nix/store/k5rdcbcwwpvj7l9f1yvd5mfggcfz16kk-python3-3.7.5/lib/python3.7/ssl.py", line 929, in read
openstack: return self._sslobj.read(len, buffer)
openstack: ConnectionResetError: [Errno 104] Connection reset by peer
openstack:
openstack: During handling of the above exception, another exception occurred:
openstack:
openstack: Traceback (most recent call last):
openstack: File "/home/jdanek/.local/share/virtualenvs/image-generator-cHKWQna6/lib/python3.7/site-packages/requests/adapters.py", line 449, in send
openstack: timeout=timeout
openstack: File "/home/jdanek/.local/share/virtualenvs/image-generator-cHKWQna6/lib/python3.7/site-packages/urllib3/connectionpool.py", line 720, in urlopen
openstack: method, url, error=e, _pool=self, _stacktrace=sys.exc_info()[2]
openstack: File "/home/jdanek/.local/share/virtualenvs/image-generator-cHKWQna6/lib/python3.7/site-packages/urllib3/util/retry.py", line 400, in increment
openstack: raise six.reraise(type(error), error, _stacktrace)
openstack: File "/home/jdanek/.local/share/virtualenvs/image-generator-cHKWQna6/lib/python3.7/site-packages/urllib3/packages/six.py", line 734, in reraise
openstack: raise value.with_traceback(tb)
openstack: File "/home/jdanek/.local/share/virtualenvs/image-generator-cHKWQna6/lib/python3.7/site-packages/urllib3/connectionpool.py", line 672, in urlopen
openstack: chunked=chunked,
openstack: File "/home/jdanek/.local/share/virtualenvs/image-generator-cHKWQna6/lib/python3.7/site-packages/urllib3/connectionpool.py", line 421, in _make_request
openstack: six.raise_from(e, None)
openstack: File "<string>", line 3, in raise_from
openstack: File "/home/jdanek/.local/share/virtualenvs/image-generator-cHKWQna6/lib/python3.7/site-packages/urllib3/connectionpool.py", line 416, in _make_request
openstack: httplib_response = conn.getresponse()
openstack: File "/nix/store/k5rdcbcwwpvj7l9f1yvd5mfggcfz16kk-python3-3.7.5/lib/python3.7/http/client.py", line 1344, in getresponse
openstack: response.begin()
openstack: File "/nix/store/k5rdcbcwwpvj7l9f1yvd5mfggcfz16kk-python3-3.7.5/lib/python3.7/http/client.py", line 306, in begin
openstack: version, status, reason = self._read_status()
openstack: File "/nix/store/k5rdcbcwwpvj7l9f1yvd5mfggcfz16kk-python3-3.7.5/lib/python3.7/http/client.py", line 267, in _read_status
openstack: line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
openstack: File "/nix/store/k5rdcbcwwpvj7l9f1yvd5mfggcfz16kk-python3-3.7.5/lib/python3.7/socket.py", line 589, in readinto
openstack: return self._sock.recv_into(b)
openstack: File "/nix/store/k5rdcbcwwpvj7l9f1yvd5mfggcfz16kk-python3-3.7.5/lib/python3.7/ssl.py", line 1071, in recv_into
openstack: return self.read(nbytes, buffer)
openstack: File "/nix/store/k5rdcbcwwpvj7l9f1yvd5mfggcfz16kk-python3-3.7.5/lib/python3.7/ssl.py", line 929, in read
openstack: return self._sslobj.read(len, buffer)
openstack: urllib3.exceptions.ProtocolError: ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))
openstack:
openstack: During handling of the above exception, another exception occurred:
openstack:
openstack: Traceback (most recent call last):
openstack: File "/home/jdanek/.local/share/virtualenvs/image-generator-cHKWQna6/lib/python3.7/site-packages/ansible/executor/task_executor.py", line 146, in run
openstack: res = self._execute()
openstack: File "/home/jdanek/.local/share/virtualenvs/image-generator-cHKWQna6/lib/python3.7/site-packages/ansible/executor/task_executor.py", line 645, in _execute
openstack: result = self._handler.run(task_vars=variables)
openstack: File "/home/jdanek/.local/share/virtualenvs/image-generator-cHKWQna6/lib/python3.7/site-packages/ansible/plugins/action/normal.py", line 46, in run
openstack: result = merge_hash(result, self._execute_module(task_vars=task_vars, wrap_async=wrap_async))
openstack: File "/home/jdanek/.local/share/virtualenvs/image-generator-cHKWQna6/lib/python3.7/site-packages/ansible/plugins/action/__init__.py", line 923, in _execute_module
openstack: res = self._low_level_execute_command(cmd, sudoable=sudoable, in_data=in_data)
openstack: File "/home/jdanek/.local/share/virtualenvs/image-generator-cHKWQna6/lib/python3.7/site-packages/ansible/plugins/action/__init__.py", line 1071, in _low_level_execute_command
openstack: rc, stdout, stderr = self._connection.exec_command(cmd, in_data=in_data, sudoable=sudoable)
openstack: File "/home/jdanek/.local/share/virtualenvs/image-generator-cHKWQna6/lib/python3.7/site-packages/ansible/plugins/connection/winrm.py", line 548, in exec_command
openstack: result = self._winrm_exec(cmd_parts[0], cmd_parts[1:], from_exec=True, stdin_iterator=stdin_iterator)
openstack: File "/home/jdanek/.local/share/virtualenvs/image-generator-cHKWQna6/lib/python3.7/site-packages/ansible/plugins/connection/winrm.py", line 475, in _winrm_exec
openstack: resptuple = self.protocol.get_command_output(self.shell_id, command_id)
openstack: File "/home/jdanek/.local/share/virtualenvs/image-generator-cHKWQna6/lib/python3.7/site-packages/winrm/protocol.py", line 449, in get_command_output
openstack: self._raw_get_command_output(shell_id, command_id)
openstack: File "/home/jdanek/.local/share/virtualenvs/image-generator-cHKWQna6/lib/python3.7/site-packages/winrm/protocol.py", line 468, in _raw_get_command_output
openstack: res = self.send_message(xmltodict.unparse(req))
openstack: File "/home/jdanek/.local/share/virtualenvs/image-generator-cHKWQna6/lib/python3.7/site-packages/winrm/protocol.py", line 243, in send_message
openstack: resp = self.transport.send_message(message)
openstack: File "/home/jdanek/.local/share/virtualenvs/image-generator-cHKWQna6/lib/python3.7/site-packages/winrm/transport.py", line 323, in send_message
openstack: response = self._send_message_request(prepared_request, message)
openstack: File "/home/jdanek/.local/share/virtualenvs/image-generator-cHKWQna6/lib/python3.7/site-packages/winrm/transport.py", line 328, in _send_message_request
openstack: response = self.session.send(prepared_request, timeout=self.read_timeout_sec)
openstack: File "/home/jdanek/.local/share/virtualenvs/image-generator-cHKWQna6/lib/python3.7/site-packages/requests/sessions.py", line 646, in send
openstack: r = adapter.send(request, **kwargs)
openstack: File "/home/jdanek/.local/share/virtualenvs/image-generator-cHKWQna6/lib/python3.7/site-packages/requests/adapters.py", line 498, in send
openstack: raise ConnectionError(err, request=request)
openstack: requests.exceptions.ConnectionError: ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))
openstack: fatal: [xxx]: FAILED! => {
openstack: "msg": "Unexpected failure during module execution.",
openstack: "stdout": ""
openstack: }
--extra_vars 'ansible_shell_type=powershell ansible_shell_executable=None'