Skip to content

Commit 1b3164c

Browse files
committed
test ebpf podsubnet
1 parent 893e2ca commit 1b3164c

File tree

7 files changed

+868
-2
lines changed

7 files changed

+868
-2
lines changed

.pipelines/pipeline.yaml

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -278,8 +278,18 @@ stages:
278278
vmSize: Standard_B2ms
279279
k8sVersion: ""
280280
dependsOn: ["test"]
281+
282+
# Cilium EBPF Podsubnet E2E tests
283+
- template: singletenancy/cilium-ebpf/cilium-e2e-job-template.yaml
284+
parameters:
285+
name: "cilium_ebpf_podsubnet_e2e"
286+
displayName: Cilium EBPF Podsubnet Azure Linux
287+
clusterType: swift-byocni-nokubeproxy-up
288+
clusterName: "cilbpfpode2e"
289+
vmSize: Standard_B2ms
290+
k8sVersion: ""
291+
dependsOn: ["test"]
281292

282-
283293
# Cilium Nodesubnet E2E tests
284294
- template: singletenancy/cilium-nodesubnet/cilium-nodesubnet-e2e-job-template.yaml
285295
parameters:
@@ -318,7 +328,7 @@ stages:
318328
- template: singletenancy/cilium-overlay-ebpf/cilium-overlay-e2e-job-template.yaml
319329
parameters:
320330
name: "cilium_ebpf_overlay_e2e"
321-
displayName: Cilium EBPF on AKS Overlay
331+
displayName: Cilium EBPF on AKS Overlay Azure Linux
322332
clusterType: overlay-byocni-nokubeproxy-up
323333
clusterName: "cilbpfovere2e"
324334
vmSize: Standard_B2ms
@@ -458,6 +468,7 @@ stages:
458468
- aks_swift_e2e
459469
- cilium_e2e
460470
- cilium_vnetscale_e2e
471+
- cilium_ebpf_podsubnet_e2e
461472
- cilium_nodesubnet_e2e
462473
- cilium_overlay_e2e
463474
- cilium_ebpf_overlay_e2e
@@ -485,6 +496,10 @@ stages:
485496
name: cilium_vnetscale_e2e
486497
clusterName: "ciliumvscalee2e"
487498
region: $(REGION_AKS_CLUSTER_TEST)
499+
cilium_ebpf_podsubnet_e2e:
500+
name: cilium_ebpf_podsubnet_e2e
501+
clusterName: "cilbpfpode2e"
502+
region: $(REGION_AKS_CLUSTER_TEST)
488503
cilium_nodesubnet_e2e:
489504
name: cilium_nodesubnet_e2e
490505
clusterName: "cilndsubnete2e"
Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
parameters:
2+
name: ""
3+
displayName: ""
4+
clusterType: ""
5+
clusterName: ""
6+
vmSize: ""
7+
k8sVersion: ""
8+
dependsOn: ""
9+
os: "linux"
10+
11+
stages:
12+
- stage: ${{ parameters.clusterName }}
13+
displayName: Create Cluster - ${{ parameters.displayName }}
14+
dependsOn:
15+
- ${{ parameters.dependsOn }}
16+
- setup
17+
pool:
18+
name: $(BUILD_POOL_NAME_DEFAULT)
19+
variables:
20+
commitID: $[ stagedependencies.setup.env.outputs['EnvironmentalVariables.commitID'] ]
21+
jobs:
22+
- template: ../../templates/create-cluster.yaml
23+
parameters:
24+
name: ${{ parameters.name }}
25+
displayName: ${{ parameters.displayName }}
26+
clusterType: ${{ parameters.clusterType }}
27+
clusterName: ${{ parameters.clusterName }}-$(commitID)
28+
vmSize: ${{ parameters.vmSize }}
29+
k8sVersion: ${{ parameters.k8sVersion }}
30+
dependsOn: ${{ parameters.dependsOn }}
31+
osSKU: "AzureLinux"
32+
region: $(REGION_AKS_CLUSTER_TEST)
33+
34+
- stage: ${{ parameters.name }}
35+
displayName: E2E - ${{ parameters.displayName }}
36+
dependsOn:
37+
- setup
38+
- publish
39+
- ${{ parameters.clusterName }}
40+
variables:
41+
TAG: $[ stagedependencies.setup.env.outputs['EnvironmentalVariables.Tag'] ]
42+
CURRENT_VERSION: $[ stagedependencies.containerize.check_tag.outputs['CurrentTagManifests.currentTagManifests'] ]
43+
commitID: $[ stagedependencies.setup.env.outputs['EnvironmentalVariables.commitID'] ]
44+
GOPATH: "$(Agent.TempDirectory)/go" # Go workspace path
45+
GOBIN: "$(GOPATH)/bin" # Go binaries path
46+
modulePath: "$(GOPATH)/src/github.com/Azure/azure-container-networking"
47+
condition: and(succeeded(), eq(variables.TAG, variables.CURRENT_VERSION))
48+
pool:
49+
name: $(BUILD_POOL_NAME_DEFAULT)
50+
jobs:
51+
- job: ${{ parameters.name }}
52+
displayName: Cilium Test Suite - (${{ parameters.name }})
53+
timeoutInMinutes: 120
54+
pool:
55+
name: $(BUILD_POOL_NAME_DEFAULT)
56+
demands:
57+
- agent.os -equals Linux
58+
- Role -equals $(CUSTOM_E2E_ROLE)
59+
steps:
60+
- template: cilium-e2e-step-template.yaml
61+
parameters:
62+
name: ${{ parameters.name }}
63+
clusterName: ${{ parameters.clusterName }}-$(commitID)
64+
scaleup: 50
65+
66+
- template: ../../cni/k8s-e2e/k8s-e2e-job-template.yaml
67+
parameters:
68+
sub: $(BUILD_VALIDATIONS_SERVICE_CONNECTION)
69+
clusterName: ${{ parameters.clusterName }}-$(commitID)
70+
os: ${{ parameters.os }}
71+
cni: cilium
72+
dependsOn: ${{ parameters.name }}
73+
datapath: true
74+
dns: true
75+
portforward: true
76+
service: true
77+
78+
- job: failedE2ELogs
79+
displayName: "Failure Logs"
80+
dependsOn:
81+
- ${{ parameters.name }}
82+
- cni_${{ parameters.os }}
83+
condition: failed()
84+
steps:
85+
- template: ../../templates/log-template.yaml
86+
parameters:
87+
clusterName: ${{ parameters.clusterName }}-$(commitID)
88+
os: ${{ parameters.os }}
89+
cni: cilium
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
parameters:
2+
name: ""
3+
clusterName: ""
4+
scaleup: ""
5+
6+
steps:
7+
- template: ../../templates/setup-environment.yaml
8+
9+
- task: AzureCLI@2
10+
inputs:
11+
azureSubscription: $(BUILD_VALIDATIONS_SERVICE_CONNECTION)
12+
scriptLocation: "inlineScript"
13+
scriptType: "bash"
14+
addSpnToEnvironment: true
15+
inlineScript: |
16+
set -e
17+
make -C ./hack/aks set-kubeconf AZCLI=az CLUSTER=${{ parameters.clusterName }}
18+
ls -lah
19+
pwd
20+
kubectl cluster-info
21+
kubectl get pods -Aowide
22+
23+
# see makefile
24+
export AZURE_IPTABLES_MONITOR_IMAGE_REGISTRY=acnpublic.azurecr.io
25+
export AZURE_IPTABLES_MONITOR_TAG=$(make azure-iptables-monitor-version)
26+
make -C ./hack/aks deploy-ebpf-podsubnet-cilium
27+
28+
kubectl get pods -Aowide
29+
name: "installCilium"
30+
displayName: "Install EBPF Podsubnet Cilium"
31+
32+
- template: ../../templates/cilium-cli.yaml
33+
34+
- script: |
35+
echo "Start Azilium E2E Tests"
36+
kubectl get po -owide -A
37+
sudo -E env "PATH=$PATH" make test-load SCALE_UP=32 OS_TYPE=linux VALIDATE_STATEFILE=true INSTALL_CNS=true INSTALL_AZILIUM=true AZURE_IPAM_VERSION=$(make azure-ipam-version) CNS_VERSION=$(make cns-version) CLEANUP=true
38+
retryCountOnTaskFailure: 3
39+
name: "aziliumTest"
40+
displayName: "Run Azilium E2E"
41+
42+
- template: ../../templates/cilium-tests.yaml
43+
parameters:
44+
clusterName: ${{ parameters.clusterName }}
45+
scaleup: ${{ parameters.scaleup }}
46+
47+
- script: |
48+
echo "Run wireserver and metadata connectivity Tests"
49+
bash test/network/wireserver_metadata_test.sh
50+
retryCountOnTaskFailure: 3
51+
name: "WireserverMetadataConnectivityTests"
52+
displayName: "Run Wireserver and Metadata Connectivity Tests"
53+

