Skip to content

Commit 52e5035

Browse files
committed
split dualstack e2e tests by os
split dualstack remove windows to debug remove dup remove unknown stage remove windows from cluster name add windows vm size add windows and linux specific parameters make hybrid windows test on windows only dualstack
1 parent 7479c5a commit 52e5035

File tree

4 files changed

+71
-71
lines changed

4 files changed

+71
-71
lines changed

.pipelines/pipeline.yaml

Lines changed: 25 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -357,13 +357,25 @@ stages:
357357
# CNI dual stack overlay E2E tests
358358
- template: singletenancy/dualstack-overlay/dualstackoverlay-e2e-job-template.yaml
359359
parameters:
360-
name: "dualstackoverlay_e2e"
361-
displayName: AKS DualStack Overlay
360+
name: "linux_dualstackoverlay_e2e"
361+
displayName: AKS DualStack Overlay Linux
362362
os: linux
363-
clusterType: dualstack-overlay-byocni-up
364-
clusterName: "dsovere2e"
363+
clusterType: linux-dualstack-overlay-byocni-up
364+
clusterName: "linuxdsovere2e"
365365
vmSize: Standard_B2ms
366366
dependsOn: "containerize"
367+
scaleup: 100
368+
369+
- template: singletenancy/dualstack-overlay/dualstackoverlay-e2e-job-template.yaml
370+
parameters:
371+
name: "win_dualstackoverlay_e2e"
372+
displayName: AKS DualStack Overlay Windows
373+
os: windows
374+
clusterType: windows-dualstack-overlay-byocni-up
375+
clusterName: "windsovere2e"
376+
vmSize: Standard_B2ms
377+
dependsOn: "containerize"
378+
scaleup: 50
367379

368380
- stage: delete
369381
displayName: Delete Clusters
@@ -380,7 +392,8 @@ stages:
380392
- aks_ubuntu_22_linux_e2e
381393
- aks_swift_vnetscale_e2e
382394
- aks_windows_22_e2e
383-
- dualstackoverlay_e2e
395+
- linux_dualstackoverlay_e2e
396+
- win_dualstackoverlay_e2e
384397
- cilium_dualstackoverlay_e2e
385398
variables:
386399
commitID: $[ stagedependencies.setup.env.outputs['EnvironmentalVariables.commitID'] ]
@@ -431,9 +444,13 @@ stages:
431444
name: aks_windows_22_e2e
432445
clusterName: "win22e2e"
433446
region: $(REGION_AKS_CLUSTER_TEST)
434-
dualstackoverlay_e2e:
435-
name: dualstackoverlay_e2e
436-
clusterName: "dsovere2e"
447+
linux_dualstackoverlay_e2e:
448+
name: linux_dualstackoverlay_e2e
449+
clusterName: "linuxdsovere2e"
450+
region: $(REGION_DUALSTACKOVERLAY_CLUSTER_TEST)
451+
windows_dualstackoverlay_e2e:
452+
name: windows_dualstackoverlay_e2e
453+
clusterName: "windsovere2e"
437454
region: $(REGION_DUALSTACKOVERLAY_CLUSTER_TEST)
438455
cilium_dualstackoverlay_e2e:
439456
name: cilium_dualstackoverlay_e2e

.pipelines/singletenancy/dualstack-overlay/dualstackoverlay-e2e-job-template.yaml

Lines changed: 18 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ parameters:
66
vmSize: ""
77
k8sVersion: ""
88
dependsOn: ""
9+
os: ""
10+
scaleup: ""
911

1012
stages:
1113
- stage: ${{ parameters.clusterName }}
@@ -25,12 +27,12 @@ stages:
2527
clusterType: ${{ parameters.clusterType }}
2628
clusterName: ${{ parameters.clusterName }}-$(commitID)
2729
vmSize: ${{ parameters.vmSize }}
30+
vmSizeWin: ${{ parameters.vmSize }}
2831
k8sVersion: ${{ parameters.k8sVersion }}
2932
dependsOn: ${{ parameters.dependsOn }}
3033
region: $(REGION_DUALSTACKOVERLAY_CLUSTER_TEST) # Dualstack has a specific region requirement
3134

