Skip to content
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

New Jupyter spawner Ui doesn't allow entering a custom image #2060

Closed
jlewi opened this issue Dec 7, 2018 · 3 comments · Fixed by #2079
Closed

New Jupyter spawner Ui doesn't allow entering a custom image #2060

jlewi opened this issue Dec 7, 2018 · 3 comments · Fixed by #2079
Labels
area/jupyter Issues related to Jupyter priority/p1
Projects

Comments

@jlewi
Copy link
Contributor

jlewi commented Dec 7, 2018

With the new spawner UI, it doesn't look like we can enter a custom docker image. We can only select prebuilt images.

@ioandr @vkoukis is this a quick fix we can complete before 0.4?

@jlewi jlewi added priority/p1 area/jupyter Issues related to Jupyter labels Dec 7, 2018
@jlewi jlewi added this to To do in 0.4.0 via automation Dec 7, 2018
@ioandr
Copy link
Contributor

ioandr commented Dec 8, 2018

The decision to use HTML <select> element for the Docker Image option was made to always show the full list of available Docker images. This was not the case in the old Jupyter UI, as users reported in Slack, since the autocomplete feature of HTML <input> + <datalist> combination that was previously used prevented some Image options from showing.

However, we believe it is crucial to allow users to specify custom Docker Images. We consider the following options:

  • rollback to the HTML <input> + <datalist> combination that was used in the previous Jupyter UI
  • add a radio button to choose between 'standard' and 'custom' Docker Image. If 'standard' is chosen, the form will show the existing HTML <select> dropdown list. If 'custom' is chosen, the form will show an HTML <input> field where the user can provide the name/endpoint of the desired Docker image.

We lean towards the second option, as it is more flexible and provides a better user experience.

As a workaround for now, custom images can be specified in the jupyter/ui/default/config.yaml configuration file by adding an extra entry under the image options YAML key. For the change to take effect, the Jupyter component needs to be re-deployed using the ksonnet cli.

If there are no objections on the proposed solution, we will come back with a PR to fix this issue.

@ioandr
Copy link
Contributor

ioandr commented Dec 10, 2018

@jlewi we have already started the implementation of option 2, as described above. We will open a PR that should be ready for review very soon.

ioandr added a commit to arrikto/kubeflow that referenced this issue Dec 11, 2018
* Add a radio button to enable users to select between 'standard' and 'custom' container
  images for their Jupyter Notebooks. Based on the checked option, the form dynamically
  switches between a dropdown list (standard images) and an input field (custom image).

Closes kubeflow#2060

Signed-off-by: Ioannis Androulidakis <ioannis@arrikto.com>
Signed-off-by: Ilias Tsitsimpis <iliastsi@arrikto.com>
ioandr added a commit to arrikto/kubeflow that referenced this issue Dec 11, 2018
* Add a radio button to enable users to select between 'standard' and
  'custom' container images for their Jupyter Notebooks. Based on the
  checked option, the form dynamically switches between a dropdown list
  (standard images) and an input field (custom image).

Closes kubeflow#2060

Signed-off-by: Ioannis Androulidakis <ioannis@arrikto.com>
Signed-off-by: Ilias Tsitsimpis <iliastsi@arrikto.com>
@jlewi
Copy link
Contributor Author

jlewi commented Dec 16, 2018

@ioandr SGTM thanks

ioandr added a commit to arrikto/kubeflow that referenced this issue Dec 17, 2018
Add a radio button to enable users to select between 'standard' and
'custom' container images for their Jupyter Notebooks. Based on the
checked option, the form dynamically switches between a dropdown list
(standard images) and a text input field (custom image).

In order to disable custom user container images the admin user must
set the image Spawner option as readOnly inside the corresponding
`config.yaml` file. In this case, users will only be able to select a
standard container image from the existing dropdown list, whose values
are also specified in `config.yaml`.

Closes kubeflow#2060

Signed-off-by: Ioannis Androulidakis <ioannis@arrikto.com>
Signed-off-by: Ilias Tsitsimpis <iliastsi@arrikto.com>
ioandr added a commit to arrikto/kubeflow that referenced this issue Dec 17, 2018
Add a radio button to enable users to select between 'standard' and
'custom' container images for their Jupyter Notebooks. Based on the
checked option, the form dynamically switches between a dropdown list
(standard images) and a text input field (custom image).

In order to disable custom user container images the admin user must
set the image Spawner option as readOnly inside the corresponding
`config.yaml` file. In this case, users will only be able to select a
standard container image from the existing dropdown list, whose values
are also specified in `config.yaml`.

Closes kubeflow#2060