hack/aks/deploy.mk

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,15 @@ deploy-ebpf-overlay-cilium: deploy-common-ebpf-cilium
3434
| kubectl apply -f -
3535
@$(MAKE) wait-for-cilium
3636

37+
deploy-ebpf-podsubnet-cilium: deploy-common-ebpf-cilium
38+
@kubectl apply -f ../../test/integration/manifests/cilium/v$(EBPF_CILIUM_DIR)/ebpf/podsubnet/static/
39+
# ebpf podsubnet does not have ip masq merger
40+
CILIUM_VERSION_TAG=$(EBPF_CILIUM_VERSION_TAG) CILIUM_IMAGE_REGISTRY=$(EBPF_CILIUM_IMAGE_REGISTRY) \
41+
envsubst '$${CILIUM_VERSION_TAG},$${CILIUM_IMAGE_REGISTRY},$${IPV6_HP_BPF_VERSION},$${AZURE_IPTABLES_MONITOR_IMAGE_REGISTRY},$${AZURE_IPTABLES_MONITOR_TAG}' < \
42+
../../test/integration/manifests/cilium/v$(EBPF_CILIUM_DIR)/ebpf/podsubnet/cilium.yaml \
43+
| kubectl apply -f -
44+
@$(MAKE) wait-for-cilium
45+
3746
wait-for-cilium:
3847
@kubectl rollout status deployment/cilium-operator -n kube-system --timeout=300s
3948
@kubectl rollout status daemonset/cilium -n kube-system --timeout=300s

0 commit comments

Comments
 (0)