Skip to content

Commit 50e4f50

Browse files
authored
Merge pull request #2570 from Nordix/lentzi90/e2e-image-refactor
🌱 E2E: Image refactor
2 parents 550b87a + b8733d5 commit 50e4f50

File tree

18 files changed

+106
-310
lines changed

18 files changed

+106
-310
lines changed

test/e2e/data/e2e_conf.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,9 @@ variables:
173173
CCM: "../../data/ccm/cloud-controller-manager.yaml"
174174
EXP_CLUSTER_RESOURCE_SET: "true"
175175
OPENSTACK_BASTION_IMAGE_NAME: "cirros-0.6.1-x86_64-disk"
176+
OPENSTACK_BASTION_IMAGE_URL: https://storage.googleapis.com/artifacts.k8s-staging-capi-openstack.appspot.com/test/cirros/2022-12-05/cirros-0.6.1-x86_64-disk.img
177+
OPENSTACK_BASTION_IMAGE_HASH: 0c839612eb3f2469420f2ccae990827f
178+
OPENSTACK_BASTION_IMAGE_HASH_ALGORITHM: "md5"
176179
OPENSTACK_BASTION_MACHINE_FLAVOR: "m1.tiny"
177180
OPENSTACK_BASTION_MACHINE_FLAVOR_ALT: "m1.tiny.alt"
178181
OPENSTACK_CLOUD: "capo-e2e"
@@ -184,7 +187,9 @@ variables:
184187
OPENSTACK_FAILURE_DOMAIN: "testaz1"
185188
OPENSTACK_FAILURE_DOMAIN_ALT: "testaz2"
186189
OPENSTACK_IMAGE_NAME: "ubuntu-2404-kube-v1.31.2"
190+
OPENSTACK_IMAGE_URL: https://storage.googleapis.com/artifacts.k8s-staging-capi-openstack.appspot.com/test/ubuntu/2024-11-21/ubuntu-2404-kube-v1.31.2.img
187191
OPENSTACK_IMAGE_NAME_UPGRADE_FROM: "ubuntu-2204-kube-v1.30.1"
192+
OPENSTACK_IMAGE_URL_UPGRADE_FROM: https://storage.googleapis.com/artifacts.k8s-staging-capi-openstack.appspot.com/test/ubuntu/2024-05-28/ubuntu-2204-kube-v1.30.1.img
188193
OPENSTACK_NODE_MACHINE_FLAVOR: "m1.small"
189194
OPENSTACK_SSH_KEY_NAME: "cluster-api-provider-openstack-sigs-k8s-io"
190195
# The default external network created by devstack
@@ -198,8 +203,10 @@ variables:
198203
EXP_KUBEADM_BOOTSTRAP_FORMAT_IGNITION: "true"
199204
# The Flatcar image produced by the image-builder
200205
OPENSTACK_FLATCAR_IMAGE_NAME: "flatcar-stable-4152.2.0-kube-v1.31.2"
206+
OPENSTACK_FLATCAR_IMAGE_URL: "https://storage.googleapis.com/artifacts.k8s-staging-capi-openstack.appspot.com/test/flatcar/flatcar-stable-4152.2.0-kube-v1.31.2.img"
201207
# A plain Flatcar from the Flatcar releases server
202208
FLATCAR_IMAGE_NAME: "flatcar_production_openstack_image"
209+
FLATCAR_IMAGE_URL: https://stable.release.flatcar-linux.net/amd64-usr/current/flatcar_production_openstack_image.img
203210

