Skip to content

Commit c0e6297

Browse files
committed
split overlay e2e tests by os
fix win cluster overlay always being linux only
1 parent 52e5035 commit c0e6297

File tree

3 files changed

+52
-71
lines changed

3 files changed

+52
-71
lines changed

.pipelines/pipeline.yaml

Lines changed: 26 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -283,14 +283,27 @@ stages:
283283
# Azure Overlay E2E tests
284284
- template: singletenancy/azure-cni-overlay/azure-cni-overlay-e2e-job-template.yaml
285285
parameters:
286-
name: "azure_overlay_e2e"
287-
displayName: Azure Overlay
286+
name: "linux_azure_overlay_e2e"
287+
displayName: Azure Overlay Linux
288288
os: linux
289-
clusterType: overlay-byocni-up
290-
clusterName: "azovere2e"
289+
clusterType: linux-overlay-byocni-up
290+
clusterName: "linuxazovere2e"
291+
vmSize: Standard_B2ms
292+
k8sVersion: ""
293+
dependsOn: "containerize"
294+
scaleup: 100
295+
296+
- template: singletenancy/azure-cni-overlay/azure-cni-overlay-e2e-job-template.yaml
297+
parameters:
298+
name: "win_azure_overlay_e2e"
299+
displayName: Azure Overlay Windows
300+
os: windows
301+
clusterType: windows-overlay-byocni-up
302+
clusterName: "winazovere2e"
291303
vmSize: Standard_B2ms
292304
k8sVersion: ""
293305
dependsOn: "containerize"
306+
scaleup: 50
294307

295308
# Azure Overlay E2E Stateless CNI tests
296309
- template: singletenancy/azure-cni-overlay-stateless/azure-cni-overlay-stateless-e2e-job-template.yaml
@@ -382,7 +395,8 @@ stages:
382395
condition: always()
383396
dependsOn:
384397
- setup
385-
- azure_overlay_e2e
398+
- linux_azure_overlay_e2e
399+
- win_azure_overlay_e2e
386400
- azure_overlay_stateless_e2e
387401
- aks_swift_e2e
388402
- cilium_e2e
@@ -420,9 +434,13 @@ stages:
420434
name: cilium_h_overlay_e2e
421435
clusterName: "cilwhleovere2e"
422436
region: $(REGION_AKS_CLUSTER_TEST)
423-
azure_overlay_e2e:
424-
name: azure_overlay_e2e
425-
clusterName: "azovere2e"
437+
linux_azure_overlay_e2e:
438+
name: linux_azure_overlay_e2e
439+
clusterName: "linuxazovere2e"
440+
region: $(REGION_AKS_CLUSTER_TEST)
441+
windows_azure_overlay_e2e:
442+
name: win_azure_overlay_e2e
443+
clusterName: "winazovere2e"
426444
region: $(REGION_AKS_CLUSTER_TEST)
427445
azure_overlay_stateless_e2e:
428446
name: azure_overlay_stateless_e2e

.pipelines/singletenancy/azure-cni-overlay/azure-cni-overlay-e2e-job-template.yaml

Lines changed: 14 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ parameters:
66
vmSize: ""
77
k8sVersion: ""
88
dependsOn: ""
9+
scaleup: ""
910

1011
stages:
1112
- stage: ${{ parameters.clusterName }}
@@ -25,6 +26,7 @@ stages:
2526
clusterType: ${{ parameters.clusterType }}
2627
clusterName: ${{ parameters.clusterName }}-$(commitID)
2728
vmSize: ${{ parameters.vmSize }}
29+
vmSizeWin: ${{ parameters.vmSize }}
2830
k8sVersion: ${{ parameters.k8sVersion }}
2931
dependsOn: ${{ parameters.dependsOn }}
3032
region: $(REGION_AKS_CLUSTER_TEST)
@@ -43,8 +45,8 @@ stages:
4345
pool:
4446
name: $(BUILD_POOL_NAME_DEFAULT)
4547
jobs:
46-
- job: ${{ parameters.name }}_linux
47-
displayName: Azure CNI Overlay Test Suite | Linux - (${{ parameters.name }})
48+
- job: ${{ parameters.name }}_${{ parameters.os }}
49+
displayName: Azure CNI Overlay Test Suite | ${{ parameters.os }} - (${{ parameters.name }})
4850
timeoutInMinutes: 120
4951
pool:
5052
name: $(BUILD_POOL_NAME_DEFAULT)
@@ -56,78 +58,31 @@ stages:
5658
parameters:
5759
name: ${{ parameters.name }}
5860
clusterName: ${{ parameters.clusterName }}-$(commitID)
59-
os: linux
60-
scaleup: 100
61-
- template: ../../templates/add-windows-nodepool-job.yaml
62-
parameters:
63-
depend: ${{ parameters.name }}_linux
64-
clusterName: ${{ parameters.clusterName }}-$(commitID)
65-
vmSize: ${{ parameters.vmSize }}
66-
- job: ${{ parameters.name }}_windows
67-
displayName: Azure CNI Overlay Test Suite | Windows - (${{ parameters.name }})
68-
timeoutInMinutes: 120
69-
dependsOn: windows_nodepool
70-
pool:
71-
name: $(BUILD_POOL_NAME_DEFAULT)
72-
demands:
73-
- agent.os -equals Linux
74-
- Role -equals $(CUSTOM_E2E_ROLE)
75-
steps:
76-
- template: azure-cni-overlay-e2e-step-template.yaml
77-
parameters:
78-
name: ${{ parameters.name }}
79-
clusterName: ${{ parameters.clusterName }}-$(commitID)
80-
os: windows
81-
scaleup: 50
61+
os: ${{ parameters.os }}
62+
scaleup: ${{ parameters.scaleup }} # 50 in windows or 100 in linux
8263

