Skip to content

Commit 634f30e

Browse files
authored
Merge pull request kubernetes-sigs#2138 from sedefsavas/capi-e2e
🌱Add CAPI E2E tests
2 parents cc5054a + fc2de5b commit 634f30e

16 files changed

+529
-16
lines changed

Makefile

+3-1
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,8 @@ LDFLAGS := $(shell source ./hack/version.sh; version::ldflags)
118118
E2E_UNMANAGED_FOCUS ?= "functional tests - unmanaged"
119119
# Instead, you can run a quick smoke test, it should run fast (9 minutes)...
120120
# E2E_UNMANAGED_FOCUS := "Create cluster with name having"
121+
# For running CAPI e2e tests: E2E_UNMANAGED_FOCUS := "Cluster API E2E tests"
122+
USE_EXISTING_CLUSTER ?= "false"
121123

122124
GINKGO_NODES ?= 2
123125
GINKGO_ARGS ?=
@@ -135,7 +137,7 @@ test: ## Run tests
135137

136138
.PHONY: test-e2e ## Run e2e tests using clusterctl
137139
test-e2e: $(GINKGO) $(KIND) $(SSM_PLUGIN) $(KUSTOMIZE) e2e-image ## Run e2e tests
138-
time $(GINKGO) -trace -progress -v -tags=e2e -focus=$(E2E_UNMANAGED_FOCUS) $(GINKGO_ARGS) ./test/e2e/suites/unmanaged/... -- -config-path="$(E2E_CONF_PATH)" -artifacts-folder="$(ARTIFACTS)" --data-folder="$(E2E_DATA_DIR)" $(E2E_ARGS)
140+
time $(GINKGO) -trace -progress -v -tags=e2e -focus=$(E2E_UNMANAGED_FOCUS) $(GINKGO_ARGS) ./test/e2e/suites/unmanaged/... -- -config-path="$(E2E_CONF_PATH)" -artifacts-folder="$(ARTIFACTS)" --data-folder="$(E2E_DATA_DIR)" $(E2E_ARGS) -use-existing-cluster=$(USE_EXISTING_CLUSTER)
139141

140142
.PHONY: test-e2e-eks ## Run EKS e2e tests using clusterctl
141143
test-e2e-eks: $(GINKGO) $(KIND) $(SSM_PLUGIN) $(KUSTOMIZE) e2e-image ## Run eks e2e tests

cmd/clusterawsadm/cloudformation/bootstrap/cluster_api_controller.go

