-
Cherry-pick latest commits to the 1.5-branch (#6354)
发布于
2022-02-11 16:07:40 +00:00 -
Fix(manifests): Upgrade rbac.authorization.k8s.io from v1beta1 to v1 (#6261)
-
proposal: Extend Notebook Controller to expose idleness for Jupyter (#6295)
-
proposal: Extend Notebook Controller to expose idleness for Jupyter (#6270)
Provide a design doc as a proposal for extending Notebook Controller to
expose idleness for Jupyter. Our proposal is in markdown format and follows
the guidelines of the kubeflow/components/proposal/README.md guide.You can view the #6270 issue in the following link:
https://github.com/kubeflow/kubeflow/issues/6270Signed-off-by: Athanasios Markou athamark@arrikto.com
- review: change the title of the proposal
Change the title of the proposal to only include the
proposed new feature. The new title of the proposal
will now be "Expose Idleness Information for Jupyter
Notebooks".- review: rename the proposal markdown file
We want to give a more specific name to the markdown
which contains the proposal. Since this proposal
emphasizes on a feature regarding the Jupyter Notebooks,
the new name will be:20220121-jupyter-notebook-idleness.md
-
Synchronize jupyter-web-application role with clusterrole (#6241)
-
Update role.yaml
-
Update role.yaml
-
Update cluster-role.yaml
-
Kubeflow Roadmap update - with 1.5 details (#6266)
-
Kubeflow Roadmap update - with 1.5 details
These proposed changes include: identifying that 1.4.1 has been delivered, provides themes for 1.5 and provides details of major features in 1.5 by working group. This is an initial proposal that needs review by the working group leads.
- correct formatting in KFP features
Moved KFP features under KFP Control Flow doc
- updating KFP section
updating KFP references with updates from KFP team
- Updated the 1.5 release date to March
updated the 1.5 release date to March
- Update ROADMAP.md
change Hyperparameter leader election to Katib leader election
Co-authored-by: Andrey Velichkevich andrey.velichkevich@gmail.com
- Update ROADMAP.md
improve description and details of feature for metrics collector
Co-authored-by: Andrey Velichkevich andrey.velichkevich@gmail.com
- Update Katib description for Early stopping in 1.5
updating with Andrey's suggestion (but without the world proper). * Validation for Early Stopping algorithm settings helps users to proper reduce model overfitting
Co-authored-by: Andrey Velichkevich andrey.velichkevich@gmail.com
-
notebooks: Extend Notebook Controller to expose idleness for Jupyter (#6297)
-
notebooks: Update image's tag in make
Modify Makefile to update properly the TAG
based on the git TAG.Signed-off-by: Athanasios Markou athamark@arrikto.com
Reviewed-by: Kimonas Sotirchos kimwnasptd@arrikto.com- notebooks: Expose last-activity
Extend the notebook-controller to:
- cull idle Notebook Servers based on their new
last-activity
annotation - expose the last activity of each Notebook Server as an annotation
on the metadata of the corresponding CR object
Modify notebook_controller.go to:
- update the Last Activity of each Notebook Server that has a
Running pod - delete the Last Activity Annotation for every Notebook Server
that does not have a Running pod
Extend culler.go to:
- perform culling based on the new
last-activityannotation and
not based on the/api/statusendpoint. - update the last activity of a Notebook Server, based on the
kernels' execution states.
Signed-off-by: Kimonas Sotirchos kimwnasptd@arrikto.com
Reviewed-by: Athanasios Markou athamark@arrikto.com- notebooks: Introduce a DEV env var
We introduce a DEV ENV var to allow admins
develop and test on their local machine their
custom Notebook Controller.
We provide information and instructions inside
the components/notebook-controller/README.md.Signed-off-by: Athanasios Markou athamark@arrikto.com
Reviewed-by: Kimonas Sotirchos kimwnasptd@arrikto.com-
notebooks: Add unit tests for last-activity
-
Introduce new tests for allKernelsAreIdle()
-
Extend the tests for NotebookIsIdle() and for
NotebookNeedsCulling().
Signed-off-by: Athanasios Markou athamark@arrikto.com
Reviewed-by: Kimonas Sotirchos kimwnasptd@arrikto.com- review: UpdateNotebookLastActivityAnnotation()
Ensure that UpdateNotebookLastActivityAnnotation() does not return
"true". This function should not return any value.Signed-off-by: Athanasios Markou athamark@arrikto.com
-
jwa: Rework the Storage API of the web app (#6321)
-
wa(back): Add helper for deserializing JSON obj
In some cases we might need to construct Python k8s lib objects from the
JSONs that are provided by clients. I.e. the UI will be sending a PVC
object in json format, so the backend will need to create the
corresponding client.V1PersistentVolumeClaim object and submit it.Signed-off-by: Kimonas Sotirchos kimwnasptd@arrikto.com
Reviewed-by: Ilias Katsakioris elikatsis@arrikto.com- wa(back): Serialization helper
Add helper function for converting a k8s-client object into a dict that
can be sent as an HTTP response.Signed-off-by: Kimonas Sotirchos kimwnasptd@arrikto.com
Reviewed-by: Ilias Katsakioris elikatsis@arrikto.com- wa(back): Add dry run to Notebooks and PVCs
The backend will need to be able to create objects with dry-run, in
order to ensure they are valid. The backend will need to check that both
the Notebook and the PVCs can be created beforehand.This way we avoid the scenario where we create PVCs but the Notebook
fails to be created, and the PVCs are never garbage collected.Signed-off-by: Kimonas Sotirchos kimwnasptd@arrikto.com
Reviewed-by: Ilias Katsakioris elikatsis@arrikto.com- wa(back): Update kubernetes to 0.17
In order to support dry-run we must use the 0.17 version of the Python
k8s client.Signed-off-by: Kimonas Sotirchos kimwnasptd@arrikto.com
Reviewed-by: Ilias Katsakioris elikatsis@arrikto.com- wa(back): Extend api module to patch pvcs
The backend will need to be able to PATCH PVCs in order to set the
ownerReference to the Notebook that mounts the PVCs.Ref: arrikto/dev/issues/386#issuecomment-856700392
Signed-off-by: Kimonas Sotirchos kimwnasptd@arrikto.com
Reviewed-by: Ilias Katsakioris elikatsis@arrikto.com- jwa(back): Work with new Volumes API
The backend API should not add any more layers of abstractions on top of
the K8s API. The backend should expect the client/UI to be sending the
entire PVC spec of a new PVC.Refs: arrikto/dev/issues/386
Signed-off-by: Kimonas Sotirchos kimwnasptd@arrikto.com
Reviewed-by: Ilias Katsakioris elikatsis@arrikto.com- jwa(back): Add unittests for new volumes API
Signed-off-by: Kimonas Sotirchos kimwnasptd@arrikto.com
Reviewed-by: Ilias Katsakioris elikatsis@arrikto.com- jwa(back): Extend the PVC info returned
We want to show both the access mode and size of the existing PVCs, when
a user clicks on the dropdown to select which PVC to mount.The backend will need to provide this information to the frontend. We
don't want to send the K8s list of PVCs since this will result in a lot
of unnecessary data to be sent.Signed-off-by: Kimonas Sotirchos kimwnasptd@arrikto.com
Reviewed-by: Ilias Katsakioris elikatsis@arrikto.com- jwa(front): Add proxy config for Rok
When developing the Rok flavor locally we will need to be able to open
the Rok chooser. This can be done by using Angular/webpack proxy to
bring the exposed rok service and the app under the same domain.Signed-off-by: Kimonas Sotirchos kimwnasptd@arrikto.com
Reviewed-by: Tasos Alexiou tasos@arrikto.com- jwa(front): Remove card from form
The form of the app should not be a big card, but a normal form.
Signed-off-by: Kimonas Sotirchos kimwnasptd@arrikto.com
Reviewed-by: Tasos Alexiou tasos@arrikto.com- jwa(front): Install AceModule for yaml editing
Install AceModule to allow users to edit yamls of objects.
Signed-off-by: Kimonas Sotirchos kimwnasptd@arrikto.com
Reviewed-by: Tasos Alexiou tasos@arrikto.com- wa(front): Change the styling of form sections
Signed-off-by: Kimonas Sotirchos kimwnasptd@arrikto.com
Reviewed-by: Tasos Alexiou tasos@arrikto.com- jwa(front): Create common volume components
Component for:
- New PVC and configuring its spec
- Attaching an existing PVC in a Notebook
Signed-off-by: Kimonas Sotirchos kimwnasptd@arrikto.com
Reviewed-by: Tasos Alexiou tasos@arrikto.com- jwa(front): Update Rok form for new Volume API
Signed-off-by: Kimonas Sotirchos kimwnasptd@arrikto.com
Reviewed-by: Tasos Alexiou tasos@arrikto.com- jwa(front): Mark inputs as dirty when restoring Lab
When the UI autofills the form with values from a JupyterLab snapshot
then it should mark the touched fields as dirty. This way if a field has
errors the UI will make that input red.Signed-off-by: Kimonas Sotirchos kimwnasptd@arrikto.com
Reviewed-by: Tasos Alexiou tasos@arrikto.com- jwa: Update ConfigMap in manifests
Signed-off-by: Kimonas Sotirchos kimwnasptd@arrikto.com
- jwa(front): Fix format errors
Signed-off-by: Kimonas Sotirchos kimwnasptd@arrikto.com
- profiles: Update the permissions for notebook idleness (#6335)
Extend the Profiles Controller to give permissions to Notebooks
controller for making GET requests to notebook's /api/kernels endpoint.Signed-off-by: Kimonas Sotirchos kimwnasptd@arrikto.com
-
notebooks: Graceful handling of events (#6338)
-
notebooks: Handle events gracefully
The controller is not exiting the reconciliation loop after it has
re-emitted a Pod/STS Event as a Notebook Event. This results in the
controller to later on try and GET a Notebook with the name of the Event
that triggered the reconciliation loop.The controller should exit the reconciliation function once it has
emitted the event.Signed-off-by: Kimonas Sotirchos kimwnasptd@arrikto.com
- notebooks: Don't reconcile on deleted events
We don't want to trigger the reconciliation function when an event gets
deleted.If a Notebook would be deleted then the underlying events would
be deleted as well, which results in the reconcile function to get
triggered and try to GET Events and Notebooks with the name of the
deleted event.Signed-off-by: Kimonas Sotirchos kimwnasptd@arrikto.com
-
notebooks: Fix endless restarts (#6341)
-
notebooks: Update notebook if timestamp changed
We don't want to be updating the spec of the notebook if the timestamp
hasn't changed, since this will lead to constant updates and
reconciliation loops.Signed-off-by: Kimonas Sotirchos kimwnasptd@arrikto.com
- notebooks: Use a deep-copy of the notebook spec
The controller should use a deep-copy of the notebook spec when
calculating the spec for the StatefulSet. If not then we could
update the notebook object without wanting it, since the spec could have
been changed when calculating the STS spec.Signed-off-by: Kimonas Sotirchos kimwnasptd@arrikto.com
- notebooks: Add prefix env var only if missing
The controller should be setting OR updating the NB_PREFIX env var.
Previously it would always blindly append it to the spec, which could
result in double entries for the same env var.Signed-off-by: Kimonas Sotirchos kimwnasptd@arrikto.com
- releasing: Update tags for v1.5.0-rc.1 (#6343)
Signed-off-by: Kimonas Sotirchos kimwnasptd@arrikto.com
Co-authored-by: Andrey Velichkevich andrey.velichkevich@gmail.com
下载附件
-