Page MenuHomePhabricator

Upgrade jupyterhub-systemdspawner from 0.9.9 to 0.13 to allow the use of systemd custom slices
Closed, ResolvedPublic5 Estimated Story Points

Description

In order to properly deploy https://gerrit.wikimedia.org/r/#/c/operations/puppet/+/577320/ we need to upgrade jupyterhub-systemdspawner to 0.13

Event Timeline

elukey triaged this task as High priority.Mar 6 2020, 8:28 AM
elukey created this task.

Change 577477 had a related patch set uploaded (by Elukey; owner: Elukey):
[analytics/jupyterhub/deploy@master] Upgrade jupyterhub-systemdspawner to 0.13

https://gerrit.wikimedia.org/r/577477

Change 577590 had a related patch set uploaded (by Elukey; owner: Elukey):
[operations/puppet@production] jupyterhub: add the option to use nodejs 10

https://gerrit.wikimedia.org/r/577590

Change 577590 merged by Elukey:
[operations/puppet@production] jupyterhub: add the option to use nodejs 10

https://gerrit.wikimedia.org/r/577590

Change 577622 had a related patch set uploaded (by Elukey; owner: Elukey):
[operations/puppet@production] profile::swap: pass use_nodejs10 parameter to jupyterhub

https://gerrit.wikimedia.org/r/577622

Change 577622 merged by Elukey:
[operations/puppet@production] profile::swap: pass use_nodejs10 parameter to jupyterhub

https://gerrit.wikimedia.org/r/577622

On an-tool1006 it seems working:

-.slice
├─user.slice
│ ├─jupyter-elukey-singleuser.service
│ │ └─29154 /home/elukey/venv/bin/python3 /home/elukey/venv/bin/jupyterhub-singleuser --port=50775

The main problem is that I don't find any scap config in puppet, but only a git::clone (to apply the patch I cherry picked the commit and created the venv manually). Do we want to add scap config @Ottomata ?

SWAP is weird. You could use scap for it, but it would be mostly just doing a git pull, which is what puppet does just fine. Installation into the jupyterhub venv is a manual process. You might be able to modify this process to use scap service checks to automate installation, but I'm not sure we really want to do that. Also, we'll refactor all of this as part of newpyter anyway, so I wouldn't bother now.

SWAP is weird. You could use scap for it, but it would be mostly just doing a git pull, which is what puppet does just fine. Installation into the jupyterhub venv is a manual process. You might be able to modify this process to use scap service checks to automate installation, but I'm not sure we really want to do that. Also, we'll refactor all of this as part of newpyter anyway, so I wouldn't bother now.

Ack so I'll just test a bit more on an-tool1006, then merge and deploy manually on the notebooks ok?

Change 577742 had a related patch set uploaded (by Elukey; owner: Elukey):
[operations/puppet@production] profile::swap: use nodejs 10 by default

https://gerrit.wikimedia.org/r/577742

Plan:

  1. test a little bit more on an-tool1006
  2. merge https://gerrit.wikimedia.org/r/#/c/operations/puppet/+/577742/ to use nodejs on notebooks
  3. merge https://gerrit.wikimedia.org/r/#/c/577477/ and manually re-create the venv on notebook100[3,4]

Caveat: this will likely cause some disruption in notebooks, possibly some of them will have to be restarted.

Change 577742 merged by Elukey:
[operations/puppet@production] profile::swap: use nodejs 10 by default

https://gerrit.wikimedia.org/r/577742

Change 577477 merged by Elukey:
[analytics/jupyterhub/deploy@master] Upgrade nodejs and jupyterhub-systemdspawner

https://gerrit.wikimedia.org/r/577477

Mentioned in SAL (#wikimedia-analytics) [2020-03-09T07:27:29Z] <elukey> deploy jupyterhub on notebook100[3,4] (manual venv re-creation) to allow the use of the user.slice - T247055

From my tests the new environment seems working fine. Caveat: users need to stop/start their notebooks to pick up the new user.slice change :)

Caveat: users need to stop/start their notebooks to pick up the new user.slice change :)

You can restart them manually if you need to.

elukey set the point value for this task to 5.
elukey moved this task from Next Up to Done on the Analytics-Kanban board.