8364
- template: ../../cni/k8s-e2e/k8s-e2e-job-template.yaml
8465
parameters:
8566
sub: $(BUILD_VALIDATIONS_SERVICE_CONNECTION)
8667
clusterName: ${{ parameters.clusterName }}-$(commitID)
8768
os: ${{ parameters.os }}
88-
dependsOn: ${{ parameters.name }}_windows
89-
datapath: true
90-
dns: true
91-
portforward: true
92-
hostport: true
93-
service: true
94-
95-
- template: ../../cni/k8s-e2e/k8s-e2e-job-template.yaml
96-
parameters:
97-
sub: $(BUILD_VALIDATIONS_SERVICE_CONNECTION)
98-
clusterName: ${{ parameters.clusterName }}-$(commitID)
99-
os: windows
100-
dependsOn: cni_${{ parameters.os }}
69+
dependsOn: ${{ parameters.name }}_${{ parameters.os }}
10170
datapath: true
10271
dns: true
10372
portforward: true
10473
hostport: true
10574
service: true
106-
hybridWin: true
75+
hybridWin: ${{ eq(parameters.os, 'windows') }}
10776

108-
- job: failedE2ELogs_linux
109-
displayName: "Linux Failure Logs"
77+
- job: failedE2ELogs_${{ parameters.os }}
78+
displayName: "${{ parameters.os }} Failure Logs"
11079
dependsOn:
111-
- ${{ parameters.name }}_linux
112-
- cni_linux
113-
condition: in(dependencies.${{ parameters.name }}_linux.result, 'Failed')
80+
- ${{ parameters.name }}_${{ parameters.os }}
81+
- CNI_${{ parameters.os }}
82+
condition: in(dependencies.${{ parameters.name }}_${{ parameters.os }}.result, 'Failed')
11483
steps:
11584
- template: ../../templates/log-template.yaml
11685
parameters:
11786
clusterName: ${{ parameters.clusterName }}-$(commitID)
118-
os: linux
87+
os: ${{ parameters.os }}
11988
cni: cniv2
120-
121-
- job: failedE2ELogs_windows
122-
displayName: "Windows Failure Logs"
123-
dependsOn:
124-
- ${{ parameters.name }}_windows
125-
- cni_windows
126-
condition: in(dependencies.${{ parameters.name }}_windows.result, 'Failed')
127-
steps:
128-
- template: ../../templates/log-template.yaml
129-
parameters:
130-
clusterName: ${{ parameters.clusterName }}-$(commitID)
131-
os: windows
132-
cni: cniv2
133-

hack/aks/Makefile

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ nodesubnet-byocni-nokubeproxy-up: rg-up overlay-net-up ## Brings up an NodeSubne
114114
--yes
115115
@$(MAKE) set-kubeconf
116116

117-
overlay-byocni-up: rg-up overlay-net-up ## Brings up an Overlay BYO CNI cluster
117+
linux-overlay-byocni-up: rg-up overlay-net-up ## Brings up a Linux Overlay BYO CNI cluster
118118
$(AZCLI) aks create -n $(CLUSTER) -g $(GROUP) -l $(REGION) \
119119
--auto-upgrade-channel $(AUTOUPGRADE) \
120120
--node-os-upgrade-channel $(NODEUPGRADE) \
@@ -129,9 +129,17 @@ overlay-byocni-up: rg-up overlay-net-up ## Brings up an Overlay BYO CNI cluster
129129
--no-ssh-key \
130130
--os-sku $(OS_SKU) \
131131
--yes
132-
ifeq ($(OS),windows)
133-
@$(MAKE) windows-nodepool-up
134-
endif
132+
@$(MAKE) set-kubeconf
133+
134+
windows-overlay-byocni-up: linux-overlay-byocni-up rg-up overlay-net-up ## Brings up a Windows Overlay BYO CNI cluster
135+
WINDOWS_NODEPOOL=$$(az aks nodepool list --resource-group $(GROUP) --cluster-name $(CLUSTER) --query "[?osType=='Windows']" --output tsv); \
136+
if [ -z "$$WINDOWS_NODEPOOL" ]; then \
137+
echo "No Windows node pool found in the AKS cluster."; \
138+
AZCLI="az" GROUP="$(GROUP)" CLUSTER="$(CLUSTER)" sh ../scripts/wait-cluster-update.sh; \
139+
$(MAKE) windows-nodepool-up; \
140+
else \
141+
echo "AKS cluster already has a Windows node pool."; \
142+
fi
135143
@$(MAKE) set-kubeconf
136144

137145
overlay-byocni-nokubeproxy-up: rg-up overlay-net-up ## Brings up an Overlay BYO CNI cluster without kube-proxy

0 commit comments

Comments
 (0)