3235
- stage: ${{ parameters.name }}
33-
condition: and( succeeded(), not(eq(dependencies.dualstackoverlaye2e.result,'SucceededWithIssues')) ) # Cant use parameters in dependencies
3436
displayName: E2E - ${{ parameters.displayName }}
3537
dependsOn:
3638
- setup
@@ -44,8 +46,8 @@ stages:
4446
pool:
4547
name: $(BUILD_POOL_NAME_DEFAULT)
4648
jobs:
47-
- job: ${{ parameters.name }}_linux
48-
displayName: DualStack Overlay Test Suite | Linux - (${{ parameters.name }})
49+
- job: ${{ parameters.name }}_${{ parameters.os }}
50+
displayName: DualStack Overlay Test Suite | ${{ parameters.os }} - (${{ parameters.name }})
4951
timeoutInMinutes: 120
5052
pool:
5153
name: $(BUILD_POOL_NAME_DEFAULT)
@@ -57,77 +59,31 @@ stages:
5759
parameters:
5860
name: ${{ parameters.name }}
5961
clusterName: ${{ parameters.clusterName }}-$(commitID)
60-
os: linux
61-
scaleup: 100
62-
- template: ../../templates/add-windows-nodepool-job.yaml
63-
parameters:
64-
depend: ${{ parameters.name }}_linux
65-
clusterName: ${{ parameters.clusterName }}-$(commitID)
66-
vmSize: "Standard_D2_v3"
67-
- job: ${{ parameters.name }}_windows
68-
displayName: DualStack Overlay Test Suite | Windows - (${{ parameters.name }})
69-
timeoutInMinutes: 120
70-
dependsOn: windows_nodepool
71-
pool:
72-
name: $(BUILD_POOL_NAME_DEFAULT)
73-
demands:
74-
- agent.os -equals Linux
75-
- Role -equals $(CUSTOM_E2E_ROLE)
76-
steps:
77-
- template: dualstackoverlay-e2e-step-template.yaml
78-
parameters:
79-
name: ${{ parameters.name }}
80-
clusterName: ${{ parameters.clusterName }}-$(commitID)
81-
os: windows
82-
scaleup: 50
83-
84-
- template: ../../cni/k8s-e2e/k8s-e2e-job-template.yaml
85-
parameters:
86-
sub: $(BUILD_VALIDATIONS_SERVICE_CONNECTION)
87-
clusterName: ${{ parameters.clusterName }}-$(commitID)
88-
os: linux
89-
dependsOn: ${{ parameters.name }}_windows
90-
dualstack: true
91-
dns: true
92-
portforward: true
93-
hostport: true
94-
service: true
62+
os: ${{ parameters.os }}
63+
scaleup: ${{ parameters.scaleup }} # 50 in windows or 100 in linux
9564

9665
- template: ../../cni/k8s-e2e/k8s-e2e-job-template.yaml
9766
parameters:
9867
sub: $(BUILD_VALIDATIONS_SERVICE_CONNECTION)
9968
clusterName: ${{ parameters.clusterName }}-$(commitID)
100-
os: windows
101-
dependsOn: cni_linux
102-
# dualstack: true # Currently broken for scenario and blocking releases, HNS is investigating. Covered by go test in E2E step template
69+
os: ${{ parameters.os }}
70+
dependsOn: ${{ parameters.name }}_${{ parameters.os }}
71+
dualstack: ${{ eq(parameters.os, 'linux') }} # RUN IN LINUX not WINDOWS Currently broken for scenario and blocking releases, HNS is investigating. Covered by go test in E2E step template
10372
dns: true
10473
portforward: true
105-
# service: true # Currently broken for scenario and blocking releases, HNS is investigating.
74+
service: ${{ eq(parameters.os, 'linux') }} # RUN IN LINUX NOT WINDOWS Currently broken for scenario and blocking releases, HNS is investigating.
10675
hostport: true
107-
hybridWin: true
108-
109-
- job: failedE2ELogs_linux
110-
displayName: "Linux Failure Logs"
111-
dependsOn:
112-
- ${{ parameters.name }}_linux
113-
- cni_linux
114-
condition: in(dependencies.${{ parameters.name }}_linux.result, 'Failed')
115-
steps:
116-
- template: ../../templates/log-template.yaml
117-
parameters:
118-
clusterName: ${{ parameters.clusterName }}-$(commitID)
119-
os: linux
120-
cni: cniv2
76+
hybridWin: ${{ eq(parameters.os, 'windows') }}
12177

