Skip to content

Commit 6818a55

Browse files
YintongMaYintong Ma
andauthored
UI Support for PD (#5326)
* UUID support * remove UUID for runtime * rm useless pkg * code format * add pd controller * add crud UI support * fix corner cases * code refactor * format code * add disk mapper * add feature flag enablePersistentDisk * elaborate Disk API * rmv useless code * enable test env * getDisk by user && simplify UI changes * resolve conflicts with dataproc panel * fix bug * code refactor & fix msg issue * add msg link * fix panel switching issue & fix pd cost estimator & fix delete options * simplify delete env option * revert nit & spec * nit revert format * revert runtime-panel-spec * fix code format * revert lint formater * revert space * revert no new line * code refactor & resize pd selector * fix bugs of panel switching between dataproc and running gce without PD * fix enablePD usage * fix bug * fix bug & add comments * use context wrapper to simplify complex state predicate * fix unit tests bugs * rm standardPdValidator * fix runtime-utils-spec bug * revert serviceaccounts.rb * fix angular issue * fix lint issue Co-authored-by: Yintong Ma <[email protected]>
1 parent 417aeda commit 6818a55

20 files changed

+647
-113
lines changed

api/config/config_local.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@
103103
"enableResearchPurposePrompt": false,
104104
"enableGenomicExtraction": true,
105105
"enableFireCloudV2Billing" : false,
106+
"enablePersistentDisk": true,
106107
"enableAccessModuleRewrite" : true,
107108
"enableStandardSourceDomains": false
108109
},

api/config/config_perf.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@
103103
"enableResearchPurposePrompt": false,
104104
"enableGenomicExtraction": false,
105105
"enableFireCloudV2Billing" : false,
106+
"enablePersistentDisk": false,
106107
"enableAccessModuleRewrite" : true,
107108
"enableStandardSourceDomains": false
108109
},

api/config/config_preprod.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@
103103
"enableResearchPurposePrompt": false,
104104
"enableGenomicExtraction": true,
105105
"enableFireCloudV2Billing" : false,
106+
"enablePersistentDisk": false,
106107
"enableAccessModuleRewrite" : true,
107108
"enableStandardSourceDomains": false
108109
},

api/config/config_prod.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,7 @@
102102
"enableResearchPurposePrompt": false,
103103
"enableGenomicExtraction": false,
104104
"enableFireCloudV2Billing" : false,
105+
"enablePersistentDisk": false,
105106
"enableAccessModuleRewrite" : true,
106107
"enableStandardSourceDomains": false
107108
},

api/config/config_stable.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,7 @@
102102
"enableResearchPurposePrompt": false,
103103
"enableGenomicExtraction": false,
104104
"enableFireCloudV2Billing" : false,
105+
"enablePersistentDisk": false,
105106
"enableAccessModuleRewrite" : true,
106107
"enableStandardSourceDomains": false
107108
},

api/config/config_staging.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@
103103
"enableResearchPurposePrompt": false,
104104
"enableGenomicExtraction": false,
105105
"enableFireCloudV2Billing" : false,
106+
"enablePersistentDisk": false,
106107
"enableAccessModuleRewrite" : true,
107108
"enableStandardSourceDomains": false
108109
},

api/config/config_test.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@
103103
"enableResearchPurposePrompt": false,
104104
"enableGenomicExtraction": true,
105105
"enableFireCloudV2Billing" : false,
106+
"enablePersistentDisk": true,
106107
"enableAccessModuleRewrite" : true,
107108
"enableStandardSourceDomains": false
108109
},

api/src/main/java/org/pmiops/workbench/api/ConfigController.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ public ResponseEntity<ConfigResponse> getConfig() {
4444
.enableGenomicExtraction(config.featureFlags.enableGenomicExtraction)
4545
.enableAccessModuleRewrite(config.featureFlags.enableAccessModuleRewrite)
4646
.enableStandardSourceDomains(config.featureFlags.enableStandardSourceDomains)
47+
.enablePersistentDisk(config.featureFlags.enablePersistentDisk)
4748
.rasHost(config.ras.host)
4849
.rasClientId(config.ras.clientId)
4950
.freeTierBillingAccountId(config.billing.accountId)

api/src/main/java/org/pmiops/workbench/config/WorkbenchConfig.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -259,6 +259,8 @@ public static class FeatureFlagsConfig {
259259
public boolean enableAccessModuleRewrite;
260260
// If true, cohort and concept set will show source domains and standard domains options
261261
public boolean enableStandardSourceDomains;
262+
// If true, the backend and UI will support persistent disk as the default notebook storage
263+
public boolean enablePersistentDisk;
262264
}
263265

264266
public static class ActionAuditConfig {

api/src/main/resources/workbench-api.yaml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4342,6 +4342,10 @@ definitions:
43424342
type: boolean
43434343
default: false
43444344
description: Whether to show separate source and standard domains
4345+
enablePersistentDisk:
4346+
type: boolean
4347+
default: false
4348+
description: Whether to persistent disk as the notebook storage
43454349
rasHost:
43464350
type: string
43474351
description: The RAS base host name.
@@ -6041,6 +6045,21 @@ definitions:
60416045
properties:
60426046
runtime:
60436047
"$ref": "#/definitions/Runtime"
6048+
UpdateDiskRequest:
6049+
description: "Updates an existing persistent disk"
6050+
type: object
6051+
properties:
6052+
labels:
6053+
type: object
6054+
description: The labels to be added or updated on the persistent disk. Of type Map[String,String]
6055+
size:
6056+
type: integer
6057+
description: The size in GB that the persistent disk is to be updated to.
6058+
diskType:
6059+
$ref: "#/definitions/DiskType"
6060+
blockSize:
6061+
type: integer
6062+
description: The block size in bytes that the persistent disk is to be updated to.
60446063
PersistentDiskRequest:
60456064
description: configuration to create a disk
60466065
type: object

0 commit comments

Comments
 (0)