distributed icon indicating copy to clipboard operation
distributed copied to clipboard

Proxy to worker dashboard not working

Open fjetter opened this issue 1 year ago • 1 comments

dask scheduler
dask worker <scheduler addr> --dashboard

Then navigate to http://127.0.0.1:8787/info/main/workers.html and click on dashboard. This should proxy to the worker dashboard but instead it triggers the below exception (with a 500 error code, of course)

/Users/fjetter/miniforge3/envs/coiled-benchmarks-310/lib/python3.10/site-packages/jupyter_server/base/handlers.py:607: UserWarning: The Tornado web application does not have an 'identity_provider' defined in its settings. In future releases of jupyter_server, this will be a required key for all subclasses of `JupyterHandler`. For an example, see the jupyter_server source code for how to add an identity provider to the tornado settings: https://github.com/jupyter-server/jupyter_server/blob/v2.0.0/jupyter_server/serverapp.py#L242
  if type(self.identity_provider) is IdentityProvider and mod_obj.__name__ != __name__:
2023-11-10 14:28:01,113 - tornado.application - ERROR - Uncaught exception GET /proxy/50121/192.168.2.53/status (127.0.0.1)
HTTPServerRequest(protocol='http', host='127.0.0.1:8787', method='GET', uri='/proxy/50121/192.168.2.53/status', version='HTTP/1.1', remote_ip='127.0.0.1')
Traceback (most recent call last):
  File "/Users/fjetter/miniforge3/envs/coiled-benchmarks-310/lib/python3.10/site-packages/tornado/web.py", line 1765, in _execute
    result = await result  # type: ignore
  File "/Users/fjetter/miniforge3/envs/coiled-benchmarks-310/lib/python3.10/site-packages/jupyter_server/base/handlers.py", line 622, in prepare
    _user = await _user
  File "/Users/fjetter/miniforge3/envs/coiled-benchmarks-310/lib/python3.10/site-packages/jupyter_server/auth/identity.py", line 240, in _get_user
    _cookie_user = self.get_user_cookie(handler)
  File "/Users/fjetter/miniforge3/envs/coiled-benchmarks-310/lib/python3.10/site-packages/jupyter_server/auth/identity.py", line 398, in get_user_cookie
    _user_cookie = handler.get_secure_cookie(
  File "/Users/fjetter/miniforge3/envs/coiled-benchmarks-310/lib/python3.10/site-packages/tornado/web.py", line 836, in get_signed_cookie
    self.require_setting("cookie_secret", "secure cookies")
  File "/Users/fjetter/miniforge3/envs/coiled-benchmarks-310/lib/python3.10/site-packages/tornado/web.py", line 1669, in require_setting
    raise Exception(
Exception: You must define the 'cookie_secret' setting in your application to use secure cookies
2023-11-10 14:28:01,121 - tornado.application - ERROR - Uncaught exception in write_error
Traceback (most recent call last):
  File "/Users/fjetter/miniforge3/envs/coiled-benchmarks-310/lib/python3.10/site-packages/tornado/web.py", line 1765, in _execute
    result = await result  # type: ignore
  File "/Users/fjetter/miniforge3/envs/coiled-benchmarks-310/lib/python3.10/site-packages/jupyter_server/base/handlers.py", line 622, in prepare
    _user = await _user
  File "/Users/fjetter/miniforge3/envs/coiled-benchmarks-310/lib/python3.10/site-packages/jupyter_server/auth/identity.py", line 240, in _get_user
    _cookie_user = self.get_user_cookie(handler)
  File "/Users/fjetter/miniforge3/envs/coiled-benchmarks-310/lib/python3.10/site-packages/jupyter_server/auth/identity.py", line 398, in get_user_cookie
    _user_cookie = handler.get_secure_cookie(
  File "/Users/fjetter/miniforge3/envs/coiled-benchmarks-310/lib/python3.10/site-packages/tornado/web.py", line 836, in get_signed_cookie
    self.require_setting("cookie_secret", "secure cookies")
  File "/Users/fjetter/miniforge3/envs/coiled-benchmarks-310/lib/python3.10/site-packages/tornado/web.py", line 1669, in require_setting
    raise Exception(
Exception: You must define the 'cookie_secret' setting in your application to use secure cookies

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/fjetter/miniforge3/envs/coiled-benchmarks-310/lib/python3.10/site-packages/tornado/web.py", line 1294, in send_error
    self.write_error(status_code, **kwargs)
  File "/Users/fjetter/miniforge3/envs/coiled-benchmarks-310/lib/python3.10/site-packages/jupyter_server/base/handlers.py", line 719, in write_error
    html = self.render_template("%s.html" % status_code, **ns)
  File "/Users/fjetter/miniforge3/envs/coiled-benchmarks-310/lib/python3.10/site-packages/jupyter_server/base/handlers.py", line 645, in render_template
    ns.update(self.template_namespace)
  File "/Users/fjetter/miniforge3/envs/coiled-benchmarks-310/lib/python3.10/site-packages/jupyter_server/base/handlers.py", line 655, in template_namespace
    logged_in=self.logged_in,
  File "/Users/fjetter/miniforge3/envs/coiled-benchmarks-310/lib/python3.10/site-packages/jupyter_server/base/handlers.py", line 197, in logged_in
    user = self.current_user
  File "/Users/fjetter/miniforge3/envs/coiled-benchmarks-310/lib/python3.10/site-packages/tornado/web.py", line 1420, in current_user
    self._current_user = self.get_current_user()
  File "/Users/fjetter/miniforge3/envs/coiled-benchmarks-310/lib/python3.10/site-packages/jupyter_server/base/handlers.py", line 176, in get_current_user
    raise RuntimeError(msg)
RuntimeError: Calling `GlobalProxyHandler.get_current_user()` directly is deprecated in jupyter-server 2.0. Use `self.current_user` instead (works in all versions).
jupyter_server            2.10.0             pyhd8ed1ab_0    conda-forge
jupyter_server_terminals  0.4.4              pyhd8ed1ab_1    conda-forge
jupyter-server-proxy      4.1.0              pyhd8ed1ab_0    conda-forge
tornado                   6.3.3           py310h2aa6e3c_1    conda-forge

fjetter avatar Nov 10 '23 13:11 fjetter

FWIW setting a cookie secret just triggers another exception a little later on

fjetter avatar Nov 10 '23 13:11 fjetter