What happened:
$ dask-worker wss://localhost:443
distributed.dask_worker - INFO - End worker
Traceback (most recent call last):
File "/Users/jtomlinson/miniconda3/envs/dask/bin/dask-worker", line 33, in <module>
sys.exit(load_entry_point('distributed', 'console_scripts', 'dask-worker')())
File "/Users/jtomlinson/Projects/dask/distributed/distributed/cli/dask_worker.py", line 462, in go
main()
File "/Users/jtomlinson/miniconda3/envs/dask/lib/python3.8/site-packages/click/core.py", line 1137, in __call__
return self.main(*args, **kwargs)
File "/Users/jtomlinson/miniconda3/envs/dask/lib/python3.8/site-packages/click/core.py", line 1062, in main
rv = self.invoke(ctx)
File "/Users/jtomlinson/miniconda3/envs/dask/lib/python3.8/site-packages/click/core.py", line 1404, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/Users/jtomlinson/miniconda3/envs/dask/lib/python3.8/site-packages/click/core.py", line 763, in invoke
return __callback(*args, **kwargs)
File "/Users/jtomlinson/Projects/dask/distributed/distributed/cli/dask_worker.py", line 448, in main
loop.run_sync(run)
File "/Users/jtomlinson/miniconda3/envs/dask/lib/python3.8/site-packages/tornado/ioloop.py", line 530, in run_sync
return future_cell[0].result()
File "/Users/jtomlinson/Projects/dask/distributed/distributed/cli/dask_worker.py", line 442, in run
await asyncio.gather(*nannies)
File "/Users/jtomlinson/miniconda3/envs/dask/lib/python3.8/asyncio/tasks.py", line 695, in _wrap_awaitable
return (yield from awaitable.__await__())
File "/Users/jtomlinson/Projects/dask/distributed/distributed/core.py", line 283, in _
await self.start()
File "/Users/jtomlinson/Projects/dask/distributed/distributed/nanny.py", line 275, in start
await self.listen(
File "/Users/jtomlinson/Projects/dask/distributed/distributed/core.py", line 401, in listen
listener = await listen(
File "/Users/jtomlinson/Projects/dask/distributed/distributed/comm/core.py", line 361, in listen
return backend.get_listener(loc, handle_comm, deserialize, **kwargs)
File "/Users/jtomlinson/Projects/dask/distributed/distributed/comm/tcp.py", line 564, in get_listener
return self._listener_class(loc, handle_comm, deserialize, **connection_args)
File "/Users/jtomlinson/Projects/dask/distributed/distributed/comm/ws.py", line 287, in __init__
self.server_args = self._get_server_args(**connection_args)
File "/Users/jtomlinson/Projects/dask/distributed/distributed/comm/ws.py", line 361, in _get_server_args
ctx = _expect_tls_context(connection_args)
File "/Users/jtomlinson/Projects/dask/distributed/distributed/comm/tcp.py", line 347, in _expect_tls_context
raise TypeError(
TypeError: TLS expects a `ssl_context` argument of type ssl.SSLContext (perhaps check your TLS configuration?) Instead got None
What you expected to happen:
Secure websockets requires certs to be configured either in your config or via the --tls-ca-file/--tls-cert/--tls-key flags. So an error here makes sense, but it is not very clear what the user needs to do.
It would be great to catch this and provide more useful error message.
cc @marcosmoyano
Environment:
- Dask version: 2021.06.2
- Python version: 3.8
- Operating System: macos
- Install method (conda, pip, source): source
What happened:
What you expected to happen:
Secure websockets requires certs to be configured either in your config or via the
--tls-ca-file/--tls-cert/--tls-keyflags. So an error here makes sense, but it is not very clear what the user needs to do.It would be great to catch this and provide more useful error message.
cc @marcosmoyano
Environment: