-
Notifications
You must be signed in to change notification settings - Fork 93
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
Handle region with care, updates to test suite #1930
Conversation
With this PR, running these integration tests locally work for Azure and AWS. I will work on GCP and making sure these can run in CI in another PR. I will also circle back to Digital Ocean once I can resolve #1965. |
Testing the init with region flags and commercial vs. GovCloud partitions: Works OK when specified region is in the used credentials' partition Using GovCloud credentials, trying the default (commercial us-east-1) region:
Similar (expected) message when passing in another commercial region with region flag. I tested the converse (using commercial credentials and trying GovCloud region) and got equivalent errors. Render and deploy appear to use the following order of priority when choosing the region. If this is the intended behavior then all looks good to me.
Note that the error if neither of the above are available is quite right "Please specify |
Thanks for the feedback @kenafoster! I went ahead and made region and kubernetes_version required values for all cloud providers. This means that they need to be set in the nebari-config.yaml and after which, they become the source of truth for any future commands. As for init, both region and kubernetes_version are set according to the following order:
This feels like the right approach but it required updating some of the tests to reflect this new standard. |
Test results look good to me. One minor concern with the content of the error in the scenario where you try 'nebari deploy' without aws.region specified in config. Note for all of the tests below, my enviornment has a valid key set for AWS GovCloud partition. I have also tested the converse (using a Commerical partition credential and trying to deploy into GovCloud regions) and gotten similar, expected results. init
render/deploy
Also confirmed render, deploy do not take --region option |
Thanks a lot for the detailed testing @kenafoster! Improving the traceback and error messages is definitely worth a look. Thanks to @sblair-metrostar, we're tracking this here. @pavithraes @kcpevey when you have time, could you please review and approve this PR? Let me know if you have any quesitons or concerns. Thank you :) |
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.
@iameskild Thanks for working on this, I'll approve but note the small merge conflict that needs resolution. :)
Reference Issues or PRs
This PR does a few things:
region
value provided (or defaults to a sensible value if not) can be validated against the cloud APInebari init
@on_cloud
decorator for now because it was parameterizing the session fixture which caused the deployment to attempt to deploy all of the clouds even if the-m <cloud>
was not specified. My alternative for now is just to add the following flag--cloud <cloud>
when you want to run the integration tests for that particular cloud.Closes #1824
Closes #1969
Related to #1862
What does this implement/fix?
Put a
x
in the boxes that applyTesting
Any other comments?