+14
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,7 @@ func (t Template) controllersPolicy() *iamv1.PolicyDocument {
120120
"elasticloadbalancing:DeregisterInstancesFromLoadBalancer",
121121
"elasticloadbalancing:RemoveTags",
122122
"autoscaling:DescribeAutoScalingGroups",
123+
"autoscaling:DescribeInstanceRefreshes",
123124
"ec2:CreateLaunchTemplate",
124125
"ec2:CreateLaunchTemplateVersion",
125126
"ec2:DescribeLaunchTemplates",
@@ -137,10 +138,23 @@ func (t Template) controllersPolicy() *iamv1.PolicyDocument {
137138
"autoscaling:CreateAutoScalingGroup",
138139
"autoscaling:UpdateAutoScalingGroup",
139140
"autoscaling:CreateOrUpdateTags",
141+
"autoscaling:StartInstanceRefresh",
140142
"autoscaling:DeleteAutoScalingGroup",
141143
"autoscaling:DeleteTags",
142144
},
143145
},
146+
{
147+
Effect: iamv1.EffectAllow,
148+
Resource: iamv1.Resources{
149+
"arn:*:iam::*:role/aws-service-role/autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling",
150+
},
151+
Action: iamv1.Actions{
152+
"iam:CreateServiceLinkedRole",
153+
},
154+
Condition: iamv1.Conditions{
155+
iamv1.StringLike: map[string]string{"iam:AWSServiceName": "autoscaling.amazonaws.com"},
156+
},
157+
},
144158
{
145159
Effect: iamv1.EffectAllow,
146160
Resource: iamv1.Resources{

cmd/clusterawsadm/cloudformation/bootstrap/fixtures/customsuffix.yaml

+10
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,7 @@ Resources:
192192
- elasticloadbalancing:DeregisterInstancesFromLoadBalancer
193193
- elasticloadbalancing:RemoveTags
194194
- autoscaling:DescribeAutoScalingGroups
195+
- autoscaling:DescribeInstanceRefreshes
195196
- ec2:CreateLaunchTemplate
196197
- ec2:CreateLaunchTemplateVersion
197198
- ec2:DescribeLaunchTemplates
@@ -205,11 +206,20 @@ Resources:
205206
- autoscaling:CreateAutoScalingGroup
206207
- autoscaling:UpdateAutoScalingGroup
207208
- autoscaling:CreateOrUpdateTags
209+
- autoscaling:StartInstanceRefresh
208210
- autoscaling:DeleteAutoScalingGroup
209211
- autoscaling:DeleteTags
210212
Effect: Allow
211213
Resource:
212214
- arn:aws:autoscaling:*:*:autoScalingGroup:*:autoScalingGroupName/*
215+
- Action:
216+
- iam:CreateServiceLinkedRole
217+
Condition:
218+
StringLike:
219+
iam:AWSServiceName: autoscaling.amazonaws.com
220+
Effect: Allow
221+
Resource:
222+
- arn:*:iam::*:role/aws-service-role/autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling
213223
- Action:
214224
- iam:CreateServiceLinkedRole
215225
Condition:

cmd/clusterawsadm/cloudformation/bootstrap/fixtures/default.yaml

+10
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,7 @@ Resources:
192192
- elasticloadbalancing:DeregisterInstancesFromLoadBalancer
193193
- elasticloadbalancing:RemoveTags
194194
- autoscaling:DescribeAutoScalingGroups
195+
- autoscaling:DescribeInstanceRefreshes
195196
- ec2:CreateLaunchTemplate
196197
- ec2:CreateLaunchTemplateVersion
197198
- ec2:DescribeLaunchTemplates
@@ -205,11 +206,20 @@ Resources:
205206
- autoscaling:CreateAutoScalingGroup
206207
- autoscaling:UpdateAutoScalingGroup
207208
- autoscaling:CreateOrUpdateTags
209+
- autoscaling:StartInstanceRefresh
208210
- autoscaling:DeleteAutoScalingGroup
209211
- autoscaling:DeleteTags
210212
Effect: Allow
211213
Resource:
212214
- arn:aws:autoscaling:*:*:autoScalingGroup:*:autoScalingGroupName/*
215+
- Action:
216+
- iam:CreateServiceLinkedRole
217+
Condition:
218+
StringLike:
219+
iam:AWSServiceName: autoscaling.amazonaws.com
220+
Effect: Allow
221+
Resource:
222+
- arn:*:iam::*:role/aws-service-role/autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling
213223
- Action:
214224
- iam:CreateServiceLinkedRole
215225
Condition:

cmd/clusterawsadm/cloudformation/bootstrap/fixtures/with_all_secret_backends.yaml

+10
Original file line numberDiff line numberDiff line change
@@ -198,6 +198,7 @@ Resources:
198198
- elasticloadbalancing:DeregisterInstancesFromLoadBalancer
199199
- elasticloadbalancing:RemoveTags
200200
- autoscaling:DescribeAutoScalingGroups
201+
- autoscaling:DescribeInstanceRefreshes
201202
- ec2:CreateLaunchTemplate
202203
- ec2:CreateLaunchTemplateVersion
203204
- ec2:DescribeLaunchTemplates
@@ -211,11 +212,20 @@ Resources:
211212
- autoscaling:CreateAutoScalingGroup
212213
- autoscaling:UpdateAutoScalingGroup
213214
- autoscaling:CreateOrUpdateTags
215+
- autoscaling:StartInstanceRefresh
214216
- autoscaling:DeleteAutoScalingGroup
215217
- autoscaling:DeleteTags
216218
Effect: Allow
217219
Resource:
218220
- arn:aws:autoscaling:*:*:autoScalingGroup:*:autoScalingGroupName/*
221+
- Action:
222+
- iam:CreateServiceLinkedRole
223+
Condition:
224+
StringLike:
225+
iam:AWSServiceName: autoscaling.amazonaws.com
226+
Effect: Allow
227+
Resource:
228+
- arn:*:iam::*:role/aws-service-role/autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling
219229
- Action:
220230
- iam:CreateServiceLinkedRole
221231
Condition:

cmd/clusterawsadm/cloudformation/bootstrap/fixtures/with_bootstrap_user.yaml

+10
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,7 @@ Resources:
197197
- elasticloadbalancing:DeregisterInstancesFromLoadBalancer
198198
- elasticloadbalancing:RemoveTags
199199
- autoscaling:DescribeAutoScalingGroups
200+
- autoscaling:DescribeInstanceRefreshes
200201
- ec2:CreateLaunchTemplate
201202
- ec2:CreateLaunchTemplateVersion
202203
- ec2:DescribeLaunchTemplates
@@ -210,11 +211,20 @@ Resources:
210211
- autoscaling:CreateAutoScalingGroup
211212
- autoscaling:UpdateAutoScalingGroup
212213
- autoscaling:CreateOrUpdateTags
214+
- autoscaling:StartInstanceRefresh
213215
- autoscaling:DeleteAutoScalingGroup
214216
- autoscaling:DeleteTags
215217
Effect: Allow
216218
Resource:
217219
- arn:aws:autoscaling:*:*:autoScalingGroup:*:autoScalingGroupName/*
220+
- Action:
221+
- iam:CreateServiceLinkedRole
222+
Condition:
223+
StringLike:
224+
iam:AWSServiceName: autoscaling.amazonaws.com
225+
Effect: Allow
226+
Resource:
227+
- arn:*:iam::*:role/aws-service-role/autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling
218228
- Action:
219229
- iam:CreateServiceLinkedRole
220230
Condition:

cmd/clusterawsadm/cloudformation/bootstrap/fixtures/with_different_instance_profiles.yaml

+10
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,7 @@ Resources:
192192
- elasticloadbalancing:DeregisterInstancesFromLoadBalancer
193193
- elasticloadbalancing:RemoveTags
194194
- autoscaling:DescribeAutoScalingGroups
195+
- autoscaling:DescribeInstanceRefreshes
195196
- ec2:CreateLaunchTemplate
196197
- ec2:CreateLaunchTemplateVersion
197198
- ec2:DescribeLaunchTemplates
@@ -205,11 +206,20 @@ Resources:
205206
- autoscaling:CreateAutoScalingGroup
206207
- autoscaling:UpdateAutoScalingGroup
207208
- autoscaling:CreateOrUpdateTags
209+
- autoscaling:StartInstanceRefresh
208210
- autoscaling:DeleteAutoScalingGroup
209211
- autoscaling:DeleteTags
210212
Effect: Allow
211213
Resource:
212214
- arn:aws:autoscaling:*:*:autoScalingGroup:*:autoScalingGroupName/*
215+
- Action:
216+
- iam:CreateServiceLinkedRole
217+
Condition:
218+
StringLike:
219+
iam:AWSServiceName: autoscaling.amazonaws.com
220+
Effect: Allow
221+
Resource:
222+
- arn:*:iam::*:role/aws-service-role/autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling
213223
- Action:
214224
- iam:CreateServiceLinkedRole
215225
Condition:

cmd/clusterawsadm/cloudformation/bootstrap/fixtures/with_eks_default_roles.yaml

+10
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,7 @@ Resources:
192192
- elasticloadbalancing:DeregisterInstancesFromLoadBalancer
193193
- elasticloadbalancing:RemoveTags
194194
- autoscaling:DescribeAutoScalingGroups
195+
- autoscaling:DescribeInstanceRefreshes
195196
- ec2:CreateLaunchTemplate
196197
- ec2:CreateLaunchTemplateVersion
197198
- ec2:DescribeLaunchTemplates
@@ -205,11 +206,20 @@ Resources:
205206
- autoscaling:CreateAutoScalingGroup
206207
- autoscaling:UpdateAutoScalingGroup
207208
- autoscaling:CreateOrUpdateTags
209+
- autoscaling:StartInstanceRefresh
208210
- autoscaling:DeleteAutoScalingGroup
209211
- autoscaling:DeleteTags
210212
Effect: Allow
211213
Resource:
212214
- arn:aws:autoscaling:*:*:autoScalingGroup:*:autoScalingGroupName/*
215+
- Action:
216+
- iam:CreateServiceLinkedRole
217+
Condition:
218+
StringLike:
219+
iam:AWSServiceName: autoscaling.amazonaws.com
220+
Effect: Allow
221+
Resource:
222+
- arn:*:iam::*:role/aws-service-role/autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling
213223
- Action:
214224
- iam:CreateServiceLinkedRole
215225
Condition:

cmd/clusterawsadm/cloudformation/bootstrap/fixtures/with_eks_enable.yaml

+10
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,7 @@ Resources:
192192
- elasticloadbalancing:DeregisterInstancesFromLoadBalancer
193193
- elasticloadbalancing:RemoveTags
194194
- autoscaling:DescribeAutoScalingGroups
195+
- autoscaling:DescribeInstanceRefreshes
195196
- ec2:CreateLaunchTemplate
196197
- ec2:CreateLaunchTemplateVersion
197198
- ec2:DescribeLaunchTemplates
@@ -205,11 +206,20 @@ Resources:
205206
- autoscaling:CreateAutoScalingGroup
206207
- autoscaling:UpdateAutoScalingGroup
207208
- autoscaling:CreateOrUpdateTags
209+
- autoscaling:StartInstanceRefresh
208210
- autoscaling:DeleteAutoScalingGroup
209211
- autoscaling:DeleteTags
210212
Effect: Allow
211213
Resource:
212214
- arn:aws:autoscaling:*:*:autoScalingGroup:*:autoScalingGroupName/*
215+
- Action:
216+
- iam:CreateServiceLinkedRole
217+
Condition:
218+
StringLike:
219+
iam:AWSServiceName: autoscaling.amazonaws.com
220+
Effect: Allow
221+
Resource:
222+
- arn:*:iam::*:role/aws-service-role/autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling
213223
- Action:
214224
- iam:CreateServiceLinkedRole
215225
Condition:

cmd/clusterawsadm/cloudformation/bootstrap/fixtures/with_extra_statements.yaml

+10
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,7 @@ Resources:
192192
- elasticloadbalancing:DeregisterInstancesFromLoadBalancer
193193
- elasticloadbalancing:RemoveTags
194194
- autoscaling:DescribeAutoScalingGroups
195+
- autoscaling:DescribeInstanceRefreshes
195196
- ec2:CreateLaunchTemplate
196197
- ec2:CreateLaunchTemplateVersion
197198
- ec2:DescribeLaunchTemplates
@@ -205,11 +206,20 @@ Resources:
205206
- autoscaling:CreateAutoScalingGroup
206207
- autoscaling:UpdateAutoScalingGroup
207208
- autoscaling:CreateOrUpdateTags
209+
- autoscaling:StartInstanceRefresh
208210
- autoscaling:DeleteAutoScalingGroup
209211
- autoscaling:DeleteTags
210212
Effect: Allow
211213
Resource:
212214
- arn:aws:autoscaling:*:*:autoScalingGroup:*:autoScalingGroupName/*
215+
- Action:
216+
- iam:CreateServiceLinkedRole
217+
Condition:
218+
StringLike:
219+
iam:AWSServiceName: autoscaling.amazonaws.com
220+
Effect: Allow
221+
Resource:
222+
- arn:*:iam::*:role/aws-service-role/autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling
213223
- Action:
214224
- iam:CreateServiceLinkedRole
215225
Condition:

cmd/clusterawsadm/cloudformation/bootstrap/fixtures/with_ssm_secret_backend.yaml

+10
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,7 @@ Resources:
192192
- elasticloadbalancing:DeregisterInstancesFromLoadBalancer
193193
- elasticloadbalancing:RemoveTags
194194
- autoscaling:DescribeAutoScalingGroups
195+
- autoscaling:DescribeInstanceRefreshes
195196
- ec2:CreateLaunchTemplate
196197
- ec2:CreateLaunchTemplateVersion
197198
- ec2:DescribeLaunchTemplates
@@ -205,11 +206,20 @@ Resources:
205206
- autoscaling:CreateAutoScalingGroup
206207
- autoscaling:UpdateAutoScalingGroup
207208
- autoscaling:CreateOrUpdateTags
209+
- autoscaling:StartInstanceRefresh
208210
- autoscaling:DeleteAutoScalingGroup
209211
- autoscaling:DeleteTags
210212
Effect: Allow
211213
Resource:
212214
- arn:aws:autoscaling:*:*:autoScalingGroup:*:autoScalingGroupName/*
215+
- Action:
216+
- iam:CreateServiceLinkedRole
217+
Condition:
218+
StringLike:
219+
iam:AWSServiceName: autoscaling.amazonaws.com
220+
Effect: Allow
221+
Resource:
222+
- arn:*:iam::*:role/aws-service-role/autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling
213223
- Action:
214224
- iam:CreateServiceLinkedRole
215225
Condition:

test/e2e/data/e2e_conf.yaml

+22-12
Original file line numberDiff line numberDiff line change
@@ -105,26 +105,36 @@ providers:
105105
targetName: "cluster-template-limit-az.yaml"
106106
- sourcePath: "./infrastructure-aws/cluster-template-spot-instances.yaml"
107107
targetName: "cluster-template-spot-instances.yaml"
108-
108+
- sourcePath: "./infrastructure-aws/cluster-template-mhc.yaml"
109+
targetName: "cluster-template-mhc.yaml"
110+
- sourcePath: "./infrastructure-aws/cluster-template-machine-pool.yaml"
111+
targetName: "cluster-template-machine-pool.yaml"
109112
variables:
110-
KUBERNETES_VERSION: "v1.19.4"
113+
KUBERNETES_VERSION: "v1.20.1"
111114
CNI: "../../data/cni/calico.yaml"
112115
EXP_CLUSTER_RESOURCE_SET: "true"
113116
AWS_CONTROL_PLANE_MACHINE_TYPE: t3.large
114117
AWS_NODE_MACHINE_TYPE: t3.large
115118
AWS_SSH_KEY_NAME: "cluster-api-provider-aws-sigs-k8s-io"
116-
CONFORMANCE_CI_ARTIFACTS_KUBERNETES_VERSION: "v1.19.4"
119+
CONFORMANCE_CI_ARTIFACTS_KUBERNETES_VERSION: "v1.20.1"
117120
CONFORMANCE_WORKER_MACHINE_COUNT: "5"
118121
CONFORMANCE_CONTROL_PLANE_MACHINE_COUNT: "1"
122+
EXP_MACHINE_POOL: "true"
123+
ETCD_VERSION_UPGRADE_TO: "3.4.13-0"
124+
COREDNS_VERSION_UPGRADE_TO: "1.7.1"
125+
KUBERNETES_VERSION_UPGRADE_TO: "v1.20.1"
126+
KUBERNETES_VERSION_UPGRADE_FROM: "v1.19.6"
119127

120128
intervals:
121-
default/wait-cluster: ["20m", "10s"]
122-
default/wait-control-plane: ["10m", "10s"]
123-
default/wait-worker-nodes: ["10m", "10s"]
124-
conformance/wait-control-plane: ["30m", "10s"]
125-
conformance/wait-worker-nodes: ["30m", "10s"]
126-
default/wait-controllers: ["3m", "10s"]
127-
default/wait-delete-cluster: ["20m", "10s"]
128-
default/wait-machine-upgrade: ["20m", "10s"]
129-
default/wait-machine-status: ["20m", "10s"]
129+
default/wait-cluster: ["30m", "10s"]
130+
default/wait-control-plane: ["40m", "10s"]
131+
default/wait-worker-nodes: ["40m", "10s"]
132+
conformance/wait-control-plane: ["40m", "10s"]
133+
conformance/wait-worker-nodes: ["40m", "10s"]
134+
default/wait-controllers: ["40m", "10s"]
135+
default/wait-delete-cluster: ["40m", "10s"]
136+
default/wait-machine-upgrade: ["40m", "10s"]
137+
default/wait-machine-status: ["40m", "10s"]
130138
default/wait-infra-subnets: ["5m", "30s"]
139+
default/wait-machine-pool-nodes: ["40m", "10s"]
140+
default/wait-machine-pool-upgrade: [ "50m", "10s" ]

0 commit comments

Comments
 (0)