Skip to content

Commit 8100de6

Browse files
authored
ci: add dualstack coverage to LSG-CNI pipeline (#4001)
* ci: add dualstack coverage to LSG-CNI pipeline * chore: cleanup typo
1 parent c0451dd commit 8100de6

File tree

2 files changed

+107
-26
lines changed

2 files changed

+107
-26
lines changed

.pipelines/cni/lsg/lsg-cni-intergration-template.yaml renamed to .pipelines/cni/lsg/lsg-cni-integration-template.yaml

Lines changed: 61 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -19,23 +19,42 @@ stages:
1919
- setup
2020
displayName: "Create Cluster - ${{ parameters.clusterName }}"
2121
jobs:
22-
- job: create_aks_cluster_with_${{ parameters.name }}
23-
steps:
24-
- task: AzureCLI@2
25-
inputs:
26-
azureSubscription: $(BUILD_VALIDATIONS_SERVICE_CONNECTION)
27-
scriptLocation: "inlineScript"
28-
scriptType: "bash"
29-
addSpnToEnvironment: true
30-
inlineScript: |
31-
make -C ./hack/aks azcfg AZCLI=az REGION=$(LOCATION)
32-
make -C ./hack/aks ${{ parameters.clusterType }} \
33-
AZCLI=az REGION=$(LOCATION) SUB=$(SUB_AZURE_NETWORK_AGENT_BUILD_VALIDATIONS) \
34-
CLUSTER=${{ parameters.clusterName }}-$(commitID) \
35-
VM_SIZE=${{ parameters.vmSize }} \
36-
AUTOUPGRADE=none
37-
name: "CreateAksCluster"
38-
displayName: "Create AKS Cluster"
22+
- ${{ if not(contains(parameters.name, 'ds')) }}:
23+
- job: create_aks_cluster_with_${{ parameters.name }}
24+
steps:
25+
- task: AzureCLI@2
26+
inputs:
27+
azureSubscription: $(BUILD_VALIDATIONS_SERVICE_CONNECTION)
28+
scriptLocation: "inlineScript"
29+
scriptType: "bash"
30+
addSpnToEnvironment: true
31+
inlineScript: |
32+
make -C ./hack/aks azcfg AZCLI=az REGION=$(LOCATION)
33+
make -C ./hack/aks ${{ parameters.clusterType }} \
34+
AZCLI=az REGION=$(LOCATION) SUB=$(SUB_AZURE_NETWORK_AGENT_BUILD_VALIDATIONS) \
35+
CLUSTER=${{ parameters.clusterName }}-$(commitID) \
36+
VM_SIZE=${{ parameters.vmSize }} \
37+
AUTOUPGRADE=none
38+
name: "CreateAksCluster"
39+
displayName: "Create AKS Cluster"
40+
- ${{ else }}:
41+
- job: create_aks_cluster_with_${{ parameters.name }}
42+
steps:
43+
- task: AzureCLI@2
44+
inputs:
45+
azureSubscription: $(BUILD_VALIDATIONS_SERVICE_CONNECTION)
46+
scriptLocation: "inlineScript"
47+
scriptType: "bash"
48+
addSpnToEnvironment: true
49+
inlineScript: |
50+
make -C ./hack/aks azcfg AZCLI=az REGION=$(REGION_DUALSTACKOVERLAY_CLUSTER_TEST)
51+
make -C ./hack/aks ${{ parameters.clusterType }} \
52+
AZCLI=az REGION=$(REGION_DUALSTACKOVERLAY_CLUSTER_TEST) SUB=$(SUB_AZURE_NETWORK_AGENT_BUILD_VALIDATIONS) \
53+
CLUSTER=${{ parameters.clusterName }}-$(commitID) \
54+
VM_SIZE=${{ parameters.vmSize }} \
55+
AUTOUPGRADE=none
56+
name: "CreateAksDSCluster"
57+
displayName: "Create AKS Dualstack Cluster"
3958

4059
- stage: ${{ parameters.name }}
4160
variables:
@@ -69,7 +88,14 @@ stages:
6988
make -C ./hack/aks set-kubeconf AZCLI=az CLUSTER=${{ parameters.clusterName }}-$(commitID)
7089
kubectl cluster-info
7190
kubectl get po -owide -A
72-
sudo -E env "PATH=$PATH" make test-load CNS_ONLY=true CNS_VERSION=$(cnsVersion) CNI_VERSION=$(cniVersion) INSTALL_CNS=true INSTALL_AZURE_CNI_OVERLAY=true CNS_IMAGE_REPO=$(CNS_IMAGE_REPO) CNI_IMAGE_REPO=$(CNI_IMAGE_REPO)
91+
if [[ ${{ parameters.clusterType }} =~ "dualstack-overlay-byocni-up" ]]; then
92+
echo "Installing Azure CNI Dualstack Overlay"
93+
sudo -E env "PATH=$PATH" make test-load CNS_ONLY=true INSTALL_CNS=true INSTALL_DUALSTACK_OVERLAY=true CNS_VERSION=$(cnsVersion) CNI_VERSION=$(cniVersion) CNS_IMAGE_REPO=$(CNS_IMAGE_REPO) CNI_IMAGE_REPO=$(CNI_IMAGE_REPO)
94+
else
95+
echo "Installing Azure CNI Overlay"
96+
sudo -E env "PATH=$PATH" make test-load CNS_ONLY=true INSTALL_CNS=true INSTALL_AZURE_CNI_OVERLAY=true CNS_VERSION=$(cnsVersion) CNI_VERSION=$(cniVersion) CNS_IMAGE_REPO=$(CNS_IMAGE_REPO) CNI_IMAGE_REPO=$(CNI_IMAGE_REPO)
97+
fi
98+
7399
name: "overlaye2e"
74100
displayName: "Overlay Integration"
75101
retryCountOnTaskFailure: 2
@@ -98,14 +124,19 @@ stages:
98124
export DIR=$(echo ${CILIUM_VERSION_TAG#v} | cut -d. -f1,2)
99125
echo "installing files from ${DIR}"
100126
127+
if [[ ${{ parameters.clusterType }} =~ "dualstack-byocni" ]]; then
128+
export DUALSTACK_PATH="-dualstack"
129+
echo "Installing Cilium Dualstack"
130+
fi
131+
101132
echo "deploy Cilium ConfigMap"
102-
kubectl apply -f test/integration/manifests/cilium/v${DIR}/cilium-config/cilium-config.yaml
133+
kubectl apply -f test/integration/manifests/cilium/v${DIR}/cilium-config/cilium-config${DUALSTACK_PATH}.yaml
103134
104135
# Passes Cilium image to daemonset and deployment
105136
kubectl apply -f test/integration/manifests/cilium/v${DIR}/cilium-agent/files
106137
kubectl apply -f test/integration/manifests/cilium/v${DIR}/cilium-operator/files
107138
108-
envsubst '${CILIUM_VERSION_TAG},${CILIUM_IMAGE_REGISTRY}' < test/integration/manifests/cilium/v${DIR}/cilium-agent/templates/daemonset.yaml | kubectl apply -f -
139+
envsubst '${CILIUM_VERSION_TAG},${CILIUM_IMAGE_REGISTRY},${IPV6_IMAGE_REGISTRY},${IPV6_HP_BPF_VERSION}' < test/integration/manifests/cilium/v${DIR}/cilium-agent/templates/daemonset${DUALSTACK_PATH}.yaml | kubectl apply -f -
109140
envsubst '${CILIUM_VERSION_TAG},${CILIUM_IMAGE_REGISTRY}' < test/integration/manifests/cilium/v${DIR}/cilium-operator/templates/deployment.yaml | kubectl apply -f -
110141
kubectl get po -owide -A
111142
echo "Deploy Azure-CNS"
@@ -208,23 +239,30 @@ stages:
208239
os: ${{ parameters.os }}
209240
cni: ${{ parameters.cni }}
210241
dependsOn: cni_tests
211-
datapath: true
242+
${{ if contains(parameters.cni, 'dualstack') }}:
243+
dualstack: true
244+
${{ else }}:
245+
datapath: true
212246
dns: true
213247
portforward: true
214248
service: true
215-
- ${{ if contains(parameters.cni, 'cniv2') }}:
249+
- ${{ if contains(parameters.name, 'linux') }}:
216250
- template: ../k8s-e2e/k8s-e2e-job-template.yaml
217251
parameters:
218252
sub: $(BUILD_VALIDATIONS_SERVICE_CONNECTION)
219253
clusterName: ${{ parameters.clusterName }}-$(commitID)
220254
os: ${{ parameters.os }}
221255
cni: ${{ parameters.cni }}
222256
dependsOn: recover
223-
datapath: true
257+
${{ if contains(parameters.cni, 'dualstack') }}:
258+
dualstack: true
259+
${{ else }}:
260+
datapath: true
224261
dns: true
225262
portforward: true
226263
service: true
227264
hostport: true
265+
228266
- job: failedE2ELogs
229267
displayName: "Failure Logs"
230268
dependsOn:

.pipelines/cni/lsg/pipeline.yaml

Lines changed: 46 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ stages:
2222
- script: |
2323
echo "Setting up environment"
2424
go version
25-
echo "##vso[task.setvariable variable=commitID;isOutput=true]$(echo $(make revision)-$(date "+%d%H%M"))"
25+
echo "##vso[task.setvariable variable=commitID;isOutput=true]$(echo $(make revision)-$(Build.BuildId))"
2626
echo "##vso[task.setvariable variable=cnsVersion;isOutput=true]$(CNS_VERSION)"
2727
echo "##vso[task.setvariable variable=cniVersion;isOutput=true]$(CNI_VERSION)"
2828
echo "##vso[task.setvariable variable=ipamVersion;isOutput=true]$(IPAM_VERSION)"
@@ -50,7 +50,7 @@ stages:
5050
displayName: "Set Environment Variables"
5151
condition: always()
5252
53-
- template: lsg-cni-intergration-template.yaml
53+
- template: lsg-cni-integration-template.yaml
5454
parameters:
5555
name: linux_overlay
5656
clusterType: overlay-byocni-up
@@ -60,7 +60,7 @@ stages:
6060
arch: amd64
6161
cni: cniv2
6262

63-
- template: lsg-cni-intergration-template.yaml
63+
- template: lsg-cni-integration-template.yaml
6464
parameters:
6565
name: cilium_overlay
6666
clusterType: overlay-byocni-nokubeproxy-up
@@ -70,6 +70,27 @@ stages:
7070
arch: amd64
7171
cni: cilium
7272

73+
# Dualstack
74+
- template: lsg-cni-integration-template.yaml
75+
parameters:
76+
name: linux_overlay_ds
77+
clusterType: dualstack-overlay-byocni-up
78+
clusterName: "kup-over-ds"
79+
nodeCount: 2
80+
vmSize: Standard_B2ms
81+
arch: amd64
82+
cni: dualstack
83+
84+
- template: lsg-cni-integration-template.yaml
85+
parameters:
86+
name: cilium_overlay_ds
87+
clusterType: dualstack-byocni-nokubeproxy-up
88+
clusterName: "kup-cilov-ds"
89+
nodeCount: 2
90+
vmSize: Standard_B2ms
91+
arch: amd64
92+
cni: cilium_dualstack
93+
7394
- stage: delete_resources
7495
displayName: "Delete Resources"
7596
pool:
@@ -78,6 +99,8 @@ stages:
7899
dependsOn:
79100
- linux_overlay
80101
- cilium_overlay
102+
- linux_overlay_ds
103+
- cilium_overlay_ds
81104
- setup
82105
variables:
83106
commitID: $[ stagedependencies.setup.env.outputs['SetEnvVars.commitID'] ]
@@ -102,3 +125,23 @@ stages:
102125
region: $(LOCATION)
103126
sub: $(SUB_AZURE_NETWORK_AGENT_BUILD_VALIDATIONS)
104127
svcConn: $(BUILD_VALIDATIONS_SERVICE_CONNECTION)
128+
- job: delete_ds
129+
displayName: Delete Dualstack Cluster
130+
pool:
131+
name: "$(BUILD_POOL_NAME_DEFAULT)"
132+
strategy:
133+
matrix:
134+
linux_overlay_ds:
135+
name: linux_overlay_ds
136+
clusterName: "kup-over-ds"
137+
cilium_overlay_ds:
138+
name: cilium_overlay_ds
139+
clusterName: "kup-cilov-ds"
140+
steps:
141+
- template: ../../templates/delete-cluster.yaml
142+
parameters:
143+
name: $(name)
144+
clusterName: $(clusterName)-$(commitID)
145+
region: $(REGION_DUALSTACKOVERLAY_CLUSTER_TEST)
146+
sub: $(SUB_AZURE_NETWORK_AGENT_BUILD_VALIDATIONS)
147+
svcConn: $(BUILD_VALIDATIONS_SERVICE_CONNECTION)

0 commit comments

Comments
 (0)