-
Notifications
You must be signed in to change notification settings - Fork 82
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
Byo vpc mlstudio #894
Byo vpc mlstudio #894
Conversation
Tested locally:
Functionality
To test the same as above in AWS Deployment... |
AWS TESTING
Functionality
|
Opening up this PR for review with the following questions/enhancements in mind: Questions:
Enhancements:
I think the enhancement could be implemented at a later date so can think on the best approach but open to ideas |
frontend/src/modules/Environments/services/createMLStudioDomain.js
Outdated
Show resolved
Hide resolved
…te Domain on delete env
…te Domain on delete env
…ronment create / delete / update
I cleaned up a bit of the design for this PR so we are not calling 2 different APIs for create, update, and delete env Using Re-tested the same as above in AWS:
Also tested with mlStudio turned off (i.e. |
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.
Love this change, it was my main concern with the PR
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 final implementation is way cleaner and more elegant :) :)
Testing locally. I changed some tests to cover more scenarios @noah-paige
|
created={mlStudioDomain.created} | ||
/> | ||
</Grid> | ||
</Grid> |
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.
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 was just wanting to add all relevant information we could about domain - however the ObjectMetadata
is esentially the same as the ObjectMetadata
of the Environment in the Overview
Tab - so I can remove and just keep ML Studio Information if you think that is cleaner from UX side?
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 would remove it, first because it might lead to errors on users thinking that the domain was created at the environment creation time. And also because we need to do some tweaking for it to look good on all screen sizes
Testing AWS:
|
Finishing up these final 3 points and additional testing:
|
Thank you! I will do a final testing but I think we are good! And regarding the last point, it might be related with some id that we are not aware of, strange. Great testing though, this is something that we would have not spotted by reading the documentation. So it seems like we will keep the tests in all places :) but at least we will update metadata as users use the MLStudio feature more (when they do update_env) |
Tested the latest features:
Approving! |
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.
looks great!
### Feature or Bugfix <!-- please choose --> - Bugfix ### Detail - When deploying from scratch - the migration script for byo vpc for mlstudio had a line of code `if has_table('sagemaker_studio_domain')` which was evaluating to `False` and skipping necessary migration code - Removed the `if has_table()` and just throw Exception in try/catch block for upgrade migration script - Also as part of this PR I made sure the security group gets created in the mlstudio_extension stack no matter what type of VPC we use for ML Studio Domain - Without the Security Group VpcOnly Deployments of ML Studio Domain with `security_group=[]` will never be able to connect to internet without manual changes - Tested with Imported VPC and provisioned Studio User Profile - can access internet via NAT Gateway as prescribed with VPCOnly deployments if internet access is required - Tested changes to ML Studio Domain Security Group does NOT cause new creation of Domain (only UpdateDomain no replacement) --> Environment Stack Updates Successfully ### Relates - #894 ### Security N/A Please answer the questions below briefly where applicable, or write `N/A`. Based on [OWASP 10](https://owasp.org/Top10/en/). - Does this PR introduce or modify any input fields or queries - this includes fetching data from storage outside the application (e.g. a database, an S3 bucket)? - Is the input sanitized? - What precautions are you taking before deserializing the data you consume? - Is injection prevented by parametrizing queries? - Have you ensured no `eval` or similar functions are used? - Does this PR introduce any functionality or component that requires authorization? - How have you ensured it respects the existing AuthN/AuthZ mechanisms? - Are you logging failed auth attempts? - Are you using or adding any cryptographic features? - Do you use a standard proven implementations? - Are the used keys controlled by the customer? Where are they stored? - Are you introducing any new policies/roles/users? - Have you used the least-privilege principle? How? By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
Feature or Bugfix
Detail
Relates
Security
Please answer the questions below briefly where applicable, or write
N/A
. Based onOWASP 10.
fetching data from storage outside the application (e.g. a database, an S3 bucket)?
eval
or similar functions are used?By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.