-
Notifications
You must be signed in to change notification settings - Fork 9
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
Enable configuration of New Notebook UI #345
Conversation
This commit adds configuration for: * the default number of GPUs and the GPUs available * the default PodDefaults selected * the Toleration configurations available * the Affinity configurations available These configurations are enabled through newly exposed charm configs. These configs are lightly validated to ensure they're valid yaml, but not validated enough to ensure things like Tolerations or Affinities are proper Kubernetes yaml
57be5ca
to
5c2f1d4
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, I left some commments + tests seem to still fail.
Previously, _get_image_config incorrectly passed inputs of "True", ""a string"", and "{}" as allowed inputs even though they were not acceptable. This commit fixes these validation errors and improves the tests around them
Renames _render_jwa_file_with_images_config to _render_jwa_spawner_inputs to reflect its broader scope, and makes the method static
…escriptive variable names Renames the variables within _get_options_with_default_from_config to be more descriptive of their content
Note to reviewers: due to this upstream bug, the jwa expects the default |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
good job, a slight comment. Other than that, LGTM!
(cherry pick of 3ec71e9 from main) * Enable configuration of New Notebook UI This commit adds configuration for: * the default number of GPUs and the GPUs available * the default PodDefaults selected * the Toleration configurations available * the Affinity configurations available These configurations are enabled through newly exposed charm configs. These configs are lightly validated to ensure they're valid yaml, but not validated enough to ensure things like Tolerations or Affinities are proper Kubernetes yaml (cherry picked from commit 3ec71e9)
* Enable configuration of New Notebook UI (#345) (cherry pick of 3ec71e9 from main) * Enable configuration of New Notebook UI This commit adds configuration for: * the default number of GPUs and the GPUs available * the default PodDefaults selected * the Toleration configurations available * the Affinity configurations available These configurations are enabled through newly exposed charm configs. These configs are lightly validated to ensure they're valid yaml, but not validated enough to ensure things like Tolerations or Affinities are proper Kubernetes yaml (cherry picked from commit 3ec71e9) * Fix spawner_ui_config.yaml to use correct null values for configurations (#361) Previously, the spawner_ui_config.yaml was rendered with empty strings and lists being rendered as null values in the configuration file. For example if the GPU vendors list was empty and the default vendor was `""`, the config file would have (shown truncated): ``` gpus: value: vendor: vendors: ``` whereas jupyter web app expected: ``` gpus: value: vendor: "" vendors: [] ``` This commit updates the template to ensure we always output the correct empty values. Closes #360 (cherry picked from commit 211a37b)
This commit adds configuration for:
These configurations are enabled through newly exposed charm configs. These configs are lightly validated to ensure they're valid yaml, but not validated enough to ensure things like Tolerations or Affinities are proper Kubernetes yaml
Closes kubeflow/kubeflow#336.
Reviewer notes
Code is ready to review, but I still have to flesh out the readme (that is bookkept separately in kubeflow/kubeflow#337). Example config inputs for testing are:
For testing, I build my environment with:
sample_gpu_vendors.yaml:
sample_affinity_config.yaml:
sample_tolerations_config.yaml:
sample_poddefaults.yaml: