JupyterHub and BinderHub Team Meeting - May#

Date: 2020-05-21 at 5pm UTC

Welcome to the Team Meeting#


If you are joining the team video meeting, sign in below so we know who was here. Roll call:

name / institution / GitHub handle

  • Sarah / Turing / @sgibson91

  • Simon / OME, University of Dundee / @manics

  • Tim / Binder / @betatim

  • Erik / Sundell open source / @consideRatio

  • Dan Lester / Ideonate / @danlester

  • Richard Darst / Aalto University / @rkdarst

  • Chico Venancio / BMC Group K. K. / @chicocvenancio

  • Wayne Decatur / Upstate Medical / @fomightez

  • Chris Holdgraf / UC Berkeley / @choldgraf

  • Min RK / Simula / @minrk

  • Arnim / GESIS / @arnim

Quick updates#

60 second updates on things you have been up to, questions you have, or developments you think people should know about. Please add yourself, and if you do not have an update to share, you can pass.

  • Tim A Jitsi room for every repo! Quick hack with the help of Yuvi today. Only enabled for small set of repos, lets see how it goes (zoom bombing :-/ ?) https://twitter.com/betatim/status/1263474454467878915

    • Appears as a link in the binder jupyter singleuser-server

  • Sarah I have had talks on Binder accepted at eRum, EuroPython, JuliaCon and CogX! :tada: (So if you don’t hear from me for a while, it’s because I’m feverishly writing presentations!)

  • Erik Regarding Kubernetes setups for z2jh/binderhub/kubespawner, k3s provides a good experience so far. Autohttps matters led to considering a bigger rework of jupyterhub/binderhub CI.

    • Simon Is there an GH issue to track the K3S refactor?

    • Erik I’ll update this PR and do my best to get it merged, then help explicitly with testing.

  • Chris Georgiana’s blog post: https://blog.jupyter.org/cir-report-i-1ca418c230cd

Reports and celebrations#

This is a place to make announcements (without a need for discussion). This is also a great place to give shout-outs to contributors! We’ll read through these at the beginning of the meeting.

  • Many thanks to Erik for doing some infrastructure work on BinderHub testing as well as Z2JH releasing!

  • Many thanks to Simon for dealing with a difficult situation in the jupyterhub issues and handling it well, as well as Sarah and Erik for following up with team support

Agenda items#

This is what we’ll cover in the meeting (we have about 60m in total). We’ll copy the proposed agenda topics above here just before the meeting.

  • Move the repo2docker GitHub action to the JupyterHub organisation on GitHub? [Tim] 5min

    • machine-learning-apps/repo2docker-action#14 for context

    • This runs repo2docker in your repository and potentially pushes your image somewhere.

    • Tim thinks that would be fine and would increase discoverability of the action

    • Tim likes that the current maintainer wants to continue maintenance, this is where we have least resources

    • Chris I think this sounds great, especially if they are happy to continue with maintenance. Perhaps we can get them to engage in the Binder world more generally!

    • TODO: Can we add a license before moving

    • Decision: Positive on moving it, also good to bring its maintainer closer to our team and have more collaboration.

  • OVH cluster needs some Tender Loving Care [Tim] 10min

    • currently the OVH cluster is “out of etcd storage”

    • as a result not being deployed to

    • etcd storage problem probably caused by attempting to install cert-manager

    • cert-manager doesn’t work because let’s encrypt challenges don’t get routed to the solvers it adds

    • this is probably the root cause

    • does anyone know/have time and interest to look into why traffic doesn’t get routed despite Service and Ingress objects being in place?

    • nbviewer running on the same cluster, so we have to be a bit careful and can’t wipe the whole thing.

      • Is it possible to disentangle these? A: they are in separate namespaces so shouldn’t be a problem in normal operations, but means you can’t “just” delete whole cluster.

    • A person working on this would probably start with kubectl and poke around to see where it’s going wrong.

      • if you have access to the secrets in mybinder.org-deploy you have access to the credentials needed to kubectl into the cluster

    • Check if the ingress controller is reacting to the newly created Ingress objects

      • this was (maybe) a problem Min observed previously

    • https://www.youtube.com/watch?v=ix0Tw8uinWs - how spotify deleted their k8s clusters

    • Less communicaiton with OVH lately, but they are definitely still paying attention and can probably help if needed.

    • Result: Issue jupyterhub/mybinder.org-deploy#1445

  • Increased resources template [Tim]

    • create an issue template in mybinder.org-deploy? Something like the below:

      Hi, good luck with the webinars and fingers crossed! For one off/time limited events we can usually raise the limit.

      Could you please create a new issue to help us keep track of this? In the issue please mention:

      • who you are,

      • a few details about the event/course/context,

      • if money is changing hands (attendees pay a fee, speaker is getting paid, free, etc)

      • a link to the repository you are using,

      • what type of event it is (a talk, a workshop, lecture course, training session)

      • how many people you expect to attend the event,

      • the exact times and dates of the event(s) (with timezone information) (Chris maybe w/ a note about we’d like a >48H lead time)

      That would be great as it gives us all the information we need to make a decision and set things up. It also allows us to track our impact which will be useful when we report to those who fund mybinder.org or seek new funding.

    • When would we say “no” to such a request (how much is too much?)

      • Good to think about it to be fair, not just our friends asking

    • should we advertise increased resources more widely? (re: point above, too)

      • maybe wait for a few more people using it

    • TODO: make an issue to track this

    • TODO: do we get both organizational and repo-based templates at the same time? We want to know.

    • TODO: add a minimum lead time to the template

    • Should we request (or ask if they) tell others that they will advertise mybinder as the service running it?

    • Result: Yes, we want to add this as a template. Georgiana and Sarah take a look.

  • Follow-up of support bots [Simon] (5m):

    • They were originally brought in to help direct people to Discourse for support issues, which often need more eyes than watch one repo

    • But, different issues were answered different ways (to discourse or in the issue), meaning there was slightly unfair treatment

    • Support bot (issue label automatically closes and points to discourse) makes it less personal and hopefully more fair. (https://blog.jupyter.org/cir-report-i-1ca418c230cd)

    • Standardise the issue template for JupyterHub repositories #1

    • Add request info bot #4

    • Everyone happy with them?

      • Tim 👍

      • (add yourself)

      • Sarah

      • Erik

      • Chris

    • Have we figured out how to activate them on all repos?

    • Result: No one opposed, many positive. Someone with organization access should look into it. ________ will.

  • BinderHub CI updates [Erik]

    • I’d like to test an automatic HTTPS setup to replace kube-lego, active WIP PR here.

    • I realize I’ve ended making major changes in order to avoid building on a beast of bash

    • While this PR may break out to be a set of PRs, there will still be a big PR - how to go about this?

      • 1: it will be hard to review

      • 2: I don’t think I can make it review-friendly

    • Can this be made generally reusable?

      • Erik: possibly but not trying to optimize for this before a need

    • What do you need to help push this through?

      • Like to see it merged by someone who is able to say “this makes sense”

      • Live review session could be more efficient than trying to write text to describe it.

    • Decison: Min/Simon/(Chris) can do live review session / make time poll and find a time to do it.

  • (random fun idea) Linux has a Penguin as its mascot, JupyterHub should have something

  • Ended xx:59, thanks everyone!