-
Notifications
You must be signed in to change notification settings - Fork 807
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
Add migration upgrade/downgrade test #927
Conversation
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: wongma7 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 |
0c7e98c
to
33f9376
Compare
This is only running (2177s = 37 minutes so yeah it takes a while to toggle the gates since if you toggle kubelet, need to replace master+node, if you toggle KCM, need to replace master) Ran 3 of 3 Specs in 2177.249 seconds |
kops configures the master instance with policy such that it (and kube-controller-manager running on it) is only allowed to AttachVolumes with tag
The reverse situation
HOWEVER....our example policy restricts DeleteVolume permissions to volumes created by itself...so if KCM creates a volume, then you toggle migration, then CSI won't have permission to delete it.
|
Summary, assuming that user has configured default kops instance IAM policy and CSI example IAM policy: AttachVolume
DeleteVolume
DetachVolume
IIRC this was a known issue already, hence we added support for supplying tags to the driver and such, but, either way we should try to solve it in such a way that everything "just works" without user having to supply tags. |
ref: #530 , this is where jsafrane already anticipated for migration purposes the installer of the driver must set clustername. HOwever, it only sets the tag kubernetes.io/cluster/" , not KubernetesCluster. KubernetesCluster is supposed to be legacy but kops relies on it still |
I think it's ok to add |
d3a95a4
to
f1ac38b
Compare
64e48b7
to
bf1ca9d
Compare
|
|
/lgtm |
Is this a bug fix or adding new feature?
What is this PR about? / Why do we need it? see #920. Need to make sure toggling migration on/off works correctly.
For kops, toggling is easy by editing the cluster spec, that's what this test does
For EKS, ATM it's impossible to get a cluster with migration enabled in the first place.
What testing is done?
I am testing it locally.
having this test as part of CI is not a criteria for enabling CSIMigrationAWS on by default, but at least it has to be manually run. It's very slow (even with just 1 master + 1 node instance) so probably it should not be a PR blocking job, but a periodic.
TODO: