@@ -140,7 +140,7 @@ var _ = Describe("Workload cluster creation", func() {
140140 })
141141
142142 if os .Getenv ("LOCAL_ONLY" ) != "true" {
143- Context ("Creating a private cluster" , func () {
143+ Context ("Creating a private cluster [REQUIRED] " , func () {
144144 It ("Creates a public management cluster in the same vnet" , func () {
145145 clusterName = getClusterName (clusterNamePrefix , "public-custom-vnet" )
146146 Context ("Creating a custom virtual network" , func () {
@@ -202,89 +202,91 @@ var _ = Describe("Workload cluster creation", func() {
202202 fmt .Fprintf (GinkgoWriter , "INFO: skipping test requires pushing container images to external repository" )
203203 }
204204
205- It ("With 3 control-plane nodes and 2 Linux and 2 Windows worker nodes" , func () {
206- clusterName = getClusterName (clusterNamePrefix , "ha" )
207-
208- // Opt into using windows with prow template
209- Expect (os .Setenv ("WINDOWS_WORKER_MACHINE_COUNT" , "2" )).To (Succeed ())
210- Expect (os .Setenv ("K8S_FEATURE_GATES" , "WindowsHostProcessContainers=true" )).To (Succeed ())
211-
212- clusterctl .ApplyClusterTemplateAndWait (ctx , clusterctl.ApplyClusterTemplateAndWaitInput {
213- ClusterProxy : bootstrapClusterProxy ,
214- ConfigCluster : clusterctl.ConfigClusterInput {
215- LogFolder : filepath .Join (artifactFolder , "clusters" , bootstrapClusterProxy .GetName ()),
216- ClusterctlConfigPath : clusterctlConfigPath ,
217- KubeconfigPath : bootstrapClusterProxy .GetKubeconfigPath (),
218- InfrastructureProvider : clusterctl .DefaultInfrastructureProvider ,
219- Flavor : clusterctl .DefaultFlavor ,
220- Namespace : namespace .Name ,
221- ClusterName : clusterName ,
222- KubernetesVersion : e2eConfig .GetVariable (capi_e2e .KubernetesVersion ),
223- ControlPlaneMachineCount : pointer .Int64Ptr (3 ),
224- WorkerMachineCount : pointer .Int64Ptr (2 ),
225- },
226- WaitForClusterIntervals : e2eConfig .GetIntervals (specName , "wait-cluster" ),
227- WaitForControlPlaneIntervals : e2eConfig .GetIntervals (specName , "wait-control-plane" ),
228- WaitForMachineDeployments : e2eConfig .GetIntervals (specName , "wait-worker-nodes" ),
229- }, result )
230-
231- Context ("Validating time synchronization" , func () {
232- AzureTimeSyncSpec (ctx , func () AzureTimeSyncSpecInput {
233- return AzureTimeSyncSpecInput {
234- BootstrapClusterProxy : bootstrapClusterProxy ,
235- Namespace : namespace ,
236- ClusterName : clusterName ,
237- }
205+ Context ("Creating a highly available cluster [REQUIRED]" , func () {
206+ It ("With 3 control-plane nodes and 2 Linux and 2 Windows worker nodes" , func () {
207+ clusterName = getClusterName (clusterNamePrefix , "ha" )
208+
209+ // Opt into using windows with prow template
210+ Expect (os .Setenv ("WINDOWS_WORKER_MACHINE_COUNT" , "2" )).To (Succeed ())
211+ Expect (os .Setenv ("K8S_FEATURE_GATES" , "WindowsHostProcessContainers=true" )).To (Succeed ())
212+
213+ clusterctl .ApplyClusterTemplateAndWait (ctx , clusterctl.ApplyClusterTemplateAndWaitInput {
214+ ClusterProxy : bootstrapClusterProxy ,
215+ ConfigCluster : clusterctl.ConfigClusterInput {
216+ LogFolder : filepath .Join (artifactFolder , "clusters" , bootstrapClusterProxy .GetName ()),
217+ ClusterctlConfigPath : clusterctlConfigPath ,
218+ KubeconfigPath : bootstrapClusterProxy .GetKubeconfigPath (),
219+ InfrastructureProvider : clusterctl .DefaultInfrastructureProvider ,
220+ Flavor : clusterctl .DefaultFlavor ,
221+ Namespace : namespace .Name ,
222+ ClusterName : clusterName ,
223+ KubernetesVersion : e2eConfig .GetVariable (capi_e2e .KubernetesVersion ),
224+ ControlPlaneMachineCount : pointer .Int64Ptr (3 ),
225+ WorkerMachineCount : pointer .Int64Ptr (2 ),
226+ },
227+ WaitForClusterIntervals : e2eConfig .GetIntervals (specName , "wait-cluster" ),
228+ WaitForControlPlaneIntervals : e2eConfig .GetIntervals (specName , "wait-control-plane" ),
229+ WaitForMachineDeployments : e2eConfig .GetIntervals (specName , "wait-worker-nodes" ),
230+ }, result )
231+
232+ Context ("Validating time synchronization" , func () {
233+ AzureTimeSyncSpec (ctx , func () AzureTimeSyncSpecInput {
234+ return AzureTimeSyncSpecInput {
235+ BootstrapClusterProxy : bootstrapClusterProxy ,
236+ Namespace : namespace ,
237+ ClusterName : clusterName ,
238+ }
239+ })
238240 })
239- })
240241
241- Context ("Validating failure domains" , func () {
242- AzureFailureDomainsSpec (ctx , func () AzureFailureDomainsSpecInput {
243- return AzureFailureDomainsSpecInput {
244- BootstrapClusterProxy : bootstrapClusterProxy ,
245- Cluster : result .Cluster ,
246- Namespace : namespace ,
247- ClusterName : clusterName ,
248- }
242+ Context ("Validating failure domains" , func () {
243+ AzureFailureDomainsSpec (ctx , func () AzureFailureDomainsSpecInput {
244+ return AzureFailureDomainsSpecInput {
245+ BootstrapClusterProxy : bootstrapClusterProxy ,
246+ Cluster : result .Cluster ,
247+ Namespace : namespace ,
248+ ClusterName : clusterName ,
249+ }
250+ })
249251 })
250- })
251252
252- Context ("Creating an accessible load balancer" , func () {
253- AzureLBSpec (ctx , func () AzureLBSpecInput {
254- return AzureLBSpecInput {
255- BootstrapClusterProxy : bootstrapClusterProxy ,
256- Namespace : namespace ,
257- ClusterName : clusterName ,
258- SkipCleanup : skipCleanup ,
259- }
253+ Context ("Creating an accessible load balancer" , func () {
254+ AzureLBSpec (ctx , func () AzureLBSpecInput {
255+ return AzureLBSpecInput {
256+ BootstrapClusterProxy : bootstrapClusterProxy ,
257+ Namespace : namespace ,
258+ ClusterName : clusterName ,
259+ SkipCleanup : skipCleanup ,
260+ }
261+ })
260262 })
261- })
262263
263- Context ("Validating network policies" , func () {
264- AzureNetPolSpec (ctx , func () AzureNetPolSpecInput {
265- return AzureNetPolSpecInput {
266- BootstrapClusterProxy : bootstrapClusterProxy ,
267- Namespace : namespace ,
268- ClusterName : clusterName ,
269- SkipCleanup : skipCleanup ,
270- }
264+ Context ("Validating network policies" , func () {
265+ AzureNetPolSpec (ctx , func () AzureNetPolSpecInput {
266+ return AzureNetPolSpecInput {
267+ BootstrapClusterProxy : bootstrapClusterProxy ,
268+ Namespace : namespace ,
269+ ClusterName : clusterName ,
270+ SkipCleanup : skipCleanup ,
271+ }
272+ })
271273 })
272- })
273274
274- Context ("Creating an accessible load balancer for windows" , func () {
275- AzureLBSpec (ctx , func () AzureLBSpecInput {
276- return AzureLBSpecInput {
277- BootstrapClusterProxy : bootstrapClusterProxy ,
278- Namespace : namespace ,
279- ClusterName : clusterName ,
280- SkipCleanup : skipCleanup ,
281- Windows : true ,
282- }
275+ Context ("Creating an accessible load balancer for windows" , func () {
276+ AzureLBSpec (ctx , func () AzureLBSpecInput {
277+ return AzureLBSpecInput {
278+ BootstrapClusterProxy : bootstrapClusterProxy ,
279+ Namespace : namespace ,
280+ ClusterName : clusterName ,
281+ SkipCleanup : skipCleanup ,
282+ Windows : true ,
283+ }
284+ })
283285 })
284286 })
285287 })
286288
287- Context ("Creating a ipv6 control-plane cluster" , func () {
289+ Context ("Creating a ipv6 control-plane cluster [REQUIRED] " , func () {
288290 It ("With ipv6 worker node" , func () {
289291 clusterName = getClusterName (clusterNamePrefix , "ipv6" )
290292 clusterctl .ApplyClusterTemplateAndWait (ctx , clusterctl.ApplyClusterTemplateAndWaitInput {
@@ -330,7 +332,7 @@ var _ = Describe("Workload cluster creation", func() {
330332 })
331333 })
332334
333- Context ("Creating a VMSS cluster" , func () {
335+ Context ("Creating a VMSS cluster [REQUIRED] " , func () {
334336 It ("with a single control plane node and an AzureMachinePool with 2 Linux and 2 Windows worker nodes" , func () {
335337 clusterName = getClusterName (clusterNamePrefix , "vmss" )
336338
@@ -409,7 +411,7 @@ var _ = Describe("Workload cluster creation", func() {
409411 // You can override the default SKU `Standard_NV6` and `Standard_LRS` storage by setting
410412 // the `AZURE_GPU_NODE_MACHINE_TYPE` and `AZURE_GPU_NODE_STORAGE_TYPE` environment variables.
411413 // See https://azure.microsoft.com/en-us/pricing/details/virtual-machines/linux/ for pricing.
412- Context ("Creating a GPU-enabled cluster" , func () {
414+ Context ("Creating a GPU-enabled cluster [OPTIONAL] " , func () {
413415 It ("with a single control plane node and 1 node" , func () {
414416 clusterName = getClusterName (clusterNamePrefix , "gpu" )
415417 clusterctl .ApplyClusterTemplateAndWait (ctx , clusterctl.ApplyClusterTemplateAndWaitInput {
@@ -451,7 +453,7 @@ var _ = Describe("Workload cluster creation", func() {
451453
452454 // ci-e2e.sh and Prow CI skip this test by default.
453455 // To include this test, set `GINKGO_SKIP=""`.
454- Context ("Creating a cluster that uses the external cloud provider" , func () {
456+ Context ("Creating a cluster that uses the external cloud provider [OPTIONAL] " , func () {
455457 It ("with a 1 control plane nodes and 2 worker nodes" , func () {
456458 clusterName = getClusterName (clusterNamePrefix , "oot" )
457459 clusterctl .ApplyClusterTemplateAndWait (ctx , clusterctl.ApplyClusterTemplateAndWaitInput {
@@ -486,7 +488,7 @@ var _ = Describe("Workload cluster creation", func() {
486488 })
487489 })
488490
489- Context ("Creating an AKS cluster" , func () {
491+ Context ("Creating an AKS cluster [EXPERIMENTAL] " , func () {
490492 It ("with a single control plane node and 1 node" , func () {
491493 clusterName = getClusterName (clusterNamePrefix , "aks" )
492494 kubernetesVersion , err := GetAKSKubernetesVersion (ctx , e2eConfig )
@@ -527,7 +529,7 @@ var _ = Describe("Workload cluster creation", func() {
527529 })
528530 })
529531
530- Context ("Creating a Windows Enabled cluster with dockershim" , func () {
532+ Context ("Creating a Windows Enabled cluster with dockershim [OPTIONAL] " , func () {
531533 // Requires 3 control planes due to https://github.com/kubernetes-sigs/cluster-api-provider-azure/issues/857
532534 It ("With 3 control-plane nodes and 1 Linux worker node and 1 Windows worker node" , func () {
533535 clusterName = getClusterName (clusterNamePrefix , "win-ha" )
0 commit comments