-
Notifications
You must be signed in to change notification settings - Fork 10
UI Support for PD #5326
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
UI Support for PD #5326
Conversation
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.
First path on API changes, haven't review UI change yet. Few general nit:
- There are many copy-paste errors from
runtime
->persistent disk
- I saw some test breakage caused by this change.
- No unit test for API changes. Adding tests is generally helpful.
api/src/main/java/org/pmiops/workbench/notebooks/LeonardoNotebooksClient.java
Show resolved
Hide resolved
api/src/main/java/org/pmiops/workbench/notebooks/LeonardoNotebooksClient.java
Outdated
Show resolved
Hide resolved
LeonardoGetPersistentDiskResponse response; | ||
List<LeonardoListPersistentDiskResponse> responseList = | ||
leonardoNotebooksClient.listPersistentDiskByProject(googleProject, false); | ||
responseList.sort( |
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.
How you guarantee the last created disk is the one we want? 10 users are using the same workspace, and create PDs at the same time. What would happen then?
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.
Sorry for the delayed reviews, will look at this today but possibly not until tonight.
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.
Thanks! looks simpler now!
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.
The API looks good - a few cleanups suggested. Can we split the UI changes out into a separate PR? It seems like it should be totally separable to me as there are no breaking API changes here.
api/src/main/java/org/pmiops/workbench/api/RuntimeController.java
Outdated
Show resolved
Hide resolved
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.
Note: you will need to merge or rebase with the Angular->React - likely it just affects the diskStore initialization.
Do you have the runtime panel spec changes?
ui/src/app/utils/runtime-utils.tsx
Outdated
return { | ||
computeType: ComputeType.Standard, | ||
machine: findMachineByName(runtime.gceConfig.machineType), | ||
diskSize: runtime.gceConfig.diskSize, |
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.
hm, we still have diskSize
after this change. WIll that always be set?
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.
Note: you will need to merge or rebase with the Angular->React - likely it just affects the diskStore initialization.
Sorry, do you mean I need to merge/rebase with the latest master since there are some codebase changes of Angular->React ?
Do you have the runtime panel spec changes?
No, there are some code format diffs with the master after I run yarn lint --fix
... I have to revert them manually.
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.
Thanks for adding screenshots. I see the PD cost estimator which is cool, but I don't see the commits in this PR. Do you have commits to push still?
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.
OK - if this is working, I think I'm about good to approve pending remaining comments. RE moving logic to backend: it isn't a bad idea but I don't see a clear path so this may be a bit risky. I also definitely want to play around with this a bit - and definitely want to get Shimon/Lou feedback on the new UX interactions, e.g. the separate PD disk estimator.
Sorry, I lost my other comment: it was to revert submodules, and apologies for the additional merge conflicts here. |
If rewriting most of this code to move those logic to backend is too hard/frustrate, you can leave this in frontend for now. I think Leo is working on writing this API as well, it might be throw away effort if we make API change now. One thing that can be a further improvement is asking Leo to change their API interface for one API (I remember there is a PD related API but they use UpdateGceConfig?) . This is great! Thanks! |
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.
Since this is proteched by feature branch, I think we can go with this, and polish if needed in following PR
The test fails after i merge latest master : ERROR in src/app/pages/app/component.ts(35,29): error TS2307: Cannot find module 'app/services/sign-in.service'. |
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.
I'm out next week, so don't wait on my approval - this is fine to merge once the rebase issues are addressed
ui/src/app/pages/app/component.ts
Outdated
@@ -0,0 +1,310 @@ | |||
import {Component, NgZone, OnDestroy, OnInit} from '@angular/core'; |
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.
This file was removed, you'll need to move your logic to somewhere around here: https://github.com/all-of-us/workbench/blob/master/ui/src/app/routing/app-routing.tsx#L272
AoU UI Preview
https://projects.invisionapp.com/d/main#/console/21502769/454452703/preview
Terra UI Preview
https://app.terra.bio/#workspaces/terra-dev-myt/terra-dev/notebooks/launch/terra-dev-notebook.ipynb
Demo
Gce with PD panel
Dataproc panel