-
Notifications
You must be signed in to change notification settings - Fork 579
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
✨ Support AWS multitenancy #2253
✨ Support AWS multitenancy #2253
Conversation
935415f
to
2d495dc
Compare
4042c67
to
e093684
Compare
/kind feature |
d9e06b4
to
ff50e78
Compare
ff50e78
to
37a5760
Compare
37a5760
to
ec70610
Compare
cc5010f
to
c97c4a8
Compare
c97c4a8
to
402edc9
Compare
/test pull-cluster-api-provider-aws-e2e |
One test timed out but passing locally, rerunning. /test pull-cluster-api-provider-aws-e2e |
Hopefully they are stable enough that once merged, it won't cause all other PRs to fail all the time, because this is super annoying and also a waste of resources 😞 |
e2e tests are not run on PRs. |
/test pull-cluster-api-provider-aws-e2e |
It's worth going through the logs in the artifacts. For the assume role cluster, I see the following
which matches the test
|
I'm going to remove "should fail creating cluster if assumer is not in trusted entity policy" test. All we're doing here is checking AWS is working, don't think it makes sense as an e2e test. It'd be worth mocking as a controller test in a follow up PR. |
I don't see any allowing of the bootstrapuser to call sts:AssumeRole that is being used in the tests. I'll have a go at refactoring. |
I think the main problem here is that env vars are being mutated on the fly. It's safer to duplicate the template and use unique env vars. |
Have this refactored locally to use CloudFormation to create all the roles and deleted the sleeps. Running locally before pushing. |
Signed-off-by: Naadir Jeewa <jeewan@vmware.com>
402edc9
to
a2d92ee
Compare
Implements the multi-tenancy proposal in https://github.com/kubernetes-sigs/cluster-api-provider-aws/blob/master/docs/proposal/20200506-single-controller-multitenancy.md and adds the following cluster scoped resources: AWSClusterStaticIdentity - Static crendentials using a Access Key ID and Secret Key AWSClusterControllerIdentity - A singleton resource that states a cluster can use inherited crendentials AWSClusterRoleIdentity - An IAM role definition These cluster scoped resources support namespace selectors in line with the Services v1 API. For migration of current cluster resources to this model, there is an experimental controller `AutoControllerIdentityCreator` that will apply AWSClusterControllerIdentity to all existing resources. This will be enabled by default until v1alpha4. Co-authored-by: Andrew Myhre <andrew.myhre@gmail.com> Co-authored-by: Sedef Savas <ssavas@vmware.com> Co-authored-by: Naadir Jeewa <jeewan@vmware.com>
a2d92ee
to
b2d95c7
Compare
Pushed up the changes. Now creating all of the roles at once during CloudFormation instantiation and setting the env vars at the beginning of each Ginkgo node (i.e. process). There's a few other places we should remove setting env vars in each test, in the EKS suite for example, but should do as follow up. /test pull-cluster-api-provider-aws-e2e |
We have this test with mocking in |
Just a question from my side, will this will merged in |
@njuettner This is going to be in the upcoming v0.6.5 release (v1alpha3). |
/lgtm |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: randomvariable The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
What this PR does / why we need it:
This PR builds on top of #1919.
Which issue(s) this PR fixes (optional, in
fixes #<issue number>(, fixes #<issue_number>, ...)
format, will close the issue(s) when PR gets merged):Fixes #1552
Special notes for your reviewer:
Checklist:
Release note: