-
Notifications
You must be signed in to change notification settings - Fork 4
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
Experimental GCP MC workspace creation support #2981
Conversation
3463083
to
ce9feee
Compare
…es in Rawls; formatting, comments and breadcrumbs
ce9feee
to
9543b5f
Compare
be3825e
to
8a4b3b2
Compare
8a4b3b2
to
67b89f8
Compare
* add handler for SQL exceptions * temp logic to trigger exception in a bee * remove code used for bee testing * Update exception message Co-authored-by: Marc Talbott <[email protected]> --------- Co-authored-by: Marc Talbott <[email protected]>
* Preliminary refactor into `PreparedSubmission` * Address `Stream` => `LazyList` deprecation * Unify root path calculation * `scalafmtAll`
67b89f8
to
7de8cb6
Compare
...cala/org/broadinstitute/dsde/rawls/dataaccess/workspacemanager/HttpWorkspaceManagerDAO.scala
Show resolved
Hide resolved
workspaceOpt <- | ||
if (isMcRequest(workspaceRequest, billingProfileOpt)) { | ||
billingProfileOpt | ||
.traverse { profileModel => |
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 haven't compiled but -- does this give you an Option[Option[..]]
? This may be a use case for .flatTraverse
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.
Check out 5a10420
if (!WorkspaceType.RawlsWorkspace.equals(requestArguments.workspace.workspaceType)) { | ||
// Azure workspaces use a WDS application in the data plane, Rawls entity service requests are not supported. | ||
if ( | ||
WorkspaceType.McWorkspace.eq( |
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.
Thinking out loud, wondering what might be a good way to represent the "flavor" of workspace in the Rawls model. I guess we have 3 cases that we're supporting, right?
- Rawls workspace - GCP
- MC workspace - GCP
- MC workspace - Azure
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.
It's seems like there's a 4th one, the Rawls w/"Rawls Stage" MC Workspace.
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.
*nod *
I wonder if it's worth explicitly enumerating all the cases, instead of relying on combinations of certain fields to distinguish them.
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.
Yeah, it's admittedly awkward. I'll see about evolving the data model.
@@ -331,6 +359,20 @@ class MultiCloudWorkspaceService(override val ctx: RawlsRequestContext, | |||
} yield profileModel | |||
} | |||
|
|||
/** |
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 scaladoc comments, I want to do the same in many places in Leo
Context
This is a proof-of-concept demonstrating the ability for Rawls to handle the creation and fetching of GCP MC workspaces (i.e., GCP workspaces managed by WSM).
This PR
system:mc_gcp
flag is passed in the attributes map in the creation request