datahub
datahub copied to clipboard
Use group properties to manage singleuser server resources
Summary
JupyterHub 4.0 will have group properties
Since this permits a hub admin to assign arbitrary properties, we could assign RAM to singleuser servers through group properties. This would enable infrastructure staff or course staff to alter resources without necessarily having to alter the deployment configuration.
User Stories
Instructors often need to bump RAM for specific assignments, so they will file a github issue. Infra staff alters the deployment config and pushes the change through CI. With this feature, the instructor could create arbitrary groups within bCourses, then alter group properties within the hub's administrative UI. They would be able to dynamically assign resources without infra staff intervention.
Acceptance criteria / Tasks to complete
- [x] Create jupyterhub groups from Canvas groups (WIP). We already create groups based on Canvas enrollments, but we can do the same for Canvas groups. Instructors would be able to create groups for the duration of the course, or for specific assignments. I am working on this for RTC purposes, but it'd be useful for spawning too.
- [ ] Appropriately scope ability to alter group properties. Since instructors would be able to increase resources whenever they want, we'd want to make sure only designated people had this ability. There would need to be oversight and education for this feature since it could massively affect spending.
- [ ] Alter spawner to evaluate properties and change allocated resources.
Important information
- https://github.com/jupyterhub/jupyterhub/issues/4350
@ryanlovett This seems like a good use case for simplifying our workflow. It would definitely reduce a PR to bump up resources at my end.
For instructors, (as you highlighted) we need to figure out a process where they get our buy in before bumping up resources. As much as we don't want to add friction to their workflow, we do want to control the final decision for these type of requests
@balajialg Absolutely. You might not choose to widen the scope of authorization, but infra staff would still be able to do the allocation through the admin interface.
Sounds good @ryanlovett