Skip to content

Commit d744062

Browse files
wip - isolating e2e
Signed-off-by: Danil-Grigorev <[email protected]>
1 parent 7a64510 commit d744062

File tree

6 files changed

+206
-37
lines changed

6 files changed

+206
-37
lines changed

templates/test/ci/cluster-template-prow-clusterclass-ci-rke2.yaml

+20-8
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

templates/test/ci/cluster-template-prow-topology-rke2.yaml

+149
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

templates/test/ci/prow-clusterclass-ci-rke2/kustomization.yaml

+1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ resources:
66
- ../../../flavors/clusterclass-rke2/rke2-controlplane-template.yaml
77
- ../../../flavors/clusterclass-rke2/azure-cluster-template.yaml
88
- ../../../flavors/clusterclass-rke2/azure-machine-template-controlplane.yaml
9+
- ../../../flavors/clusterclass-rke2/azure-machine-template-worker.yaml
910
- rke2-config-template.yaml
1011
- ../../../azure-cluster-identity
1112
patches:

templates/test/ci/prow-clusterclass-ci-rke2/patches.yaml

+7-8
Original file line numberDiff line numberDiff line change
@@ -36,13 +36,13 @@ spec:
3636
path: "/spec/template/spec/files/-"
3737
valueFrom:
3838
template: |
39-
- contentFrom:
40-
secret:
41-
key: control-plane-azure.json
42-
name: "{{ .builtin.controlPlane.machineTemplate.infrastructureRef.name }}-azure-json"
43-
owner: root:root
44-
path: /etc/kubernetes/azure.json
45-
permissions: "0644"
39+
contentFrom:
40+
secret:
41+
key: control-plane-azure.json
42+
name: "{{ .builtin.controlPlane.machineTemplate.infrastructureRef.name }}-azure-json"
43+
owner: root:root
44+
path: /etc/kubernetes/azure.json
45+
permissions: "0644"
4646
- name: workerAzureJsonSecretName
4747
definitions:
4848
- selector:
@@ -174,4 +174,3 @@ spec:
174174
template:
175175
spec:
176176
sshPublicKey: ""
177-
vmSize: replace_me

test/e2e/azure_test.go