204211
intervals:
205212
conformance/wait-control-plane: ["30m", "10s"]
Lines changed: 28 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,20 @@
1-
---
21
apiVersion: openstack.k-orc.cloud/v1alpha1
32
kind: Image
43
metadata:
54
name: node-image
5+
labels:
6+
clusterctl.cluster.x-k8s.io/move: ""
67
spec:
7-
import:
8-
filter:
9-
name: ${OPENSTACK_IMAGE_NAME}
10-
managementPolicy: unmanaged
8+
resource:
9+
name: ${OPENSTACK_IMAGE_NAME}
10+
content:
11+
containerFormat: bare
12+
diskFormat: qcow2
13+
download:
14+
url: ${OPENSTACK_IMAGE_URL}
15+
managementPolicy: managed
16+
managedOptions:
17+
onDelete: detach
1118
cloudCredentialsRef:
1219
secretName: ${CLUSTER_NAME}-cloud-config
1320
cloudName: ${OPENSTACK_CLOUD}
@@ -16,11 +23,22 @@ apiVersion: openstack.k-orc.cloud/v1alpha1
1623
kind: Image
1724
metadata:
1825
name: bastion-image
26+
labels:
27+
clusterctl.cluster.x-k8s.io/move: ""
1928
spec:
20-
import:
21-
filter:
22-
name: ${OPENSTACK_BASTION_IMAGE_NAME}
23-
managementPolicy: unmanaged
29+
resource:
30+
name: ${OPENSTACK_BASTION_IMAGE_NAME}
31+
content:
32+
containerFormat: bare
33+
diskFormat: qcow2
34+
download:
35+
url: ${OPENSTACK_BASTION_IMAGE_URL}
36+
hash:
37+
algorithm: ${OPENSTACK_BASTION_IMAGE_HASH_ALGORITHM}
38+
value: ${OPENSTACK_BASTION_IMAGE_HASH}
39+
managementPolicy: managed
40+
managedOptions:
41+
onDelete: detach
2442
cloudCredentialsRef:
2543
secretName: ${CLUSTER_NAME}-cloud-config
26-
cloudName: ${OPENSTACK_CLOUD}
44+
cloudName: ${OPENSTACK_CLOUD}
Lines changed: 28 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,20 @@
1-
---
21
apiVersion: openstack.k-orc.cloud/v1alpha1
32
kind: Image
43
metadata:
54
name: node-image
5+
labels:
6+
clusterctl.cluster.x-k8s.io/move: ""
67
spec:
7-
import:
8-
filter:
9-
name: ${OPENSTACK_IMAGE_NAME}
10-
managementPolicy: unmanaged
8+
resource:
9+
name: ${OPENSTACK_IMAGE_NAME}
10+
content:
11+
containerFormat: bare
12+
diskFormat: qcow2
13+
download:
14+
url: ${OPENSTACK_IMAGE_URL}
15+
managementPolicy: managed
16+
managedOptions:
17+
onDelete: detach
1118
cloudCredentialsRef:
1219
secretName: ${CLUSTER_NAME}-cloud-config
1320
cloudName: ${OPENSTACK_CLOUD}
@@ -16,11 +23,22 @@ apiVersion: openstack.k-orc.cloud/v1alpha1
1623
kind: Image
1724
metadata:
1825
name: bastion-image
26+
labels:
27+
clusterctl.cluster.x-k8s.io/move: ""
1928
spec:
20-
import:
21-
filter:
22-
name: ${OPENSTACK_BASTION_IMAGE_NAME}
23-
managementPolicy: unmanaged
29+
resource:
30+
name: ${OPENSTACK_BASTION_IMAGE_NAME}
31+
content:
32+
containerFormat: bare
33+
diskFormat: qcow2
34+
download:
35+
url: ${OPENSTACK_BASTION_IMAGE_URL}
36+
hash:
37+
algorithm: ${OPENSTACK_BASTION_IMAGE_HASH_ALGORITHM}
38+
value: ${OPENSTACK_BASTION_IMAGE_HASH}
39+
managementPolicy: managed
40+
managedOptions:
41+
onDelete: detach
2442
cloudCredentialsRef:
2543
secretName: ${CLUSTER_NAME}-cloud-config
26-
cloudName: ${OPENSTACK_CLOUD}
44+
cloudName: ${OPENSTACK_CLOUD}

test/e2e/data/kustomize/flatcar-sysext/kustomization.yaml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
---
21
resources:
32
- ../../../../../kustomize/v1beta1/flatcar-sysext
43

@@ -17,5 +16,8 @@ patches:
1716
name: node-image
1817
patch: |-
1918
- op: replace
20-
path: /spec/import/filter/name
19+
path: /spec/resource/name
2120
value: ${FLATCAR_IMAGE_NAME}
21+
- op: replace
22+
path: /spec/resource/content/download/url
23+
value: ${FLATCAR_IMAGE_URL}

test/e2e/data/kustomize/flatcar/kustomization.yaml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,5 +19,8 @@ patches:
1919
name: node-image
2020
patch: |-
2121
- op: replace
22-
path: /spec/import/filter/name
22+
path: /spec/resource/name
2323
value: ${OPENSTACK_FLATCAR_IMAGE_NAME}
24+
- op: replace
25+
path: /spec/resource/content/download/url
26+
value: ${OPENSTACK_FLATCAR_IMAGE_URL}

