0

I have recently upgraded jupyterhub from 0.7 to 0.8.1. After upgrade, i have upgraded the sqllite database as well as mentioned in the upgrade documents. I'm able to start the jupyterhub service but after login, i'm unable to start the server with below error. My server is AD integrated for login. This was working perfectly before upgrade. Any idea how this can be resolved?

[I 2019-03-14 15:21:57.698 JupyterHub base:346] User logged in: test
[E 2019-03-14 15:21:57.746 JupyterHub user:427] Unhandled error starting test's server: 'getpwnam(): name not found: test'
[E 2019-03-14 15:21:57.755 JupyterHub web:1590] Uncaught exception POST /hub/login?next= (192.168.0.24)
    HTTPServerRequest(protocol='https', host='jupyter2.testing.com', method='POST', uri='/hub/login?next=', version='HTTP/1.1', remote_ip='192.168.0.24', headers={'Content-Type': 'application/x-www-form-urlencoded', 'Accept-Language': 'en-GB,en-US;q=0.9,en;q=0.8', 'Cookie': '_xsrf=2|e7c2dfb6|2e7d6377e8446061ff8be0e64f86210f|1551259887', 'Upgrade-Insecure-Requests': '1', 'Host': 'jupyter2.testing.com', 'X-Forwarded-Proto': 'https', 'Origin': 'https://jupyter2.testing.com', 'X-Real-Ip': '192.168.0.24', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8', 'Accept-Encoding': 'gzip, deflate, br', 'Content-Length': '42', 'Cache-Control': 'max-age=0', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.80 Safari/537.36', 'X-Forwarded-Port': '443', 'Referer': 'https://jupyter2.testing.com/hub/login', 'X-Forwarded-Host': 'jupyter2.testing.com', 'X-Forwarded-For': '192.168.0.24,127.0.0.1', 'Connection': 'close', 'X-Nginx-Proxy': 'true'})
    Traceback (most recent call last):
      File "/usr/local/python3/lib/python3.4/site-packages/tornado/web.py", line 1511, in _execute
        result = yield result
      File "/usr/local/python3/lib/python3.4/site-packages/jupyterhub/handlers/login.py", line 94, in post
        yield self.spawn_single_user(user)
      File "/usr/local/python3/lib/python3.4/site-packages/jupyterhub/handlers/base.py", line 475, in spawn_single_user
        yield gen.with_timeout(timedelta(seconds=self.slow_spawn_timeout), finish_spawn_future)
      File "/usr/local/python3/lib/python3.4/site-packages/jupyterhub/handlers/base.py", line 445, in finish_user_spawn
        yield spawn_future
      File "/usr/local/python3/lib/python3.4/site-packages/jupyterhub/user.py", line 439, in spawn
        raise e
      File "/usr/local/python3/lib/python3.4/site-packages/jupyterhub/user.py", line 378, in spawn
        ip_port = yield gen.with_timeout(timedelta(seconds=spawner.start_timeout), f)
      File "/usr/local/python3/lib/python3.4/site-packages/jupyterhub/spawner.py", line 968, in start
        env = self.get_env()
      File "/usr/local/python3/lib/python3.4/site-packages/jupyterhub/spawner.py", line 960, in get_env
        env = self.user_env(env)
      File "/usr/local/python3/lib/python3.4/site-packages/jupyterhub/spawner.py", line 947, in user_env
        home = pwd.getpwnam(self.user.name).pw_dir
    KeyError: 'getpwnam(): name not found: test'

[E 2019-03-14 15:21:57.756 JupyterHub log:114] {
      "Content-Type": "application/x-www-form-urlencoded",
      "Accept-Language": "en-GB,en-US;q=0.9,en;q=0.8",
      "Cookie": "_xsrf=2|e7c2dfb6|2e7d6377e8446061ff8be0e64f86210f|1551259887",
      "Upgrade-Insecure-Requests": "1",
      "Host": "jupyter2.testing.com",
      "X-Forwarded-Proto": "https",
      "Origin": "https://jupyter2.testing.com",
      "X-Real-Ip": "192.168.0.24",
      "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
      "Accept-Encoding": "gzip, deflate, br",
      "Content-Length": "42",
      "Cache-Control": "max-age=0",
      "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.80 Safari/537.36",
      "X-Forwarded-Port": "443",
      "Referer": "https://jupyter2.testing.com/hub/login",
      "X-Forwarded-Host": "jupyter2.testing.com",
      "X-Forwarded-For": "192.168.0.24,127.0.0.1",
      "Connection": "close",
      "X-Nginx-Proxy": "true"
    }
[E 2019-03-14 15:21:57.757 JupyterHub log:122] 500 POST /hub/login?next= (@192.168.0.24) 199.65ms
  • Check out this thread: https://github.com/jupyterhub/jupyterhub/issues/1405 – jlewkovich Mar 15 '19 at 01:01
  • Thanks for the pointer. However, is it possible to do this for multiple users? As i mentioned, we are integrated with AD for login. I'm not sure if we can do the mapping for all users. – user3629042 Mar 15 '19 at 07:55
  • This is the python output for getpwnam. `python3 -c 'import pwd; print(pwd.getpwnam("test"))' ` `pwd.struct_passwd(pw_name='test', pw_passwd='*', pw_uid=970361581, pw_gid=970297513, pw_gecos='test', pw_dir='/home/test', pw_shell='/bin/bash') ` – user3629042 Mar 19 '19 at 16:27
  • I think the issue is that all my AD users are in UPPER CASE. But the logs show the users in lowercase. Even the pwd.getpwnam module has failed when the case is not correct. – user3629042 Mar 19 '19 at 17:16
  • We were able to overcome this by commenting `#username = username.lower()` in `/usr/local/python3/lib/python3.4/site-packages/jupyterhub/auth.py ` – user3629042 Mar 21 '19 at 09:33

0 Answers0