When running with -vvv
, I got a detailed stacktrace from Ansible. The openstack:
on every line is added by 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: }
I've resolved this error by adding the following to Ansible command line
--extra_vars 'ansible_shell_type=powershell ansible_shell_executable=None'
I added ansible_shell_type=powershell
because Ansible documentation says this should be present (with value of =powershell
or =cmd
). I saw the ansible_shell_executable=None
on some Packer with Ansible issues. It probably does not hurt.
In addition to these, I was already using the extra var ansible_winrm_server_cert_validation=ignore
.
Other advice I found was to reinstall ansible in a new Python virtual environment, to ensure the requests
package is up to date. I did not try since the above already ran fine.
I also experimented with extra var ansible_winrm_transport=basic
and kdestroy
-ing my kerberos tickets for other systems that I held.