I am trying to get JupyterHub to talk to an external Docker Swarm - and by 
this, I mean that the swarm is hosted on a [private] cloud whilst the 'Hub 
is on an external machine.

Environment:
* jupyterhub 0.7.2 running on CentOS 7
  (initially instantiated inside a docker container on the host, then as an 
application directly on the host)
* OpenStack cloud in a private space
   (run by another department within this University)
* Using DockerSpawner to start NoteBooks

I can happily fire up the hub, and log in to the hub.
The hub will start & stop containers within the cloud - and I can even name 
them as I please.
Once I log into the hub, I get presented with the expected "start my 
server" button
.... so all that is good

jupyterhub_config.py:

>>>: cat config/jupyterhub_config.py | egrep -v ^# | grep .
c.JupyterHub.spawner_class = 'dockerspawner.DockerSpawner'
c.DockerSpawner.container_ip = "0.0.0.0"
c.DockerSpawner.use_internal_ip = False
c.DockerSpawner.hub_ip_connect = '172.16.48.141'
c.DockerSpawner.container_prefix = 'mystring'

The problem:
The problem is I can't actually connect to the server. Here's the error in 
the log:

[D 2017-03-31 10:33:42.404 JupyterHub dockerspawner:355] Getting container 
'mystring-kiz'
[I 2017-03-31 10:33:42.410 JupyterHub dockerspawner:437] Found existing 
container 'mystring-kiz' (id: 4a5fa6b)
[I 2017-03-31 10:33:42.410 JupyterHub dockerspawner:449] Starting container 
'mystring-kiz' (id: 4a5fa6b)
[D 2017-03-31 10:33:42.904 JupyterHub spawner:584] Polling subprocess every 
30s
[D 2017-03-31 10:33:52.406 JupyterHub dockerspawner:355] Getting container 
'mystring-kiz'
[D 2017-03-31 10:33:52.414 JupyterHub dockerspawner:341] Container 4a5fa6b 
status: {'Dead': False,
     'Error': '',
     'ExitCode': 0,
     'FinishedAt': '2017-03-31T09:29:19.838356006Z',
     'OOMKilled': False,
     'Paused': False,
     'Pid': 23279,
     'Restarting': False,
     'Running': True,
     'StartedAt': '2017-03-31T09:33:42.668175671Z',
     'Status': 'running'}
