New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
(JWA): Add server type selector for jupterlab, vs-code and r-studio #5646
Conversation
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: DavidSpek The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Adding these links for reference: Rstudio: https://rstudio.com/about/trademark/ I'll chase down VSCode's usage. |
Thanks for the links @castrojo. Regarding Jupyter, I think it is pretty clear from the text already:
|
@castrojo I've just sent an email to R-Studio regarding the use of the logo. |
f5256f9
to
f142229
Compare
I'll also start reviewing this PR so that we can have the necessary infra ready for the new R-Studio and VSCode images. This can be done in parallel with our discussion around the image names #5575. I'll also try to update our design doc with the designs we will make here. @davidspek is the PR ready for review? cc @kubeflow/wg-notebooks-leads |
@kimwnasptd Yes it's ready for review. |
15aaef1
to
f142229
Compare
Starting looking into this. I'm good with how the form looks and how the config map will be updated. Although we should redesign its fields at some point in the future but for now it's more than fine. The first thing we should change though is how the SVGs are sent to the frontend. Let's have the frontend directly fetch them from the backend and not inline them in the config. I'm looking into how we can do this and what parts need to be changed, so I'll provide some more feedback and snippets/examples in a little bit. Thanks for the effort @davidspek! |
@kimwnasptd Two quick things.
Regarding the spawner_ui.yaml in general, me and Mathew were already thinking about what would be a better modular structure and started on a proposal for this. An important idea here is that an arbitrary number of image groups can be in the yaml, and the frontend picks up on this. |
I know, but we shouldn't include static files into the configuration yaml, as it seems a little bit dirty. The browser will also not be able to cache these svgs in case they are embedded in the config. Providing a URL for them instead, in the configuration yaml, will make it easy for people to select any SVG they want and the browser will also be able to cache them. |
Makes sense, give me a heads up when you're ready |
f142229
to
40ebdc8
Compare
@kimwnasptd I just fixed the JSON part so that is ready. Regarding the SVG in the yaml, it isn't very pretty, but the way it works is that the backend dumps the SVG's to a file in the |
Some first comments after diving a little bit deeper into the code and the commits. Before jumping into different parts of the review I'd like to invest some time and discuss a little bit more about the structure of the commits. These are some tips to make a PR easier for the reviewer to review. The first thing to remember is that a lot of reviewers will be reviewing the code by looking at the commits one by one and not directly from the GitHub UI, where it shows the entire list of changes. With this in mind some tips are:
These are just some friendly tips from a quick look on the PR that I believe could drastically improve the PRs you submit and make them really easy to review. And again let me stress out that I'm not trying to neither undermine your work nor try and talk from a high horse. Every developer always has room to improve on how they use git and collaborate with each other, myself included! These are only meant to be tips from on fellow developer to another :) |
The failed test was the access-management build: https://argo.kubeflow-testing.com/workflows/kubeflow-test-infra/kubeflow-kubeflow-presubmit-ac-mgr-tests-5646-2605340-5088-94f9?tab=workflow&nodeId=kubeflow-kubeflow-presubmit-ac-mgr-tests-5646-2605340-5088-94f9-681790487. |
@kimwnasptd How important is it to have the image groups (jupyter, vscode, rstudio) togetehr under
|
I'm OK with not putting them under My first thought would be to rename |
@kimwnasptd Great timing! I just pushed the commit that implements this. There is already a comment that specifies the |
4d085be
to
824e026
Compare
@davidspek looking at the commits I see you've addressed all of my comments, thanks! I'll test the PR tomorrow in my cluster and if everything works as expected I'll merge the PR |
@kimwnasptd Awesome! For what it's worth I've just deployed this latest iteration along with the notebook-controller that's on ECR and it is working as expected (got my cluster somewhat fixed again). Don't forget to update the spawner YAML or the JWA backend won't be happy. |
I tested the changes locally and in my cluster and the app works as we described. Thank you for your efforts on this @davidspek, it is a very nice addition! I'll merge this PR and move forward with updating the manifests. I was preparing a PR that adds some missing ENV Vars plus the use of the AWS image, so I'll include these changes there as well. I'll also modify the spawner.config in the manifests to match the one from this PR. I'll just use the Notebook images in the configmap from this PR, but we can update to use the latest ones in a subsequent PR /lgtm |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: DavidSpek, kimwnasptd The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Closes: #3362
This PR adds a selector to the notebook creation page allowing the user to select what type of server they want to start. The options are: Jupyter, VS-Code and R-Studio. When VS-Code or R-Studio are selected, the settings required to run the selected server type are added to the Notebook using the updates to the notebook-controller from #5660. These settings are also applied to custom images (if this is unwanted, leave jupyterlab selected). To go along with this, the
spawner_ui_config.yaml
has been modified to have 3 different types of images (jupyterImage
,vscodeImage
andrstudioImage
).Server type selector:
When VS-Code is selected, the drop down list shows entries from the
vsCodeImage
section of thespawner_ui_config.yaml
:The same goes for R-Studio:
The index page has a new column that show what type of server a give notebook is:
/cc @kimwnasptd @StefanoFioravanzo @thesuperzapper @elikatsis @yanniszark