122-
- job: failedE2ELogs_windows
123-
displayName: "Windows Failure Logs"
78+
- job: failedE2ELogs_${{ parameters.os }}
79+
displayName: "${{ parameters.os }} Failure Logs"
12480
dependsOn:
125-
- ${{ parameters.name }}_windows
126-
- cni_windows
127-
condition: in(dependencies.${{ parameters.name }}_windows.result, 'Failed')
81+
- ${{ parameters.name }}_${{ parameters.os }}
82+
- CNI_${{ parameters.os }}
83+
condition: in(dependencies.${{ parameters.name }}_${{ parameters.os }}.result, 'Failed')
12884
steps:
12985
- template: ../../templates/log-template.yaml
13086
parameters:
13187
clusterName: ${{ parameters.clusterName }}-$(commitID)
132-
os: windows
88+
os: ${{ parameters.os }}
13389
cni: cniv2

hack/aks/Makefile

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -389,7 +389,7 @@ dualstack-overlay-up: rg-up overlay-net-up ## Brings up an dualstack Overlay clu
389389
--yes
390390
@$(MAKE) set-kubeconf
391391

392-
dualstack-overlay-byocni-up: rg-up overlay-net-up ## Brings up an dualstack Overlay BYO CNI cluster
392+
linux-dualstack-overlay-byocni-up: rg-up overlay-net-up ## Brings up an dualstack Overlay BYO CNI cluster
393393
$(AZCLI) aks create -n $(CLUSTER) -g $(GROUP) -l $(REGION) \
394394
--auto-upgrade-channel $(AUTOUPGRADE) \
395395
--node-os-upgrade-channel $(NODEUPGRADE) \
@@ -405,6 +405,17 @@ dualstack-overlay-byocni-up: rg-up overlay-net-up ## Brings up an dualstack Over
405405
--yes
406406
@$(MAKE) set-kubeconf
407407

408+
windows-dualstack-overlay-byocni-up: linux-dualstack-overlay-byocni-up
409+
WINDOWS_NODEPOOL=$$(az aks nodepool list --resource-group $(GROUP) --cluster-name $(CLUSTER) --query "[?osType=='Windows']" --output tsv); \
410+
if [ -z "$$WINDOWS_NODEPOOL" ]; then \
411+
echo "No Windows node pool found in the AKS cluster."; \
412+
AZCLI="az" GROUP="$(GROUP)" CLUSTER="$(CLUSTER)" sh ../scripts/wait-cluster-update.sh; \
413+
$(MAKE) windows-nodepool-up; \
414+
else \
415+
echo "AKS cluster already has a Windows node pool."; \
416+
fi
417+
@$(MAKE) set-kubeconf
418+
408419
cilium-dualstack-up: rg-up overlay-net-up ## Brings up a Cilium Dualstack Overlay cluster with Linux node only
409420
$(AZCLI) aks create -n $(CLUSTER) -g $(GROUP) -l $(REGION) \
410421
--auto-upgrade-channel $(AUTOUPGRADE) \
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# wait for cluster to update
2+
while true; do
3+
cluster_state=$($AZCLI aks show \
4+
--name "$CLUSTER" \
5+
--resource-group "$GROUP" \
6+
--query provisioningState)
7+
8+
if echo "$cluster_state" | grep -q "Updating"; then
9+
echo "Cluster is updating. Sleeping for 30 seconds..."
10+
sleep 30
11+
else
12+
break
13+
fi
14+
done
15+
# cluster state is always set and visible outside the loop
16+
echo "Cluster state is: $cluster_state"

0 commit comments

Comments
 (0)