-
Notifications
You must be signed in to change notification settings - Fork 557
/
e2e_conf.yaml
233 lines (225 loc) · 12.6 KB
/
e2e_conf.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
---
# E2E test scenario using local dev images and manifests built from the source tree for following providers:
# - cluster-api
# - bootstrap kubeadm
# - control-plane kubeadm
# - aws
# To run tests, run the following from the root of this repository.
# `AWS_REGION=eu-west-1 make e2e GINKGO_ARGS=-stream E2E_ARGS=-skip-cloudformation-deletion`
# -skip-cloudformation-deletion reduces the time taken to set up AWS CloudFormation prior to cluster start.
# AWS credentials must be present for running tests
# For more details, run `go run ./cmd/clusterawsadm bootstrap credentials`
images:
# Use local dev images built source tree;
- name: gcr.io/k8s-staging-cluster-api/capa-manager:e2e
loadBehavior: mustLoad
## PLEASE KEEP THESE UP TO DATE WITH THE COMPONENTS
# Cluster API v1beta1 Preloads
- name: quay.io/jetstack/cert-manager-cainjector:v1.14.4
loadBehavior: tryLoad
- name: quay.io/jetstack/cert-manager-webhook:v1.14.4
loadBehavior: tryLoad
- name: quay.io/jetstack/cert-manager-controller:v1.14.4
loadBehavior: tryLoad
- name: registry.k8s.io/cluster-api/cluster-api-controller:v1.7.1
loadBehavior: tryLoad
- name: registry.k8s.io/cluster-api/kubeadm-bootstrap-controller:v1.7.1
loadBehavior: tryLoad
- name: registry.k8s.io/cluster-api/kubeadm-control-plane-controller:v1.7.1
loadBehavior: tryLoad
providers:
- name: cluster-api
type: CoreProvider
versions:
- name: v1.2.0 # earliest published release in the v1beta1 series; this is used for v1beta1 old --> v1beta1 latest clusterctl upgrades test only.
value: "https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.2.0/core-components.yaml"
type: "url"
contract: v1beta1
files:
- sourcePath: "./shared/v1beta1/metadata.yaml"
replacements:
- old: "imagePullPolicy: Always"
new: "imagePullPolicy: IfNotPresent"
- old: --metrics-bind-addr=127.0.0.1:8080
new: --metrics-bind-addr=:8080
- name: v1.7.1 # latest published release in the v1beta1 series; this is used for v1beta1 --> main clusterctl upgrades test only.
value: "https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.7.1/core-components.yaml"
type: "url"
contract: v1beta1
files:
- sourcePath: "./shared/v1beta1/metadata.yaml"
replacements:
- old: "imagePullPolicy: Always"
new: "imagePullPolicy: IfNotPresent"
- old: --metrics-bind-addr=127.0.0.1:8080
new: --metrics-bind-addr=:8080
- name: kubeadm
type: BootstrapProvider
files:
- sourcePath: "./shared/v1beta1/metadata.yaml"
versions:
- name: v1.2.0 # earliest published release in the v1beta1 series; this is used for v1beta1 old --> v1beta1 latest clusterctl upgrades test only.
value: "https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.2.0/bootstrap-components.yaml"
type: "url"
contract: v1beta1
files:
- sourcePath: "./shared/v1beta1/metadata.yaml"
replacements:
- old: "imagePullPolicy: Always"
new: "imagePullPolicy: IfNotPresent"
- old: --metrics-bind-addr=127.0.0.1:8080
new: --metrics-bind-addr=:8080
- name: v1.7.1 # latest published release in the v1beta1 series; this is used for v1beta1 --> main clusterctl upgrades test only.
value: "https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.7.1/bootstrap-components.yaml"
type: "url"
contract: v1beta1
files:
- sourcePath: "./shared/v1beta1/metadata.yaml"
replacements:
- old: "imagePullPolicy: Always"
new: "imagePullPolicy: IfNotPresent"
- old: --metrics-bind-addr=127.0.0.1:8080
new: --metrics-bind-addr=:8080
- name: kubeadm
type: ControlPlaneProvider
files:
- sourcePath: "./shared/v1beta1/metadata.yaml"
versions:
- name: v1.2.0 # earliest published release in the v1beta1 series; this is used for v1beta1 old --> main clusterctl upgrades test only.
value: "https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.2.0/control-plane-components.yaml"
type: "url"
contract: v1beta1
files:
- sourcePath: "./shared/v1beta1/metadata.yaml"
replacements:
- old: "imagePullPolicy: Always"
new: "imagePullPolicy: IfNotPresent"
- old: --metrics-bind-addr=127.0.0.1:8080
new: --metrics-bind-addr=:8080
- name: v1.7.1 # latest published release in the v1beta1 series; this is used for v1beta1 --> v1beta1 latest clusterctl upgrades test only.
value: "https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.7.1/control-plane-components.yaml"
type: "url"
contract: v1beta1
files:
- sourcePath: "./shared/v1beta1/metadata.yaml"
replacements:
- old: "imagePullPolicy: Always"
new: "imagePullPolicy: IfNotPresent"
- old: --metrics-bind-addr=127.0.0.1:8080
new: --metrics-bind-addr=:8080
- name: aws
type: InfrastructureProvider
versions:
- name: v1.5.2 # latest published release in the v1beta1 series; this is used for v1beta1 --> v1beta2 clusterctl upgrades test only.
value: "https://github.com/kubernetes-sigs/cluster-api-provider-aws/releases/download/v1.5.2/infrastructure-components.yaml"
type: "url"
contract: v1beta1
files:
- sourcePath: "./shared/v1beta1_provider/metadata.yaml"
- sourcePath: "./infrastructure-aws/capi-upgrades/v1beta1/cluster-template.yaml"
- name: v2.0.99
# Use manifest from source files
value: ../../../config/default
# Do not add contract field for v1beta1 --> v1beta2 clusterctl upgrades test to work.
files:
- sourcePath: "./infrastructure-aws/withoutclusterclass/generated/cluster-template-efs-support.yaml"
- sourcePath: "./infrastructure-aws/withoutclusterclass/generated/cluster-template-external-csi.yaml"
- sourcePath: "./infrastructure-aws/withoutclusterclass/generated/cluster-template-csimigration-off.yaml"
- sourcePath: "./infrastructure-aws/withoutclusterclass/generated/cluster-template-intree-cloud-provider.yaml"
- sourcePath: "./infrastructure-aws/withoutclusterclass/generated/cluster-template-kcp-remediation.yaml"
- sourcePath: "./infrastructure-aws/withoutclusterclass/generated/cluster-template-kcp-scale-in.yaml"
- sourcePath: "./infrastructure-aws/withoutclusterclass/generated/cluster-template-limit-az.yaml"
- sourcePath: "./infrastructure-aws/withoutclusterclass/generated/cluster-template-machine-pool.yaml"
- sourcePath: "./infrastructure-aws/withoutclusterclass/generated/cluster-template-md-remediation.yaml"
- sourcePath: "./infrastructure-aws/withoutclusterclass/generated/cluster-template-multi-az.yaml"
- sourcePath: "./infrastructure-aws/withoutclusterclass/generated/cluster-template-nested-multitenancy.yaml"
- sourcePath: "./infrastructure-aws/withoutclusterclass/generated/cluster-template-remote-management-cluster.yaml"
- sourcePath: "./infrastructure-aws/withoutclusterclass/generated/cluster-template-simple-multitenancy.yaml"
- sourcePath: "./infrastructure-aws/withoutclusterclass/generated/cluster-template-spot-instances.yaml"
- sourcePath: "./infrastructure-aws/withoutclusterclass/generated/cluster-template-ssm.yaml"
- sourcePath: "./infrastructure-aws/withclusterclass/generated/cluster-template-topology.yaml"
- sourcePath: "./infrastructure-aws/withoutclusterclass/generated/cluster-template-upgrade-to-main.yaml"
- sourcePath: "./infrastructure-aws/withoutclusterclass/generated/cluster-template.yaml"
- sourcePath: "./infrastructure-aws/withoutclusterclass/generated/cluster-template-gpu.yaml"
- sourcePath: "./infrastructure-aws/withoutclusterclass/generated/cluster-template-upgrades.yaml"
- sourcePath: "./infrastructure-aws/withoutclusterclass/generated/cluster-template-peered-remote.yaml"
- sourcePath: "./infrastructure-aws/withoutclusterclass/generated/cluster-template-internal-elb.yaml"
- sourcePath: "./infrastructure-aws/withclusterclass/kustomize_sources/topology/clusterclass-ci-default.yaml"
- sourcePath: "./infrastructure-aws/withclusterclass/generated/cluster-template-nested-multitenancy-clusterclass.yaml"
- sourcePath: "./infrastructure-aws/withclusterclass/kustomize_sources/nested-multitenancy-clusterclass/clusterclass-multi-tenancy.yaml"
- sourcePath: "./infrastructure-aws/withclusterclass/generated/cluster-template-self-hosted-clusterclass.yaml"
- sourcePath: "./infrastructure-aws/withclusterclass/generated/cluster-template-external-vpc-clusterclass.yaml"
- sourcePath: "./shared/v1beta2_provider/metadata.yaml"
- sourcePath: "./infrastructure-aws/withoutclusterclass/generated/cluster-template-ignition.yaml"
- sourcePath: "./infrastructure-aws/withoutclusterclass/generated/cluster-template-upgrade-to-external-cloud-provider.yaml"
replacements:
# To allow bugs to be catched.
- old: "failureThreshold: 3"
new: "failureThreshold: 12"
- old: "imagePullPolicy: Always"
new: "imagePullPolicy: IfNotPresent"
- old: --metrics-bind-addr=127.0.0.1:8080
new: --metrics-bind-addr=:8080
- old: gcr.io/k8s-staging-cluster-api/cluster-api-aws-controller-amd64:dev
new: gcr.io/k8s-staging-cluster-api/capa-manager:e2e
- old: gcr.io/k8s-staging-cluster-api-aws/cluster-api-aws-controller:latest
new: gcr.io/k8s-staging-cluster-api/capa-manager:e2e
variables:
# Default variables for the e2e test; those values could be overridden via env variables, thus
# allowing the same e2e config file to be re-used in different Prow jobs e.g. each one with a K8s version permutation.
# The following Kubernetes versions should be the latest versions with already published kindest/node images.
# This avoids building node images in the default case which improves the test duration significantly.
KUBERNETES_VERSION_MANAGEMENT: "v1.29.0"
KUBERNETES_VERSION: "v1.26.6"
KUBERNETES_VERSION_UPGRADE_TO: "v1.26.6"
KUBERNETES_VERSION_UPGRADE_FROM: "v1.25.3"
# Pre and post 1.23 Kubernetes versions are being used for CSI upgrade tests
PRE_1_23_KUBERNETES_VERSION: "v1.22.17"
POST_1_23_KUBERNETES_VERSION: "v1.23.15"
CNI: "../../data/cni/calico.yaml"
KUBETEST_CONFIGURATION: "../../data/kubetest/conformance.yaml"
EVENT_BRIDGE_INSTANCE_STATE: "true"
AWS_CONTROL_PLANE_MACHINE_TYPE: t3.large
AWS_NODE_MACHINE_TYPE: t3.large
AWS_MACHINE_TYPE_VCPU_USAGE: 2
AWS_SSH_KEY_NAME: "cluster-api-provider-aws-sigs-k8s-io"
CONFORMANCE_CI_ARTIFACTS_KUBERNETES_VERSION: "v1.26.6"
CONFORMANCE_WORKER_MACHINE_COUNT: "5"
CONFORMANCE_CONTROL_PLANE_MACHINE_COUNT: "3"
ETCD_VERSION_UPGRADE_TO: "3.5.6-0"
COREDNS_VERSION_UPGRADE_TO: "v1.9.3"
MULTI_TENANCY_ROLE_NAME: "multi-tenancy-role"
MULTI_TENANCY_NESTED_ROLE_NAME: "multi-tenancy-nested-role"
IP_FAMILY: "IPv4"
CAPA_LOGLEVEL: "4"
# Enabling the feature flags by setting the env variables.
EXP_CLUSTER_RESOURCE_SET: "true"
EXP_MACHINE_POOL: "true"
CLUSTER_TOPOLOGY: "true"
INIT_WITH_BINARY_V1BETA1: "https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.2.0/clusterctl-{OS}-{ARCH}"
# INIT_WITH_KUBERNETES_VERSION are only used by the clusterctl upgrade test to initialize
# the management cluster to be upgraded.
INIT_WITH_KUBERNETES_VERSION: "v1.25.0"
EXP_BOOTSTRAP_FORMAT_IGNITION: "true"
EXP_KUBEADM_BOOTSTRAP_FORMAT_IGNITION: "true"
EXP_EXTERNAL_RESOURCE_GC: "true"
GC_WORKLOAD: "../../data/gcworkload.yaml"
intervals:
default/wait-cluster: ["35m", "10s"]
default/wait-control-plane: ["35m", "10s"]
default/wait-worker-nodes: ["20m", "10s"]
conformance/wait-control-plane: ["35m", "10s"]
conformance/wait-worker-nodes: ["35m", "10s"]
default/wait-controllers: ["5m", "10s"]
default/wait-delete-cluster: ["20m", "10s"]
default/wait-machine-upgrade: ["35m", "10s"]
default/wait-contolplane-upgrade: ["40m", "10s"]
default/wait-machine-status: ["25m", "10s"]
default/wait-failed-machine-status: ["2m", "10s"]
default/wait-infra-subnets: ["5m", "30s"]
default/wait-machine-pool-nodes: ["40m", "10s"]
default/wait-machine-pool-upgrade: [ "50m", "10s" ]
default/wait-create-identity: ["1m", "10s"]
default/wait-job: ["10m", "10s"]
default/wait-deployment-ready: ["5m", "10s"]
default/wait-loadbalancer-ready: ["5m", "30s"]