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

Initialize the Jupyter web app frontend in crud-web-apps #5332

Merged

Conversation

kimwnasptd
Copy link
Member

This is the last part for #5310 and follow up of #5316

In this PR I introduce the bulk of the frontend. I've made some small backend changed to accommodate some of the UI's new features.

This UI should be on par with the current one under components/jupyter-web-app with only exclusion being the functionality of #5086. But since I want to unblock @thesuperzapper and work on integrating the features from #5280 let's move forward with this PR and I'll also by working on added this functionality.

Some new features:
Start/Stop Notebooks @thesuperzapper has also implemented an iteration on this on #5280 which we could also use
nb-start-stop

Advanced options for allowing the users to specify the image pull policy of the Notebook's image
advanced-options

Don't allow selecting GPUs that are not installed
gpus

As with #5316 we (Arrikto) are deploying this jupyter web app on MiniKF and have extensively tested it. So @elikatsis @yanniszark and @StefanoFioravanzo will most probably not have something big to propose in the review.

cc @thesuperzapper

For the frontend to work properly we will need to add the following
changes to jupyter web app's backend as well as to the common backend
code:
* rename the references from `flask_rest_backend` to `crud_backend` in
  the web app's backend code
* add a route for exposing GPU info. This way the UI will block users
  from creating Notebooks with a GPU type that is not installed at all
  in the cluster

Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>
New functionality added:
* An `Advanced Settings` button that can expand and shrink to
  expose/hide more options in the form
* All validators will have a debounce time to make the input of
  characters smoother
* Extend the Status types to allow start/stopped resources
* Extend the main table config to support a button [ ex CONNECT for
  jupyter web app ]
* The http services should use relative URLs

Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>
The bulk of the new frontend code. The folder structure is changed to
make it more clear what pages are used from the page.

Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>
Add Makefile and Dockerfiles. Note that GCB build process needs to be
updated.

Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>
Add a readme that explains how to build the app and have a development
environment.

Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>
@kubeflow-bot
Copy link
Contributor

This change is Reviewable

@kimwnasptd
Copy link
Member Author

/assign kimwnasptd

@thesuperzapper
Copy link
Member

@kimwnasptd We need to get this merged soon if we want to make the Kubeflow 1.2 cut (which is realistically in a few days).

To get these changes ready for release (after this PR is merged), we need to:

Alternatively, we could:

@thesuperzapper
Copy link
Member

@kimwnasptd I would review this, but I need to be in the OWNERS to approve it, should I raise a PR for that?

@kimwnasptd
Copy link
Member Author

Didn't have a lot of cycles the past days, but I'm not ready to keep on pushing on this.

@thesuperzapper sure, adding you as an approver will allow us to coordinate and develop faster. I'll comment also in the corresponding PR.

In the mean time @elikatsis and @StefanoFioravanzo you can move forward with merging this PR so we can start adding new features.

@elikatsis
Copy link
Member

/lgtm
/approve

@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: elikatsis, 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 /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot merged commit 89b1395 into kubeflow:master Oct 27, 2020
2 of 3 checks passed
@kimwnasptd kimwnasptd deleted the feature-kimwnasptd-frontend-revamp branch December 23, 2020 11:41
saffaalvi pushed a commit to StatCan/kubeflow that referenced this pull request Feb 11, 2021
* Update the backend

For the frontend to work properly we will need to add the following
changes to jupyter web app's backend as well as to the common backend
code:
* rename the references from `flask_rest_backend` to `crud_backend` in
  the web app's backend code
* add a route for exposing GPU info. This way the UI will block users
  from creating Notebooks with a GPU type that is not installed at all
  in the cluster

Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>

* Update the common frontend library

New functionality added:
* An `Advanced Settings` button that can expand and shrink to
  expose/hide more options in the form
* All validators will have a debounce time to make the input of
  characters smoother
* Extend the Status types to allow start/stopped resources
* Extend the main table config to support a button [ ex CONNECT for
  jupyter web app ]
* The http services should use relative URLs

Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>

* Update the frontend to utilize the common code

The bulk of the new frontend code. The folder structure is changed to
make it more clear what pages are used from the page.

Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>

* {Make,Docker}files

Add Makefile and Dockerfiles. Note that GCB build process needs to be
updated.

Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>

* README.md

Add a readme that explains how to build the app and have a development
environment.

Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>
saffaalvi pushed a commit to StatCan/kubeflow that referenced this pull request Feb 12, 2021
* Update the backend

For the frontend to work properly we will need to add the following
changes to jupyter web app's backend as well as to the common backend
code:
* rename the references from `flask_rest_backend` to `crud_backend` in
  the web app's backend code
* add a route for exposing GPU info. This way the UI will block users
  from creating Notebooks with a GPU type that is not installed at all
  in the cluster

Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>

* Update the common frontend library

New functionality added:
* An `Advanced Settings` button that can expand and shrink to
  expose/hide more options in the form
* All validators will have a debounce time to make the input of
  characters smoother
* Extend the Status types to allow start/stopped resources
* Extend the main table config to support a button [ ex CONNECT for
  jupyter web app ]
* The http services should use relative URLs

Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>

* Update the frontend to utilize the common code

The bulk of the new frontend code. The folder structure is changed to
make it more clear what pages are used from the page.

Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>

* {Make,Docker}files

Add Makefile and Dockerfiles. Note that GCB build process needs to be
updated.

Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>

* README.md

Add a readme that explains how to build the app and have a development
environment.

Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants