Open jmunroe opened 2 years ago
Thank you for opening your first issue in this project! Engagement like this is essential for open source projects! :hugs:
If you haven't done so already, check out Jupyter's Code of Conduct. Also, please try to follow the issue template as it helps other other community members to contribute more effectively.
You can meet the other Jovyans by joining our Discourse forum. There is also an intro thread there where you can stop by and say Hi! :wave:
Welcome to the Jupyter community! :tada:
Thanks, @jmunroe for validating and amplifying @ryanlovett's request upstream! Both the progress bar to track the pod startup and the countdown to timeout ideas look promising. It will definitely reduce the number of error messages we get from students who are anxious about pods launching during assignment deadlines at Berkeley.
ohai! i'm shane, and taking over yuvi's role at UCB.
i've put this PR together, which addresses some of the suggestions here: https://github.com/berkeley-dsep-infra/datahub/pull/3963
right now, after 60sec it inject a message every 5sec imploring the user to be patient... this is hopefully something i'd like to eventually get upstream. :)
Proposed change
I think the user experience from kubespawner's
progress
could be improved. Currently, the language used is fairly specific to kubernetes (refering to things like 'tainted' nodes that don't necessarily have meaning for end users.When a users sees a "warning" from kubernetes they are not able to understand that as something to be concerned about or whether that is normal behaviour. User behaviour appears to be, upon seeing warnings or waiting a "long time" (which in a world of instant on might be anything longer than 1-2 mins!), causing a server to shut down and restarted. This bounces the user to the end of the queue which is probably not the intended effect.
Is there a way of augmenting the process output when waiting for server to spawn? Ideally, giving some user feed back about how long this is "supposed" to take (maybe drawn from metrics of previous server spawns?)
Also, I think it is wise to advise the user that a new node needs to be provisioned (and usually takes xx of time) and alerting that image is being downloaded (and usually takes xxx of time). I think would provide valuable feedback to an end user. Bonus feature: progress bar (25% when node is being provisioned, 50% when node is provisioned, 75% when the container image is downloaded). It doesn't need to be precise; users just need some guidance on how many more steps need to occur before their servers appears. (And guidance that what they are experiencing is normal, expected behaviour).
Finally, I think it should shared with users that there is also a "time-out" of so many seconds so that is the maximum amount of time you should every need to be waiting! if it is taking longer than that, something is definitely wrong.
Who would use this feature?
Improve user experience by given more useful information about the start up process which will potentially reduce anxiety from users.
(Optional): Suggest a solution
(Based on a conversation with @yuvipanda and inspired from https://github.com/berkeley-dsep-infra/datahub/issues/3845)