+27-15
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import (
2323
"context"
2424
"fmt"
2525
"os"
26+
"path/filepath"
2627
"time"
2728

2829
"github.com/Azure/azure-service-operator/v2/pkg/common/config"
@@ -137,7 +138,7 @@ var _ = Describe("Workload cluster creation", func() {
137138
if os.Getenv("USE_LOCAL_KIND_REGISTRY") != "true" {
138139
// This spec expects a user-assigned identity with Contributor role assignment named "cloud-provider-user-identity" in a "capz-ci"
139140
// resource group. Override these defaults by setting the USER_IDENTITY and CI_RG environment variables.
140-
Context("Creating a private cluster [OPTIONAL]", func() {
141+
Context("Creating a private cluster [OPTIONAL-SKIP]", func() {
141142
It("Creates a public management cluster in a custom vnet", func() {
142143
clusterName = getClusterName(clusterNamePrefix, "public-custom-vnet")
143144
By("Creating a custom virtual network", func() {
@@ -355,7 +356,7 @@ var _ = Describe("Workload cluster creation", func() {
355356
})
356357
})
357358

358-
Context("Creating a Flatcar cluster [OPTIONAL]", func() {
359+
Context("Creating a Flatcar cluster [OPTIONAL-SKIP]", func() {
359360
It("With Flatcar control-plane and worker nodes", func() {
360361
clusterName = getClusterName(clusterNamePrefix, "flatcar")
361362
clusterctl.ApplyClusterTemplateAndWait(ctx, createApplyClusterTemplateInput(
@@ -393,7 +394,7 @@ var _ = Describe("Workload cluster creation", func() {
393394
})
394395
})
395396

396-
Context("Creating a Flatcar sysext cluster [OPTIONAL]", func() {
397+
Context("Creating a Flatcar sysext cluster [OPTIONAL-SKIP]", func() {
397398
It("With Flatcar control-plane and worker nodes", func() {
398399
clusterName = getClusterName(clusterNamePrefix, "flatcar-sysext")
399400
clusterctl.ApplyClusterTemplateAndWait(ctx, createApplyClusterTemplateInput(
@@ -431,7 +432,7 @@ var _ = Describe("Workload cluster creation", func() {
431432
})
432433
})
433434

434-
Context("Creating a cluster with spot vms [OPTIONAL]", func() {
435+
Context("Creating a cluster with spot vms [OPTIONAL-SKIP]", func() {
435436
It("With spot vm machine deployments", func() {
436437
clusterName = getClusterName(clusterNamePrefix, "spot")
437438
clusterctl.ApplyClusterTemplateAndWait(ctx, createApplyClusterTemplateInput(
@@ -596,7 +597,7 @@ var _ = Describe("Workload cluster creation", func() {
596597
// You can override the default SKU `Standard_NV12s_v3` and `Premium_LRS` storage by setting
597598
// the `AZURE_GPU_NODE_MACHINE_TYPE` and `AZURE_GPU_NODE_STORAGE_TYPE` environment variables.
598599
// See https://azure.microsoft.com/en-us/pricing/details/virtual-machines/linux/ for pricing.
599-
Context("Creating a GPU-enabled cluster [OPTIONAL]", func() {
600+
Context("Creating a GPU-enabled cluster [OPTIONAL-SKIP]", func() {
600601
It("with a single control plane node and 1 node", func() {
601602
Skip("Skipping since the e2e subscription has no quota for GPU SKUs")
602603
clusterName = getClusterName(clusterNamePrefix, "gpu")
@@ -655,7 +656,7 @@ var _ = Describe("Workload cluster creation", func() {
655656
})
656657

657658
// ci-e2e.sh and Prow CI skip this test by default. To include this test, set `GINKGO_SKIP=""`.
658-
Context("Creating a cluster with VMSS flex machinepools [OPTIONAL]", func() {
659+
Context("Creating a cluster with VMSS flex machinepools [OPTIONAL-SKIP]", func() {
659660
It("with 1 control plane node and 1 machinepool", func() {
660661
clusterName = getClusterName(clusterNamePrefix, "flex")
661662
clusterctl.ApplyClusterTemplateAndWait(ctx, createApplyClusterTemplateInput(
@@ -993,7 +994,7 @@ var _ = Describe("Workload cluster creation", func() {
993994
// ci-e2e.sh and Prow CI skip this test by default. To include this test, set `GINKGO_SKIP=""`.
994995
// This spec expects a user-assigned identity named "cloud-provider-user-identity" in a "capz-ci"
995996
// resource group. Override these defaults by setting the USER_IDENTITY and CI_RG environment variables.
996-
Context("Creating a dual-stack cluster [OPTIONAL]", func() {
997+
Context("Creating a dual-stack cluster [OPTIONAL-SKIP]", func() {
997998
It("With dual-stack worker node", func() {
998999
By("using user-assigned identity")
9991000
clusterName = getClusterName(clusterNamePrefix, "dual-stack")
@@ -1061,7 +1062,7 @@ var _ = Describe("Workload cluster creation", func() {
10611062
})
10621063
})
10631064

1064-
Context("Creating clusters using clusterclass [OPTIONAL]", func() {
1065+
Context("Creating clusters using clusterclass [OPTIONAL-SKIP]", func() {
10651066
It("with a single control plane node, one linux worker node, and one windows worker node", func() {
10661067
// Use ci-default as the clusterclass name so test infra can find the clusterclass template
10671068
Expect(os.Setenv("CLUSTER_CLASS_NAME", "ci-default")).To(Succeed())
@@ -1110,19 +1111,30 @@ var _ = Describe("Workload cluster creation", func() {
11101111

11111112
Context("Creating RKE2 clusters using clusterclass [OPTIONAL]", func() {
11121113
It("with 3 control plane node and one linux worker node", func() {
1113-
// Use ci-default as the clusterclass name so test infra can find the clusterclass template
1114+
// Use ci-rke2 as the clusterclass name so test infra can find the clusterclass template
11141115
Expect(os.Setenv("CLUSTER_CLASS_NAME", "ci-rke2")).To(Succeed())
11151116

11161117
// Use "cc" as spec name because NAT gateway pip name exceeds limit.
11171118
clusterName = getClusterName(clusterNamePrefix, "cc")
11181119

1119-
// Opt into using windows with prow template
1120-
Expect(os.Setenv("WINDOWS_WORKER_MACHINE_COUNT", "1")).To(Succeed())
1120+
// Init rke2 CP and bootstrap providers
1121+
initInput := clusterctl.InitInput{
1122+
// pass reference to the management cluster hosting this test
1123+
KubeconfigPath: bootstrapClusterProxy.GetKubeconfigPath(),
1124+
// pass the clusterctl config file that points to the local provider repository created for this test
1125+
ClusterctlConfigPath: clusterctlConfigPath,
1126+
// setup the desired list of providers for a single-tenant management cluster
1127+
BootstrapProviders: []string{"rke2"},
1128+
ControlPlaneProviders: []string{"rke2"},
1129+
// setup clusterctl logs folder
1130+
LogFolder: filepath.Join(artifactFolder, "clusters", clusterName),
1131+
}
1132+
clusterctl.Init(ctx, initInput)
11211133

11221134
// Create a cluster using the cluster class created above
11231135
clusterctl.ApplyClusterTemplateAndWait(ctx, createApplyClusterTemplateInput(
11241136
specName,
1125-
withFlavor("topology"),
1137+
withFlavor("topology-rke2"),
11261138
withNamespace(namespace.Name),
11271139
withClusterName(clusterName),
11281140
withControlPlaneMachineCount(3),
@@ -1160,7 +1172,7 @@ var _ = Describe("Workload cluster creation", func() {
11601172
// resource group. Override these defaults by setting the USER_IDENTITY and CI_RG environment variables.
11611173
// You can also override the default SKU `Standard_DS2_v2` and `Standard_DS4_v2` storage by setting
11621174
// the `AZURE_EDGEZONE_CONTROL_PLANE_MACHINE_TYPE` and `AZURE_EDGEZONE_NODE_MACHINE_TYPE` environment variables.
1163-
Context("Creating clusters on public MEC [OPTIONAL]", func() {
1175+
Context("Creating clusters on public MEC [OPTIONAL-SKIP]", func() {
11641176
It("with 1 control plane nodes and 1 worker node", func() {
11651177
Skip("Skipping public MEC test until a new edgezone is available")
11661178
By("using user-assigned identity")
@@ -1201,7 +1213,7 @@ var _ = Describe("Workload cluster creation", func() {
12011213
})
12021214
})
12031215

1204-
Context("Creating a self-managed VM based cluster using API Server ILB feature gate using default template [OPTIONAL][API-Server-ILB]", func() {
1216+
Context("Creating a self-managed VM based cluster using API Server ILB feature gate using default template [OPTIONAL-SKIP][API-Server-ILB]", func() {
12051217
It("with three controlplane node and three worker nodes", func() {
12061218
clusterName = getClusterName(clusterNamePrefix, "apiserver-ilb")
12071219

@@ -1247,7 +1259,7 @@ var _ = Describe("Workload cluster creation", func() {
12471259
})
12481260
})
12491261

1250-
Context("Creating a self-managed VM based cluster using API Server ILB feature gate and fully spec-ed out APIServer ILB template [OPTIONAL][API-Server-ILB]", func() {
1262+
Context("Creating a self-managed VM based cluster using API Server ILB feature gate and fully spec-ed out APIServer ILB template [OPTIONAL-SKIP][API-Server-ILB]", func() {
12511263
It("with three controlplane node and three worker nodes", func() {
12521264
clusterName = getClusterName(clusterNamePrefix, "apiserver-ilb")
12531265

test/e2e/config/azure-dev.yaml

+2-6
Original file line numberDiff line numberDiff line change
@@ -80,12 +80,6 @@ providers:
8080
- old: "imagePullPolicy: Always"
8181
new: "imagePullPolicy: IfNotPresent"
8282

83-
- name: rke2
84-
type: BootstrapProvider
85-
86-
- name: rke2
87-
type: ControlPlaneProvider
88-
8983
- name: azure
9084
type: InfrastructureProvider
9185
versions:
@@ -170,6 +164,8 @@ providers:
170164
targetName: "clusterclass-default.yaml"
171165
- sourcePath: "${PWD}/templates/test/ci/cluster-template-prow-topology.yaml"
172166
targetName: "cluster-template-topology.yaml"
167+
- sourcePath: "${PWD}/templates/test/ci/cluster-template-prow-topology-rke2.yaml"
168+
targetName: "cluster-template-topology-rke2.yaml"
173169
- sourcePath: "${PWD}/templates/test/ci/cluster-template-prow-flatcar.yaml"
174170
targetName: "cluster-template-flatcar.yaml"
175171
- sourcePath: "${PWD}/templates/test/ci/cluster-template-prow-flatcar-sysext.yaml"

0 commit comments

Comments
 (0)