Skip to content

Commit 5d25eb1

Browse files
jpayne3506rbtrcamrynlvipul-21rajvinar
authored
Release/v1.4 Remove AKS-Engine (Azure#2212)
* build azure-vnet-telemetry and azure-vnet-ipam in dropgz-test (Azure#1846) build azure-vnet-telemetry and azure-vnet-ipam in dropgz-test for parity with release image Signed-off-by: Evan Baker <[email protected]> (cherry picked from commit f619259) * ci: disable kube-proxy for test clusters (Azure#1965) * disable kube-proxy for byocni cluster creation * test config mapping * shell pwd * use CURDIR * check current directory * test with repo root dir * test azp format * test azp format * test azp format * change e2e steps to remove kube proxy * fix load test update args * fix ns and rg in update * update ciliume2e * fix kubectl cmd in load test * adding new targets for no kube proxy * remove cluster update * update overlay e2e * test behavior of load test * test grep for azure-cns * look for container deployment * testing * restart node variable check * update if condition * add skip node case --------- Co-authored-by: tamilmani1989 <[email protected]> (cherry picked from commit 024819d) * CI: [CNI] Replace the bash scripts for CNI load testing with golang test cases (Azure#2003) CI:[CNI] Replace the bash scripts with the golang test cases (cherry picked from commit 008ae45) * ci: [CNI] Move Nightly Cilium Pipeline test to ACN (Azure#1963) * CNS to be able to generate dualstack overaly CNI conflist (Azure#1981) * fix: Eliminating duplicate lines * ci: Add update permission for ciliumidentity * fix: Parameterize Image Registry add retry to nnc update during scaledown (Azure#1970) * add retry to nnc update during scaledown Signed-off-by: Evan Baker <[email protected]> * test for panic in pool monitor Signed-off-by: Evan Baker <[email protected]> --------- Signed-off-by: Evan Baker <[email protected]> fix: reserve 0th IP as gateway for overlay on Windows (Azure#1968) * fix: reserve 0th IP as gateway for overlay on Windows * fix: allow gateway to be updated ci: windows profile container image (Azure#1988) Always use 0 for NC version in Overlay (Azure#1979) always use 0 for NC version in overlay Signed-off-by: Evan Baker <[email protected]> [Vnet Scale - CNS]: Flattening CIDR ranges for Node NNC to a list (Azure#1921) * Read secondary CIDRs from VnetScale NNC * fix comment * update comment * For VnetScale mode, Use 1st IP for def gateway instead of 0th for windows * fix/add import * address pr comments * add comments * address pr comments * wrap error * fix typo * fix UT fix: [NPM] check if policy exists in case of nil pointer (Azure#1974) fix: check for nil first ci: disable kube-proxy for test clusters (Azure#1965) * disable kube-proxy for byocni cluster creation * test config mapping * shell pwd * use CURDIR * check current directory * test with repo root dir * test azp format * test azp format * test azp format * change e2e steps to remove kube proxy * fix load test update args * fix ns and rg in update * update ciliume2e * fix kubectl cmd in load test * adding new targets for no kube proxy * remove cluster update * update overlay e2e * test behavior of load test * test grep for azure-cns * look for container deployment * testing * restart node variable check * update if condition * add skip node case --------- Co-authored-by: tamilmani1989 <[email protected]> perf: [WIN-NPM] fast bootup (Azure#1900) * wip * wip2 * use other apply DP func * address comment about if statement * finish bootup for both DPs * fix lint * fix lint 2 * fix lint 3 * longer UT timeout and add missing UTs for apply in background tool: [NPM] script to clean up iptable chains (Azure#1978) tool: script to clean up NPM iptable chains feat: [WIN-NPM] metrics for latencies and failures (Azure#1959) * implement metrics * add npm prefix * rename windows files * metrics pkg UTs * allow reinitializing prometheus metrics * fix: hns wrapper should not throw error for empty SetPolicy values * test: metric UTs in dataplane * fix: record list endpoint latency always * remove flaky UT * feat: metric for max ipset members * fix lint * fix lint 2 * fix build * fix lint 3 * simplify conditionals and protect against maxMembers becoming negative * remove bottom 4 histogram buckets. start at 16 ms * reset metrics for ipset UTs * style: don't check for windows dp in *_windows.go files * build: remove unused import * test: reset windows metrics in UT Remove SSH port 22 rule from aks-engine clusters (Azure#1983) ci: change overlaye2e stage to cilium-overlay (Azure#1997) * renaming overlaye2e for cilium * update display names for stages Initial getHomeAZ 404 changes (Azure#1994) * initial getHomeAZ 404 changes * treat 404 as success * address comments CNS to be able to generate dualstack overaly CNI conflist (Azure#1981) fix: Parameterize Image Registry add retry to nnc update during scaledown (Azure#1970) * add retry to nnc update during scaledown Signed-off-by: Evan Baker <[email protected]> * test for panic in pool monitor Signed-off-by: Evan Baker <[email protected]> --------- Signed-off-by: Evan Baker <[email protected]> fix: reserve 0th IP as gateway for overlay on Windows (Azure#1968) * fix: reserve 0th IP as gateway for overlay on Windows * fix: allow gateway to be updated ci: windows profile container image (Azure#1988) Always use 0 for NC version in Overlay (Azure#1979) always use 0 for NC version in overlay Signed-off-by: Evan Baker <[email protected]> [Vnet Scale - CNS]: Flattening CIDR ranges for Node NNC to a list (Azure#1921) * Read secondary CIDRs from VnetScale NNC * fix comment * update comment * For VnetScale mode, Use 1st IP for def gateway instead of 0th for windows * fix/add import * address pr comments * add comments * address pr comments * wrap error * fix typo * fix UT fix: [NPM] check if policy exists in case of nil pointer (Azure#1974) fix: check for nil first ci: disable kube-proxy for test clusters (Azure#1965) * disable kube-proxy for byocni cluster creation * test config mapping * shell pwd * use CURDIR * check current directory * test with repo root dir * test azp format * test azp format * test azp format * change e2e steps to remove kube proxy * fix load test update args * fix ns and rg in update * update ciliume2e * fix kubectl cmd in load test * adding new targets for no kube proxy * remove cluster update * update overlay e2e * test behavior of load test * test grep for azure-cns * look for container deployment * testing * restart node variable check * update if condition * add skip node case --------- Co-authored-by: tamilmani1989 <[email protected]> perf: [WIN-NPM] fast bootup (Azure#1900) * wip * wip2 * use other apply DP func * address comment about if statement * finish bootup for both DPs * fix lint * fix lint 2 * fix lint 3 * longer UT timeout and add missing UTs for apply in background tool: [NPM] script to clean up iptable chains (Azure#1978) tool: script to clean up NPM iptable chains feat: [WIN-NPM] metrics for latencies and failures (Azure#1959) * implement metrics * add npm prefix * rename windows files * metrics pkg UTs * allow reinitializing prometheus metrics * fix: hns wrapper should not throw error for empty SetPolicy values * test: metric UTs in dataplane * fix: record list endpoint latency always * remove flaky UT * feat: metric for max ipset members * fix lint * fix lint 2 * fix build * fix lint 3 * simplify conditionals and protect against maxMembers becoming negative * remove bottom 4 histogram buckets. start at 16 ms * reset metrics for ipset UTs * style: don't check for windows dp in *_windows.go files * build: remove unused import * test: reset windows metrics in UT Remove SSH port 22 rule from aks-engine clusters (Azure#1983) ci: change overlaye2e stage to cilium-overlay (Azure#1997) * renaming overlaye2e for cilium * update display names for stages Initial getHomeAZ 404 changes (Azure#1994) * initial getHomeAZ 404 changes * treat 404 as success * address comments CNS to be able to generate dualstack overaly CNI conflist (Azure#1981) * fix: File Directory * style: Comments * Addressing Comments --------- Co-authored-by: Paul Johnston <[email protected]> (cherry picked from commit 1514d95) * ci:[CNI] Add windows CNIv1 datapath test (Azure#2016) * ci: Transfer files * test: Working Datapath Test * test: apierror Tests * style: Datapath Package * test: Deployment timing * fix: Error check * fix: Lint (cherry picked from commit 390977d) * fix: [CNI] CNI load test failing due to namespace already created (Azure#2031) fix: CNI load test failing due to namespace already created (cherry picked from commit c10900e) * ci:[CNI] Windows cniv1 load test pipeline (Azure#2024) CI:[CNI] Windows cniv1 load test pipeline (cherry picked from commit e45ad21) * ci: [CNI] Adding aks cluster creation steps for k8s e2e test (Azure#2052) * ci: [CNI] Adding aks cluster creation steps for k8s e2e test * Add validate step to the pipeline * Adding the telemetry config to the cluster (cherry picked from commit 846e508) * ci:[CNI] Replace AKS-Engine Tests with k8s conformance tests (Azure#2062) * Initial Commit * Add attempts to prevent flakyness * Add taint for windows tests * Add k8s e2e tests * Testing vmSizes * Artifact k8se2e binary * Remove NPM E2E * Add testing and increase processes * Addressing comments (cherry picked from commit 451c691) * CI: Removing AKS engine related code (Azure#2089) (cherry picked from commit b45c2c7) * feat: [dropgz] Dropgz for windows (Azure#2075) * feat: [dropgz] Dropgz for windows * Removing the code for killing the process from dropgz for windows (cherry picked from commit 7a41178) * ci: Update dns tests for k8s conformance (Azure#2104) Update dns tests for k8s v1.26 (cherry picked from commit bbf2fd4) * ci: adding cni package as a trigger (Azure#2108) (cherry picked from commit e6a8ea6) * ci: add packages for submodule trigger (Azure#2154) (cherry picked from commit 4aecfd6) * set mellanox reg key (Azure#1768) (cherry picked from commit fa2de6d) --------- Co-authored-by: Evan Baker <[email protected]> Co-authored-by: Camryn Lee <[email protected]> Co-authored-by: Vipul Singh <[email protected]> Co-authored-by: Rajvi <[email protected]>
1 parent c325121 commit 5d25eb1

File tree

84 files changed

+3669
-1173
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

84 files changed

+3669
-1173
lines changed

.pipelines/cni/cilium/cilium-cni-load-test.yaml

+26-28
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ stages:
1616
inlineScript: |
1717
set -ex
1818
make -C ./hack/swift azcfg AZCLI=az REGION=$(LOCATION)
19-
make -C ./hack/swift overlay-byocni-up AZCLI=az REGION=$(LOCATION) SUB=$(SUBSCRIPTION_ID) CLUSTER=${RESOURCE_GROUP} NODE_COUNT=10 VM_SIZE=Standard_DS4_v2
19+
make -C ./hack/swift overlay-no-kube-proxy-up AZCLI=az REGION=$(LOCATION) SUB=$(SUBSCRIPTION_ID) CLUSTER=${RESOURCE_GROUP}-$(make revision) NODE_COUNT=10 VM_SIZE=Standard_DS4_v2
2020
name: "CreateAksCluster"
2121
displayName: "Create AKS Cluster"
2222
- stage: install_cilium
@@ -35,7 +35,7 @@ stages:
3535
inlineScript: |
3636
set -ex
3737
az extension add --name aks-preview
38-
make -C ./hack/swift set-kubeconf AZCLI=az CLUSTER=${RESOURCE_GROUP}
38+
make -C ./hack/aks set-kubeconf AZCLI=az CLUSTER=${{ parameters.clusterName }}-$(make revision)
3939
ls -lah
4040
pwd
4141
kubectl cluster-info
@@ -48,6 +48,9 @@ stages:
4848
echo "install Cilium onto Overlay Cluster"
4949
kubectl apply -f test/integration/manifests/cilium/cilium-agent
5050
kubectl apply -f test/integration/manifests/cilium/cilium-operator
51+
# Passes Cilium image to daemonset and deployment
52+
envsubst '${CILIUM_VERSION_TAG},${CILIUM_IMAGE_REGISTRY}' < test/integration/manifests/cilium/daemonset.yaml | kubectl apply -f -
53+
envsubst '${CILIUM_VERSION_TAG},${CILIUM_IMAGE_REGISTRY}' < test/integration/manifests/cilium/deployment.yaml | kubectl apply -f -
5154
kubectl get po -owide -A
5255
echo "deploy ip-masq-agent for overlay"
5356
kubectl create -f test/integration/manifests/ip-masq-agent/ip-masq-agent.yaml --validate=false
@@ -62,20 +65,11 @@ stages:
6265
jobs:
6366
- job: deploy_pods
6467
steps:
65-
- task: AzureCLI@1
66-
displayName: "Pod Deployment"
67-
inputs:
68-
azureSubscription: $(TEST_SUB_SERVICE_CONNECTION)
69-
scriptLocation: "inlineScript"
70-
scriptType: "bash"
71-
addSpnToEnvironment: true
72-
inlineScript: |
73-
set -ex
74-
az extension add --name aks-preview
75-
make -C ./hack/swift set-kubeconf AZCLI=az CLUSTER=${RESOURCE_GROUP}
76-
kubectl apply -f hack/manifests/pod.yaml
77-
kubectl apply -f hack/manifests/hostprocess.yaml
78-
bash hack/scripts/scale_deployment.sh
68+
- template: ../load-test-templates/pod-deployment-template.yaml
69+
parameters:
70+
clusterName: ${{ parameters.clusterName }}
71+
scaleup: 2400
72+
os: linux
7973
- stage: validate_state
8074
dependsOn: pod_deployment
8175
displayName: "Validate State"
@@ -89,9 +83,9 @@ stages:
8983
scriptType: "bash"
9084
addSpnToEnvironment: true
9185
inlineScript: |
92-
make -C ./hack/swift set-kubeconf AZCLI=az CLUSTER=${RESOURCE_GROUP}
86+
make -C ./hack/swift set-kubeconf AZCLI=az CLUSTER=${RESOURCE_GROUP}-$(make revision)
9387
kubectl get pods -A
94-
bash hack/scripts/validate_state.sh
88+
make test-validate-state
9589
name: "ValidateState"
9690
displayName: "Validate State"
9791
retryCountOnTaskFailure: 3
@@ -109,18 +103,22 @@ stages:
109103
addSpnToEnvironment: true
110104
inlineScript: |
111105
echo "Scale up the pods and immediated restart the nodes"
112-
make -C ./hack/swift set-kubeconf AZCLI=az CLUSTER=${RESOURCE_GROUP}
106+
make -C ./hack/swift set-kubeconf AZCLI=az CLUSTER=${RESOURCE_GROUP}-$(make revision)
113107
make -C ./hack/swift azcfg AZCLI=az REGION=$(LOCATION)
108+
cd test/integration/load
114109
echo "Scaling the pods down to 100 per node"
115-
bash ./hack/scripts/scale_deployment.sh -n 0 -u 1000 -s
110+
go test -count 1 -timeout 30m -tags load -run ^TestScaleDeployment$ -tags=load -scaleup=1000 -skip-wait=true
111+
cd ../../../
116112
echo "Restarting the nodes"
117113
vmss_name=$(az vmss list -g MC_${RESOURCE_GROUP}_${RESOURCE_GROUP}_$(LOCATION) --query "[].name" -o tsv)
118-
make -C ./hack/swift restart-vmss AZCLI=az CLUSTER=${RESOURCE_GROUP} REGION=$(LOCATION) VMSS_NAME=$vmss_name
119-
bash ./hack/scripts/scale_deployment.sh -n 0 -u 1000 -c
114+
make -C ./hack/swift restart-vmss AZCLI=az CLUSTER=${RESOURCE_GROUP}-$(make revision) REGION=$(LOCATION) VMSS_NAME=$vmss_name
115+
cd test/integration/load
116+
go test -count 1 -timeout 30m -tags load -run ^TestScaleDeployment$ -tags=load -replicas=1000
120117
name: "RestartNodes"
121118
displayName: "Restart Nodes"
122119
- script: |
123-
bash hack/scripts/validate_state.sh
120+
export RESTART_CASE=true
121+
make test-validate-state
124122
name: "ValidateState"
125123
displayName: "Validate State"
126124
retryCountOnTaskFailure: 3
@@ -148,11 +146,11 @@ stages:
148146
addSpnToEnvironment: true
149147
inlineScript: |
150148
set -ex
151-
make -C ./hack/swift set-kubeconf AZCLI=az CLUSTER=${RESOURCE_GROUP}
149+
make -C ./hack/aks set-kubeconf AZCLI=az CLUSTER=${{ parameters.clusterName }}-$(make revision)
152150
name: "GetCluster"
153151
displayName: "Get AKS Cluster"
154152
- script: |
155-
k delete deployment container -n default
153+
kubectl delete ns load-test
156154
cilium connectivity test
157155
retryCountOnTaskFailure: 6
158156
name: "CiliumConnectivityTests"
@@ -175,9 +173,9 @@ stages:
175173
if [ "$(DELETE_RESOURCES)" ]
176174
then
177175
echo "Deleting Cluster and resource group"
178-
make -C ./hack/swift set-kubeconf AZCLI=az CLUSTER=${RESOURCE_GROUP}
179-
make -C ./hack/swift azcfg AZCLI=az REGION=$(LOCATION)
180-
make -C ./hack/swift down AZCLI=az REGION=$(LOCATION) SUB=$(SUBSCRIPTION_ID) CLUSTER=${RESOURCE_GROUP}
176+
make -C ./hack/aks set-kubeconf AZCLI=az CLUSTER=${{ parameters.clusterName }}-$(make revision)
177+
make -C ./hack/aks azcfg AZCLI=az REGION=$(LOCATION)
178+
make -C ./hack/aks down AZCLI=az REGION=$(LOCATION) SUB=$(SUBSCRIPTION_ID) CLUSTER=${{ parameters.clusterName }}-$(make revision)
181179
echo "Cluster and resources down"
182180
else
183181
echo "Deletion of resources is False"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
pr: none
2+
trigger: none
3+
4+
stages:
5+
- stage: init
6+
displayName: "Build and Push Cilium Image"
7+
jobs:
8+
- job: build_and_push_cilium_image
9+
steps:
10+
- bash: |
11+
set -ex
12+
cd .pipelines/
13+
git clone https://github.com/cilium/cilium.git
14+
cd cilium
15+
make docker-cilium-image
16+
make docker-operator-generic-image
17+
name: BuildCiliumImage
18+
displayName: "Build Cilium Image"
19+
- task: Docker@2
20+
displayName: Login
21+
inputs:
22+
containerRegistry: $(CONTAINER_REGISTRY)
23+
command: "login"
24+
- task: AzureCLI@1
25+
inputs:
26+
azureSubscription: $(TEST_SUB_SERVICE_CONNECTION)
27+
scriptLocation: "inlineScript"
28+
inlineScript: |
29+
set -ex
30+
docker tag quay.io/cilium/cilium:$(DOCKER_IMAGE_TAG) $(ACR).azurecr.io/cilium/cilium:$(DOCKER_IMAGE_TAG)
31+
docker tag quay.io/cilium/operator-generic:$(DOCKER_IMAGE_TAG) $(ACR).azurecr.io/cilium/operator-generic:$(DOCKER_IMAGE_TAG)
32+
docker push $(ACR).azurecr.io/cilium/cilium:$(DOCKER_IMAGE_TAG)
33+
docker push $(ACR).azurecr.io/cilium/operator-generic:$(DOCKER_IMAGE_TAG)
34+
name: "PushCiliumImage"
35+
displayName: "Push Cilium Image"
36+
- task: Docker@2
37+
displayName: Logout
38+
inputs:
39+
containerRegistry: $(CONTAINER_REGISTRY)
40+
command: "logout"
41+
- stage: cilium_nightly
42+
displayName: E2E - Cilium Nightly
43+
variables:
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+
jobs:
48+
- job: cilium_nightly
49+
steps:
50+
- template: ../../singletenancy/cilium-overlay/cilium-overlay-e2e-step-template.yaml
51+
parameters:
52+
name: "cilium_nightly"
53+
testDropgz: ""
54+
clusterName: "ciliumnightly"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
parameters:
2+
clusterName: ""
3+
os: ""
4+
dependsOn: ""
5+
sub: ""
6+
7+
8+
jobs:
9+
- job: cni_k8se2e
10+
displayName: "CNI k8s E2E"
11+
dependsOn: ${{ parameters.dependsOn }}
12+
pool:
13+
name: $(BUILD_POOL_NAME_DEFAULT)
14+
steps:
15+
- task: AzureCLI@1
16+
inputs:
17+
azureSubscription: ${{ parameters.sub }}
18+
scriptLocation: "inlineScript"
19+
scriptType: "bash"
20+
addSpnToEnvironment: true
21+
inlineScript: |
22+
set -e
23+
make -C ./hack/aks set-kubeconf AZCLI=az CLUSTER=${{ parameters.clusterName }}-$(make revision)
24+
25+
# sig-release provides test suite tarball(s) per k8s release. Just need to provide k8s version "v1.xx.xx"
26+
# pulling k8s version from AKS.
27+
eval k8sVersion="v"$( az aks show -g ${{ parameters.clusterName }}-$(make revision) -n ${{ parameters.clusterName }}-$(make revision) --query "currentKubernetesVersion")
28+
curl -L https://dl.k8s.io/$k8sVersion/kubernetes-test-linux-amd64.tar.gz -o ./kubernetes-test-linux-amd64.tar.gz
29+
30+
# https://github.com/kubernetes/sig-release/blob/master/release-engineering/artifacts.md#content-of-kubernetes-test-system-archtargz-on-example-of-kubernetes-test-linux-amd64targz-directories-removed-from-list
31+
# explictly unzip and strip directories from ginkgo and e2e.test
32+
tar -xvzf kubernetes-test-linux-amd64.tar.gz --strip-components=3 kubernetes/test/bin/ginkgo kubernetes/test/bin/e2e.test
33+
34+
displayName: "Setup Environment"
35+
- ${{ if eq(parameters.datapath, true) }}:
36+
- template: ../k8s-e2e/k8s-e2e-step-template.yaml
37+
parameters:
38+
testName: Datapath
39+
name: datapath
40+
clusterName: ${{ parameters.clusterName }}
41+
ginkgoFocus: '(.*).Networking.should|(.*).Networking.Granular|(.*)kubernetes.api'
42+
ginkgoSkip: 'SCTP|Disruptive|Slow|hostNetwork|kube-proxy|IPv6'
43+
os: ${{ parameters.os }}
44+
processes: 8
45+
attempts: 10
46+
- ${{ if eq(parameters.dns, true) }}:
47+
- template: ../k8s-e2e/k8s-e2e-step-template.yaml
48+
parameters:
49+
testName: DNS
50+
name: dns
51+
clusterName: ${{ parameters.clusterName }}
52+
ginkgoFocus: '\[sig-network\].DNS.should'
53+
ginkgoSkip: 'resolv|256 search'
54+
os: ${{ parameters.os }}
55+
processes: 8
56+
attempts: 3
57+
- ${{ if eq(parameters.portforward, true) }}:
58+
- template: ../k8s-e2e/k8s-e2e-step-template.yaml
59+
parameters:
60+
testName: Kubectl Portforward
61+
name: portforward
62+
clusterName: ${{ parameters.clusterName }}
63+
ginkgoFocus: '\[sig-cli\].Kubectl.Port'
64+
ginkgoSkip: ''
65+
os: ${{ parameters.os }}
66+
processes: 8
67+
attempts: 3
68+
- ${{ if eq(parameters.loadBalancer, true) }}:
69+
- template: ../k8s-e2e/k8s-e2e-step-template.yaml
70+
parameters:
71+
testName: Load Balancers
72+
name: load
73+
clusterName: ${{ parameters.clusterName }}
74+
ginkgoFocus: '\[sig-network\].LoadBalancers'
75+
ginkgoSkip: 'ESIPP|Serial'
76+
os: ${{ parameters.os }}
77+
processes: 8
78+
attempts: 3
79+
- ${{ if eq(parameters.service, true) }}:
80+
- template: ../k8s-e2e/k8s-e2e-step-template.yaml
81+
parameters:
82+
testName: Service Conformance
83+
name: service
84+
clusterName: ${{ parameters.clusterName }}
85+
ginkgoFocus: 'Services.*\[Conformance\].*'
86+
ginkgoSkip: ''
87+
os: ${{ parameters.os }}
88+
processes: 8
89+
attempts: 3
90+
- ${{ if eq(parameters.hostport, true) }}:
91+
- template: ../k8s-e2e/k8s-e2e-step-template.yaml
92+
parameters:
93+
testName: Host Port
94+
name: hostport
95+
clusterName: ${{ parameters.clusterName }}
96+
ginkgoFocus: '\[sig-network\](.*)HostPort|\[sig-scheduling\](.*)hostPort'
97+
ginkgoSkip: 'SCTP|exists conflict' # Skip slow 5 minute test
98+
os: ${{ parameters.os }}
99+
processes: 1 # Has a short serial test
100+
attempts: 3
101+
- ${{ if and(eq(parameters.hybridWin, true), eq(parameters.os, 'windows')) }}:
102+
- template: ../k8s-e2e/k8s-e2e-step-template.yaml
103+
parameters:
104+
testName: Hybrid Network
105+
name: hybrid
106+
clusterName: ${{ parameters.clusterName }}
107+
ginkgoFocus: '\[sig-windows\].Hybrid'
108+
ginkgoSkip: ''
109+
os: ${{ parameters.os }}
110+
processes: 8
111+
attempts: 3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
parameters:
2+
testName: ""
3+
name: ""
4+
clusterName: ""
5+
ginkgoFocus: ""
6+
ginkgoSkip: ""
7+
os: ""
8+
processes: "" # Number of parallel processes
9+
attempts: ""
10+
11+
12+
steps:
13+
- script: |
14+
set -ex
15+
16+
# ginkgoSkip cant handle only |LinuxOnly. Need to have check
17+
if ${{ lower(and(ge(length(parameters.ginkgoSkip), 1), eq(parameters.os, 'windows'))) }}
18+
then
19+
SKIP="|LinuxOnly"
20+
elif ${{ lower(eq(parameters.os, 'windows')) }}
21+
then
22+
SKIP="LinuxOnly"
23+
fi
24+
25+
# Taint Linux nodes so that windows tests do not run on them
26+
if ${{ lower(eq(parameters.os, 'windows')) }}
27+
then
28+
kubectl taint nodes -l kubernetes.azure.com/mode=system node-role.kubernetes.io/control-plane:NoSchedule
29+
fi
30+
31+
# Depreciating flags. Change once k8s minimum version supported is > 1.24
32+
# nodes -> procs
33+
# flakeAttempts -> flake-attempts
34+
# dryRun -> dry-run
35+
36+
./ginkgo --nodes=${{ parameters.processes }} \
37+
./e2e.test -- \
38+
--num-nodes=2 \
39+
--provider=skeleton \
40+
--ginkgo.focus='${{ parameters.ginkgoFocus }}' \
41+
--ginkgo.skip="${{ parameters.ginkgoSkip }}$SKIP" \
42+
--ginkgo.flakeAttempts=${{ parameters.attempts }} \
43+
--ginkgo.v \
44+
--node-os-distro=${{ parameters.os }} \
45+
--kubeconfig=$HOME/.kube/config
46+
47+
# Untaint Linux nodes once testing is complete
48+
if ${{ lower(eq(parameters.os, 'windows')) }}
49+
then
50+
kubectl taint nodes -l kubernetes.azure.com/mode=system node-role.kubernetes.io/control-plane:NoSchedule-
51+
fi
52+
name: ${{ parameters.name }}
53+
displayName: k8s E2E - ${{ parameters.testName }}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
parameters:
2+
clusterType: ""
3+
clusterName: ""
4+
nodeCount: ""
5+
vmSize: ""
6+
windowsVMSize: ""
7+
8+
steps:
9+
- task: AzureCLI@1
10+
inputs:
11+
azureSubscription: $(TEST_SUB_SERVICE_CONNECTION)
12+
scriptLocation: "inlineScript"
13+
scriptType: "bash"
14+
addSpnToEnvironment: true
15+
inlineScript: |
16+
set -ex
17+
make -C ./hack/aks azcfg AZCLI=az REGION=$(LOCATION)
18+
make -C ./hack/aks ${{ parameters.clusterType }} AZCLI=az REGION=$(LOCATION) SUB=$(SUBSCRIPTION_ID) CLUSTER=${{ parameters.clusterName }}-$(make revision) NODE_COUNT=${{ parameters.nodeCount }} VM_SIZE=${{ parameters.vmSize }} WINDOWS_VM_SKU=${{ parameters.windowsVMSize }} WINDOWS_USERNAME=${WINDOWS_USERNAME} WINDOWS_PASSWORD=${WINDOWS_PASSWORD}
19+
name: "CreateAksCluster"
20+
displayName: "Create AKS Cluster"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
parameters:
2+
clusterName: ""
3+
scaleup: 1000
4+
os: ""
5+
iterations: 4
6+
7+
steps:
8+
- task: AzureCLI@1
9+
displayName: "Pod Deployment"
10+
inputs:
11+
azureSubscription: $(TEST_SUB_SERVICE_CONNECTION)
12+
scriptLocation: "inlineScript"
13+
scriptType: "bash"
14+
addSpnToEnvironment: true
15+
inlineScript: |
16+
set -ex
17+
az extension add --name aks-preview
18+
make -C ./hack/aks set-kubeconf AZCLI=az CLUSTER=${{ parameters.clusterName }}-$(make revision)
19+
cd test/integration/load
20+
go test -timeout 30m -tags load -run ^TestLoad$ -tags=load -iterations=${{ parameters.iterations }} -scaleup=${{ parameters.scaleup }} -os=${{ parameters.os }}

0 commit comments

Comments
 (0)