jupyterhub / wrapspawner

Mechanism for runtime configuration of spawners for JupyterHub
BSD 3-Clause "New" or "Revised" License
60 stars 58 forks source link

JupyterHub 0.8.0 seems to require oauth_client_id with wrapspawner #11

Closed rcthomas closed 6 years ago

rcthomas commented 7 years ago

We are testing out wrapspawner.ProfilesSpawner against the upcoming JupyterHub 0.8.0, which I think will be released "in the next week or two." An odd thing happens with ProfilesSpawner, in particular using any particular Spawner like it (even LocalProcessSpawner) fails with

ValueError: oauth_client_id cannot be empty.

In 0.8.0 authentication of services with the hub is handled by OAuth, but my understanding is that there aren't any such services being used here by wrapspawner.

At this gist are a Dockerfile and configuration file that can be used to reproduce the problem and some instructions. I've had 2 colleagues test it out and they can get the failure. Note that we are building this Dockerfile against our fork of wrapspawner for now that has a "fix" for what I mentioned in #10, (I am not convinced that was the right fix, so I haven't done a PR with it).

See the Dockerfile for the test login credentials, but you could also change the configuration so that passwordless/create users happens in LocalProcessSpawner I guess.

mbmilligan commented 7 years ago

Ok, I think I see the issue. The Spawner attributes related to the new OAuth functionality need to be copied into the child spawner here in construct_child. It looks we need to pass through values for api_token and oauth_client_id.

farassadek commented 7 years ago

It took me a day tracing the code to figure out that 0.8.0 is broken so I had to revert to 0.7.2. Do you know if this will be fixed any time soon ?

Note : I used anaconda conda-forge to install jupyterhub which installs jupyterhub 0.8.0 by default . So folks who intend to do the same , be aware.

Thanks Faras

mbmilligan commented 7 years ago

Yes, 0.8.0 was officially released 2 days ago. Thanks for the heads-up about conda-forge. I agree that this needs a fix asap, and I hope to have one in the next week. I'll happily accept a PR sooner though, provided it fixes the issue while maintaining backwards compatibility.