[W 2017-03-31 10:33:52.415 JupyterHub base:347] User kiz's server is slow 
to become responsive (timeout=10)
[D 2017-03-31 10:33:52.415 JupyterHub base:348] Expecting server for kiz 
at: http://127.0.0.1:32828/user/kiz
[D 2017-03-31 10:33:52.415 JupyterHub base:236] Setting cookie for kiz: 
jupyter-hub-token-kiz, {}
[I 2017-03-31 10:33:52.429 JupyterHub log:100] 302 GET /hub/user/kiz 
(kiz@::1) 10440.67ms
[I 2017-03-31 10:33:52.510 JupyterHub log:100] 302 GET /user/kiz (@::1) 
1.02ms
[I 2017-03-31 10:33:52.553 JupyterHub log:100] 200 GET /hub/user/kiz 
(kiz@::1) 7.57ms
[D 2017-03-31 10:33:52.854 JupyterHub log:100] 304 GET /favicon.ico (@::1) 
0.65ms
[I 2017-03-31 10:33:57.804 JupyterHub log:100] 200 GET /hub/user/kiz 
(kiz@::1) 8.85ms
[D 2017-03-31 10:33:57.899 JupyterHub log:100] 304 GET 
/hub/static/css/style.min.css?v=d96e0760e0c2b7356ce89635b646c350 (@::1) 
0.72ms
[D 2017-03-31 10:33:57.903 JupyterHub log:100] 304 GET 
/hub/static/components/requirejs/require.js?v=6da8be361b9ee26c5e721e76c6d4afce 
(@::1) 0.74ms
[D 2017-03-31 10:33:58.048 JupyterHub log:100] 304 GET /hub/logo (@::1) 
0.71ms
[D 2017-03-31 10:33:58.109 JupyterHub log:100] 304 GET 
/hub/static/components/jquery/jquery.min.js?v=(& (@::1) 0.77ms
[D 2017-03-31 10:33:58.209 JupyterHub log:100] 304 GET /favicon.ico (@::1) 
0.66ms
[D 2017-03-31 10:34:03.212 JupyterHub log:100] 304 GET /hub/user/kiz 
(kiz@::1) 7.23ms
[D 2017-03-31 10:34:03.336 JupyterHub log:100] 304 GET 
/hub/static/components/requirejs/require.js?v=6da8be361b9ee26c5e721e76c6d4afce 
(@::1) 0.73ms
[D 2017-03-31 10:34:03.337 JupyterHub log:100] 304 GET 
/hub/static/css/style.min.css?v=d96e0760e0c2b7356ce89635b646c350 (@::1) 
0.68ms
[D 2017-03-31 10:34:03.455 JupyterHub log:100] 304 GET /hub/logo (@::1) 
0.60ms
[D 2017-03-31 10:34:03.457 JupyterHub log:100] 304 GET 
/hub/static/components/jquery/jquery.min.js?v=(& (@::1) 0.65ms
[D 2017-03-31 10:34:03.565 JupyterHub log:100] 304 GET /favicon.ico (@::1) 
0.63ms
[D 2017-03-31 10:34:08.598 JupyterHub log:100] 304 GET /hub/user/kiz 
(kiz@::1) 6.32ms
[D 2017-03-31 10:34:08.709 JupyterHub log:100] 304 GET 
/hub/static/css/style.min.css?v=d96e0760e0c2b7356ce89635b646c350 (@::1) 
1.18ms
[D 2017-03-31 10:34:08.711 JupyterHub log:100] 304 GET 
/hub/static/components/requirejs/require.js?v=6da8be361b9ee26c5e721e76c6d4afce 
(@::1) 0.64ms
[D 2017-03-31 10:34:08.825 JupyterHub log:100] 304 GET /hub/logo (@::1) 
0.63ms
[D 2017-03-31 10:34:08.896 JupyterHub log:100] 304 GET 
/hub/static/components/jquery/jquery.min.js?v=(& (@::1) 0.74ms
[D 2017-03-31 10:34:08.988 JupyterHub log:100] 304 GET /favicon.ico (@::1) 
0.64ms
[D 2017-03-31 10:34:12.906 JupyterHub dockerspawner:355] Getting container '
mystring-kiz'
[D 2017-03-31 10:34:12.915 JupyterHub dockerspawner:341] Container 4a5fa6b 
status: {'Dead': False,
     'Error': '',
     'ExitCode': 0,
     'FinishedAt': '2017-03-31T09:29:19.838356006Z',
     'OOMKilled': False,
     'Paused': False,
     'Pid': 23279,
     'Restarting': False,
     'Running': True,
     'StartedAt': '2017-03-31T09:33:42.668175671Z',
     'Status': 'running'}
[W 2017-03-31 10:34:13.172 JupyterHub user:278] kiz's server never showed 
up at http://127.0.0.1:32828/user/kiz after 30 seconds. Giving up
[D 2017-03-31 10:34:13.172 JupyterHub dockerspawner:355] Getting container 
'mystring-kiz'
[D 2017-03-31 10:34:13.180 JupyterHub dockerspawner:341] Container 4a5fa6b 
status: {'Dead': False,
     'Error': '',
     'ExitCode': 0,
     'FinishedAt': '2017-03-31T09:29:19.838356006Z',
     'OOMKilled': False,
     'Paused': False,
     'Pid': 23279,
     'Restarting': False,
     'Running': True,
     'StartedAt': '2017-03-31T09:33:42.668175671Z',
     'Status': 'running'}
[I 2017-03-31 10:34:13.180 JupyterHub dockerspawner:519] Stopping container 
mystring-kiz (id: 4a5fa6b)
[E 2017-03-31 10:34:13.742 JupyterHub gen:878] Exception in Future <tornado.
concurrent.Future object at 0x7f12988be3c8> after timeout
    Traceback (most recent call last):
      File "/usr/lib64/python3.4/site-packages/tornado/gen.py", line 874, in 
error_callback
        future.result()
      File "/usr/lib/python3.4/site-packages/jupyterhub/user.py", line 294, 
in spawn
        raise e
      File "/usr/lib/python3.4/site-packages/jupyterhub/user.py", line 270, 
in spawn
        yield self.server.wait_up(http=True, timeout=spawner.http_timeout)
      File "/usr/lib/python3.4/site-packages/jupyterhub/orm.py", line 108, 
in wait_up
        yield wait_for_http_server(self.url, timeout=timeout)
      File "/usr/lib/python3.4/site-packages/jupyterhub/utils.py", line 94, 
in wait_for_http_server
        **locals()
    TimeoutError: Server at http://127.0.0.1:32828/user/kiz didn't respond 
in 30 seconds

So in the initial Expecting server for kiz at: 
http://127.0.0.1:32828/user/kiz the 32828 matches the published port from 
the Docker on OpenStack - but surely the 127.0.0.1 is wrong... isn't that 
looking for the Docker Image on the same host as the Hub?

... how do I correct that? How do I get it to talk to the Swarm on 
172.16.48.141

(and yes, I've set the environment variable to get docker to talk to the 
swarm:
 >>>: export DOCKER_HOST=172.16.48.141:2375
)

In anticipation.... many thanks

--
Ian

-- 
You received this message because you are subscribed to the Google Groups 
"Project Jupyter" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jupyter/7cca739c-ffdd-48e4-8f07-270b33353c49%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to