test/e2e/data/kustomize/k8s-upgrade/kustomization.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ apiVersion: kustomize.config.k8s.io/v1beta1
22
kind: Kustomization
33
resources:
44
- ../default
5+
- upgrade-from-images.yaml
56
- upgrade-from-template.yaml
67
- upgrade-to-template.yaml
78

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
apiVersion: openstack.k-orc.cloud/v1alpha1
2+
kind: Image
3+
metadata:
4+
name: node-image-upgrade-from
5+
labels:
6+
clusterctl.cluster.x-k8s.io/move: ""
7+
spec:
8+
resource:
9+
name: ${OPENSTACK_IMAGE_NAME_UPGRADE_FROM}
10+
content:
11+
containerFormat: bare
12+
diskFormat: qcow2
13+
download:
14+
url: ${OPENSTACK_IMAGE_URL_UPGRADE_FROM}
15+
managementPolicy: managed
16+
managedOptions:
17+
onDelete: detach
18+
cloudCredentialsRef:
19+
secretName: ${CLUSTER_NAME}-cloud-config
20+
cloudName: ${OPENSTACK_CLOUD}

test/e2e/data/kustomize/k8s-upgrade/upgrade-from-template.yaml

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
---
21
apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
32
kind: OpenStackMachineTemplate
43
metadata:
@@ -8,8 +7,8 @@ spec:
87
spec:
98
flavor: ${OPENSTACK_CONTROL_PLANE_MACHINE_FLAVOR}
109
image:
11-
filter:
12-
name: ${OPENSTACK_IMAGE_NAME_UPGRADE_FROM}
10+
imageRef:
11+
name: node-image-upgrade-from
1312
sshKeyName: ${OPENSTACK_SSH_KEY_NAME}
1413
tags:
1514
- control-plane
@@ -23,8 +22,8 @@ spec:
2322
spec:
2423
flavor: ${OPENSTACK_NODE_MACHINE_FLAVOR}
2524
image:
26-
filter:
27-
name: ${OPENSTACK_IMAGE_NAME_UPGRADE_FROM}
25+
imageRef:
26+
name: node-image-upgrade-from
2827
sshKeyName: ${OPENSTACK_SSH_KEY_NAME}
2928
tags:
3029
- machine

test/e2e/data/kustomize/k8s-upgrade/upgrade-to-template.yaml

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
# The normal templates has the cluster name as part of the OSMT name.
44
# See CONTROL_PLANE_MACHINE_TEMPLATE_UPGRADE_TO and WORKERS_MACHINE_TEMPLATE_UPGRADE_TO
55
# in the e2e config.
6-
---
76
apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
87
kind: OpenStackMachineTemplate
98
metadata:
@@ -15,8 +14,8 @@ spec:
1514
spec:
1615
flavor: ${OPENSTACK_CONTROL_PLANE_MACHINE_FLAVOR}
1716
image:
18-
filter:
19-
name: ${OPENSTACK_IMAGE_NAME}
17+
imageRef:
18+
name: node-image
2019
sshKeyName: ${OPENSTACK_SSH_KEY_NAME}
2120
tags:
2221
- control-plane
@@ -32,8 +31,8 @@ spec:
3231
spec:
3332
flavor: ${OPENSTACK_NODE_MACHINE_FLAVOR}
3433
image:
35-
filter:
36-
name: ${OPENSTACK_IMAGE_NAME}
34+
imageRef:
35+
name: node-image
3736
sshKeyName: ${OPENSTACK_SSH_KEY_NAME}
3837
tags:
3938
- machine

test/e2e/shared/cluster.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,8 +105,8 @@ func setupBootstrapCluster(config *clusterctl.E2EConfig, scheme *runtime.Scheme,
105105
}
106106

107107
// initBootstrapCluster uses kind to create a cluster.
108-
func initBootstrapCluster(e2eCtx *E2EContext) {
109-
clusterctl.InitManagementClusterAndWatchControllerLogs(context.TODO(), clusterctl.InitManagementClusterAndWatchControllerLogsInput{
108+
func initBootstrapCluster(ctx context.Context, e2eCtx *E2EContext) {
109+
clusterctl.InitManagementClusterAndWatchControllerLogs(ctx, clusterctl.InitManagementClusterAndWatchControllerLogsInput{
110110
ClusterProxy: e2eCtx.Environment.BootstrapClusterProxy,
111111
ClusterctlConfigPath: e2eCtx.Environment.ClusterctlConfigPath,
112112
InfrastructureProviders: e2eCtx.E2EConfig.InfrastructureProviders(),

0 commit comments

Comments
 (0)