Signed-off-by: Ioannis Androulidakis <ioannis@arrikto.com>
Signed-off-by: Ilias Tsitsimpis <iliastsi@arrikto.com>
@jlewi jlewi moved this from To do to Train Deploy From Notebook in 0.4.0 Dec 17, 2018
ioandr added a commit to arrikto/kubeflow that referenced this issue Dec 18, 2018
Add a radio button to enable users to select between 'standard' and
'custom' container images for their Jupyter Notebooks. Based on the
checked option, the form dynamically switches between a dropdown list
(standard images) and a text input field (custom image).

In order to disable custom user container images the admin user must
set the image Spawner option as readOnly inside the corresponding
`config.yaml` file. In this case, users will only be able to select a
standard container image from the existing dropdown list, whose values
are also specified in `config.yaml`.

Closes kubeflow#2060

Signed-off-by: Ioannis Androulidakis <ioannis@arrikto.com>
Signed-off-by: Ilias Tsitsimpis <iliastsi@arrikto.com>
0.4.0 automation moved this from Train Deploy From Notebook to Done Dec 18, 2018
k8s-ci-robot pushed a commit that referenced this issue Dec 18, 2018
* Reset Volumes and VolumeMounts before each API call

Clean up previously appended Volumes and VolumeMounts before creating a
new Notebook Pod in K8s.

Signed-off-by: Ioannis Androulidakis <ioannis@arrikto.com>
Signed-off-by: Ilias Tsitsimpis <iliastsi@arrikto.com>

* Allow custom container images in the JH Spawner UI

Add a radio button to enable users to select between 'standard' and
'custom' container images for their Jupyter Notebooks. Based on the
checked option, the form dynamically switches between a dropdown list
(standard images) and a text input field (custom image).

In order to disable custom user container images the admin user must
set the image Spawner option as readOnly inside the corresponding
`config.yaml` file. In this case, users will only be able to select a
standard container image from the existing dropdown list, whose values
are also specified in `config.yaml`.

Closes #2060

Signed-off-by: Ioannis Androulidakis <ioannis@arrikto.com>
Signed-off-by: Ilias Tsitsimpis <iliastsi@arrikto.com>

* Add basic server-side validation of config values

Spawner option values marked as readOnly inside `config.yaml` have higher
priority than user-specified form values and should be applied unchanged.

Signed-off-by: Ioannis Androulidakis <ioannis@arrikto.com>
Signed-off-by: Ilias Tsitsimpis <iliastsi@arrikto.com>

* Do not use Math.round() for Volume Size in Rok UI

Signed-off-by: Ioannis Androulidakis <ioannis@arrikto.com>
Signed-off-by: Ilias Tsitsimpis <iliastsi@arrikto.com>

* Add comments and examples in JH Spawner config files

Signed-off-by: Ioannis Androulidakis <ioannis@arrikto.com>
Signed-off-by: Ilias Tsitsimpis <iliastsi@arrikto.com>
saffaalvi pushed a commit to StatCan/kubeflow that referenced this issue Feb 11, 2021
* Reset Volumes and VolumeMounts before each API call

Clean up previously appended Volumes and VolumeMounts before creating a
new Notebook Pod in K8s.

Signed-off-by: Ioannis Androulidakis <ioannis@arrikto.com>
Signed-off-by: Ilias Tsitsimpis <iliastsi@arrikto.com>

* Allow custom container images in the JH Spawner UI

Add a radio button to enable users to select between 'standard' and
'custom' container images for their Jupyter Notebooks. Based on the
checked option, the form dynamically switches between a dropdown list
(standard images) and a text input field (custom image).

In order to disable custom user container images the admin user must
set the image Spawner option as readOnly inside the corresponding
`config.yaml` file. In this case, users will only be able to select a
standard container image from the existing dropdown list, whose values
are also specified in `config.yaml`.

Closes kubeflow#2060

Signed-off-by: Ioannis Androulidakis <ioannis@arrikto.com>
Signed-off-by: Ilias Tsitsimpis <iliastsi@arrikto.com>

* Add basic server-side validation of config values

Spawner option values marked as readOnly inside `config.yaml` have higher
priority than user-specified form values and should be applied unchanged.

Signed-off-by: Ioannis Androulidakis <ioannis@arrikto.com>
Signed-off-by: Ilias Tsitsimpis <iliastsi@arrikto.com>

* Do not use Math.round() for Volume Size in Rok UI

Signed-off-by: Ioannis Androulidakis <ioannis@arrikto.com>
Signed-off-by: Ilias Tsitsimpis <iliastsi@arrikto.com>

* Add comments and examples in JH Spawner config files

Signed-off-by: Ioannis Androulidakis <ioannis@arrikto.com>
Signed-off-by: Ilias Tsitsimpis <iliastsi@arrikto.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/jupyter Issues related to Jupyter priority/p1
Projects
No open projects
0.4.0
  
Done
Development

Successfully merging a pull request may close this issue.

2 participants