Skip to content

Commit ce0e06c

Browse files
authored
test: create nginx deployments in scale test (#2074)
* test: create nginx deployments in scale test * address comments and define --realPodType * remove instances of numRealNginxDeployment * move label-nodes script
1 parent ca02c14 commit ce0e06c

File tree

4 files changed

+76
-6
lines changed

4 files changed

+76
-6
lines changed

test/scale/label-nodes.sh

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
#!/bin/sh
2+
cmd=$1
3+
retries=0
4+
while [ $retries -lt 5 ]; do
5+
$cmd
6+
if [ $? -eq 0 ]; then
7+
break
8+
fi
9+
retries=$((retries+1))
10+
sleep 5s
11+
done
12+
13+
if [ $retries -eq 5 ]; then
14+
echo "Error in executing $cmd"
15+
exit 1
16+
fi
17+
18+
for node in $(kubectl get nodes -o name);
19+
do
20+
echo "Current : $node"
21+
node_name="${node##*/}"
22+
echo "Apply label to the node"
23+
kubectl label node $node_name connectivity-test=true
24+
kubectl label node $node_name scale-test=true
25+
if [ $? -eq 0 ]; then
26+
echo "Label applied to the node"
27+
else
28+
echo "Error in applying label to the node $node_name"
29+
fi
30+
sleep 2s
31+
done
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
apiVersion: apps/v1
2+
kind: Deployment
3+
metadata:
4+
name: TEMP_NAME
5+
namespace: scale-test
6+
labels:
7+
app: scale-test
8+
is-real: "true"
9+
name: TEMP_NAME
10+
spec:
11+
replicas: TEMP_REPLICAS
12+
selector:
13+
matchLabels:
14+
app: scale-test
15+
is-real: "true"OTHER_LABELS_6_SPACES
16+
template:
17+
metadata:
18+
labels:
19+
app: scale-test
20+
name: TEMP_NAME
21+
is-real: "true"OTHER_LABELS_8_SPACES
22+
spec:
23+
nodeSelector:
24+
scale-test: "true"
25+
containers:
26+
- name: nginx
27+
image: nginx:1
28+
ports:
29+
- name: http
30+
containerPort: 80

test/scale/test-scale.sh

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ OPTIONAL PARAMETERS:
4141
--debug-exit-after-print-counts skip scale test. Just print out counts of things to be created and counts of IPSets/ACLs that NPM would create
4242
--num-real-services cluster ip service for the real deployments scheduled. Each svc will point to the respective deployment(having <num-real-replicas> pods) Default is 0
4343
--debug-exit-after-generation skip scale test. Exit after generating templates
44+
--real-pod-type select deployment type. Options are agnhost or nginx. Default is agnhost
4445
4546
OPTIONAL PARAMETERS TO TEST DELETION:
4647
--sleep-after-creation=<int> seconds to sleep after creating everything. Default is 0
@@ -79,6 +80,9 @@ while [[ $# -gt 0 ]]; do
7980
--num-real-deployments=*)
8081
numRealDeployments="${1#*=}"
8182
;;
83+
--real-pod-type=*)
84+
realPodType="${1#*=}"
85+
;;
8286
--num-real-replicas=*)
8387
numRealReplicas="${1#*=}"
8488
;;
@@ -180,6 +184,9 @@ fi
180184
if [[ -z $KUBECTL ]]; then
181185
KUBECTL="kubectl"
182186
fi
187+
if [[ -z $realPodType ]]; then
188+
realPodType="agnhost"
189+
fi
183190
if [[ -z $numRealServices ]]; then numRealServices=0; fi
184191
if [[ -z $deletePodsInterval ]]; then deletePodsInterval=60; fi
185192
if [[ -z $deletePodsTimes ]]; then deletePodsTimes=1; fi
@@ -213,7 +220,7 @@ if [[ $numRealPods -gt 0 ]]; then
213220
extraIPSets=$(( $extraIPSets + 2 ))
214221
fi
215222
if [[ $numRealServices -gt 0 ]]; then
216-
extraIPSets=$(( $extraIPSets + $numRealDeployments ))
223+
extraIPSets=$(( $extraIPSets + $numRealDeployments))
217224
fi
218225
numIPSetsAddedByNPM=$(( 4 + 2*$numTotalPods*$numUniqueLabelsPerPod + 2*$numSharedLabelsPerPod + 2*($numKwokDeployments+$numRealDeployments)*$numUniqueLabelsPerDeployment + $extraIPSets ))
219226
# 3 basic members are [all-ns,kubernetes.io/metadata.name,kubernetes.io/metadata.name:scale-test]
@@ -292,7 +299,7 @@ test -d generated && rm -rf generated/
292299
mkdir -p generated/networkpolicies/applied
293300
mkdir -p generated/networkpolicies/unapplied
294301
mkdir -p generated/kwok-nodes
295-
mkdir -p generated/deployments/real/
302+
mkdir -p generated/deployments/real-$realPodType/
296303
mkdir -p generated/deployments/kwok/
297304
mkdir -p generated/services/real/
298305

@@ -301,6 +308,7 @@ generateDeployments() {
301308
local numReplicas=$2
302309
local depKind=$3
303310

311+
304312
for i in $(seq -f "%05g" 1 $numDeployments); do
305313
name="$depKind-dep-$i"
306314
labelPrefix="$depKind-dep-lab-$i"
@@ -332,21 +340,22 @@ generateServices() {
332340
local numServices=$1
333341
local numDeployments=$2
334342
local serviceKind=$3
343+
local depKind=$4
335344

336345
for i in $(seq -f "%05g" 1 $numServices); do
337346
name="$serviceKind-svc-$i"
338347
outFile=generated/services/$serviceKind/$name.yaml
339348

340349
sed "s/TEMP_NAME/$name/g" templates/$serviceKind-service.yaml > $outFile
341-
sed -i "s/TEMP_DEPLOYMENT_NAME/$serviceKind-dep-$i/g" $outFile
350+
sed -i "s/TEMP_DEPLOYMENT_NAME/$serviceKind-$depKind-dep-$i/g" $outFile
342351
done
343352
}
344353

345354
echo "Generating yamls..."
346355

347356
generateDeployments $numKwokDeployments $numKwokReplicas kwok
348-
generateDeployments $numRealDeployments $numRealReplicas real
349-
generateServices $numRealServices $numRealDeployments real
357+
generateDeployments $numRealDeployments $numRealReplicas real-$realPodType
358+
generateServices $numRealServices $numRealDeployments real $realPodType
350359

351360
for j in $(seq 1 $numNetworkPolicies); do
352361
valNum=$j
@@ -439,7 +448,7 @@ if [[ $numKwokNodes -gt 0 ]]; then
439448
$KUBECTL $KUBECONFIG_ARG apply -f generated/kwok-nodes/
440449
fi
441450
if [[ $numRealPods -gt 0 ]]; then
442-
$KUBECTL $KUBECONFIG_ARG apply -f generated/deployments/real/
451+
$KUBECTL $KUBECONFIG_ARG apply -f generated/deployments/real-$realPodType/
443452
fi
444453
if [[ $numKwokPods -gt 0 ]]; then
445454
$KUBECTL $KUBECONFIG_ARG apply -f generated/deployments/kwok/

0 commit comments

Comments
 (0)