Skip to content

Commit 057ddbc

Browse files
committed
start running the access tokens and huge services test
1 parent 8f61cc0 commit 057ddbc

File tree

1 file changed

+72
-39
lines changed

1 file changed

+72
-39
lines changed

tests/e2e/scenarios/scalability/run-test.sh

Lines changed: 72 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,12 @@ if [[ -z "${K8S_VERSION:-}" ]]; then
3030
K8S_VERSION=https://storage.googleapis.com/k8s-release-dev/ci/latest.txt
3131
fi
3232

33+
# Default Scale Scenario to performance
34+
if [[ -z "${SCALE_SCENARIO:-}" ]]; then
35+
SCALE_SCENARIO="performance"
36+
export SCALE_SCENARIO
37+
fi
38+
3339
# Default cloud provider to aws
3440
if [[ -z "${CLOUD_PROVIDER:-}" ]]; then
3541
CLOUD_PROVIDER="aws"
@@ -69,23 +75,29 @@ if [[ "${CLOUD_PROVIDER}" == "gce" ]]; then
6975
create_args+=("--master-volume-size=1000")
7076
create_args+=("--gce-service-account=default")
7177
create_args+=("--topology=private")
78+
create_args+=("--bastion")
7279
create_args+=("--image=${INSTANCE_IMAGE:-ubuntu-os-cloud/ubuntu-2404-noble-amd64-v20251001}")
73-
create_args+=("--etcd-storage-type=hyperdisk-balanced")
74-
create_args+=("--set spec.networking.podCIDR=10.64.0.0/11")
75-
create_args+=("--set spec.networking.subnets[0].cidr=10.96.0.0/15")
76-
create_args+=("--set spec.networking.serviceClusterIPRange=10.98.0.0/15")
80+
create_args+=("--set spec.networking.podCIDR=10.64.0.0/10")
81+
create_args+=("--set spec.networking.subnets[0].cidr=10.128.0.0/15")
82+
create_args+=("--set spec.networking.serviceClusterIPRange=10.130.0.0/15")
7783
create_args+=("--set spec.networking.nonMasqueradeCIDR=10.64.0.0/10")
84+
create_args+=("--set spec.etcdClusters[*].etcdMembers[*].volumeIOPS=10000")
85+
create_args+=("--set spec.etcdClusters[*].etcdMembers[*].volumeThroughput=1000")
86+
create_args+=("--set spec.etcdClusters[*].etcdMembers[*].volumeSize=120")
87+
create_args+=("--set spec.etcdClusters[*].etcdMembers[*].volumeType=hyperdisk-balanced")
7888
fi
7989
create_args+=("--networking=${CNI_PLUGIN:-calico}")
8090
if [[ "${CNI_PLUGIN}" == "amazonvpc" ]]; then
8191
create_args+=("--set spec.networking.amazonVPC.env=ENABLE_PREFIX_DELEGATION=true")
8292
fi
8393
create_args+=("--set spec.etcdClusters[0].manager.listenMetricsURLs=http://localhost:2382")
84-
create_args+=("--set spec.etcdClusters[0].manager.env=ETCD_QUOTA_BACKEND_BYTES=8589934592")
85-
create_args+=("--set spec.etcdClusters[1].manager.env=ETCD_QUOTA_BACKEND_BYTES=8589934592")
94+
create_args+=("--set spec.etcdClusters[*].manager.env=ETCD_QUOTA_BACKEND_BYTES=8589934592")
95+
create_args+=("--set spec.etcdClusters[*].manager.env=ETCD_ENABLE_PPROF=true")
8696
create_args+=("--set spec.cloudControllerManager.concurrentNodeSyncs=10")
8797
create_args+=("--set spec.kubelet.maxPods=96")
8898
create_args+=("--set spec.kubeScheduler.authorizationAlwaysAllowPaths=/healthz")
99+
create_args+=("--set spec.kubeScheduler.authorizationAlwaysAllowPaths=/livez")
100+
create_args+=("--set spec.kubeScheduler.authorizationAlwaysAllowPaths=/readyz")
89101
create_args+=("--set spec.kubeScheduler.authorizationAlwaysAllowPaths=/metrics")
90102
create_args+=("--set spec.kubeScheduler.kubeAPIQPS=500")
91103
create_args+=("--set spec.kubeScheduler.kubeAPIBurst=500")
@@ -99,7 +111,7 @@ create_args+=("--set spec.kubeControllerManager.enableProfiling=true")
99111
create_args+=("--set spec.kubeControllerManager.enableContentionProfiling=true")
100112
# inflight requests are bit higher than what currently upstream uses for GCE scale tests
101113
create_args+=("--set spec.kubeAPIServer.maxRequestsInflight=800")
102-
create_args+=("--set spec.kubeAPIServer.maxMutatingRequestsInflight=400")
114+
create_args+=("--set spec.kubeAPIServer.maxMutatingRequestsInflight=0")
103115
create_args+=("--set spec.kubeAPIServer.enableProfiling=true")
104116
create_args+=("--set spec.kubeAPIServer.enableContentionProfiling=true")
105117
create_args+=("--set spec.kubeAPIServer.logLevel=2")
@@ -118,18 +130,10 @@ create_args+=("--master-size=${CONTROL_PLANE_SIZE:-c5.2xlarge}")
118130
if [[ "${CLOUD_PROVIDER}" == "aws" ]]; then
119131
# Enable creating a single nodes instance group
120132
KOPS_FEATURE_FLAGS="AWSSingleNodesInstanceGroup,${KOPS_FEATURE_FLAGS:-}"
121-
create_args+=("--set spec.etcdClusters[0].etcdMembers[0].volumeIOPS=6000")
122-
create_args+=("--set spec.etcdClusters[0].etcdMembers[1].volumeIOPS=6000")
123-
create_args+=("--set spec.etcdClusters[0].etcdMembers[2].volumeIOPS=6000")
124-
create_args+=("--set spec.etcdClusters[0].etcdMembers[0].volumeThroughput=1000")
125-
create_args+=("--set spec.etcdClusters[0].etcdMembers[1].volumeThroughput=1000")
126-
create_args+=("--set spec.etcdClusters[0].etcdMembers[2].volumeThroughput=1000")
127-
create_args+=("--set spec.etcdClusters[0].etcdMembers[0].volumeSize=120")
128-
create_args+=("--set spec.etcdClusters[0].etcdMembers[1].volumeSize=120")
129-
create_args+=("--set spec.etcdClusters[0].etcdMembers[2].volumeSize=120")
130-
create_args+=("--set spec.etcdClusters[0].etcdMembers[0].volumeType=io1")
131-
create_args+=("--set spec.etcdClusters[0].etcdMembers[1].volumeType=io1")
132-
create_args+=("--set spec.etcdClusters[0].etcdMembers[2].volumeType=io1")
133+
create_args+=("--set spec.etcdClusters[*].etcdMembers[*].volumeIOPS=6000")
134+
create_args+=("--set spec.etcdClusters[*].etcdMembers[*].volumeThroughput=1000")
135+
create_args+=("--set spec.etcdClusters[*].etcdMembers[*].volumeSize=120")
136+
create_args+=("--set spec.etcdClusters[*].etcdMembers[*].volumeType=io1")
133137

134138
fi
135139
echo "KOPS_FEATURE_FLAGS=${KOPS_FEATURE_FLAGS}"
@@ -140,9 +144,14 @@ KUBETEST2_ARGS+=("-v=2")
140144
KUBETEST2_ARGS+=("--max-nodes-to-dump=${MAX_NODES_TO_DUMP:-5}")
141145
KUBETEST2_ARGS+=("--cloud-provider=${CLOUD_PROVIDER}")
142146
KUBETEST2_ARGS+=("--cluster-name=${CLUSTER_NAME:-}")
143-
KUBETEST2_ARGS+=("--kops-version-marker=${KOPS_VERSION_MARKER:-https://storage.googleapis.com/k8s-staging-kops/kops/releases/markers/master/latest-ci.txt}")
144147
KUBETEST2_ARGS+=("--admin-access=${ADMIN_ACCESS:-}")
145148
KUBETEST2_ARGS+=("--env=KOPS_FEATURE_FLAGS=${KOPS_FEATURE_FLAGS}")
149+
if [[ "${JOB_TYPE}" == "presubmit" && "${REPO_OWNER}/${REPO_NAME}" == "kubernetes/kops" ]]; then
150+
KUBETEST2_ARGS+=("--build")
151+
KUBETEST2_ARGS+=("--kops-binary-path=${GOPATH}/src/k8s.io/kops/.build/dist/linux/$(go env GOARCH)/kops")
152+
else
153+
KUBETEST2_ARGS+=("--kops-version-marker=${KOPS_VERSION_MARKER:-https://storage.googleapis.com/k8s-staging-kops/kops/releases/markers/master/latest-ci.txt}")
154+
fi
146155

147156
if [[ "${CLOUD_PROVIDER}" == "gce" ]]; then
148157
if [[ -n "${GCP_PROJECT:-}" ]]; then
@@ -151,10 +160,13 @@ if [[ "${CLOUD_PROVIDER}" == "gce" ]]; then
151160
KUBETEST2_ARGS+=("--boskos-resource-type=${BOSKOS_RESOURCE_TYPE:-scalability-project}")
152161
fi
153162
KUBETEST2_ARGS+=("--control-plane-instance-group-overrides=spec.rootVolume.type=hyperdisk-balanced")
163+
KUBETEST2_ARGS+=("--control-plane-instance-group-overrides=spec.rootVolume.iops=10000")
164+
KUBETEST2_ARGS+=("--control-plane-instance-group-overrides=spec.rootVolume.throughput=1000")
165+
KUBETEST2_ARGS+=("--control-plane-instance-group-overrides=spec.associatePublicIP=true")
154166
fi
155167

156168
# More time for bigger clusters
157-
KUBETEST2_ARGS+=("--validation-wait=55m")
169+
KUBETEST2_ARGS+=("--validation-wait=75m")
158170
KUBETEST2_ARGS+=("--validation-count=3")
159171
KUBETEST2_ARGS+=("--validation-interval=60s")
160172

@@ -172,7 +184,7 @@ fi
172184
export PROMETHEUS_KUBE_PROXY_SELECTOR_KEY="k8s-app"
173185
export PROMETHEUS_SCRAPE_APISERVER_ONLY="true"
174186
export CL2_PROMETHEUS_TOLERATE_MASTER="true"
175-
if [[ "${CLOUD_PROVIDER}" == "aws" ]]; then
187+
if [[ "${CLOUD_PROVIDER}" == "aws" && "${SCALE_SCENARIO}" == "performance" ]]; then
176188
# CL2 uses KUBE_SSH_KEY_PATH path to ssh to instances for scraping metrics
177189
export KUBE_SSH_KEY_PATH="/tmp/kops/${CLUSTER_NAME}/id_ed25519"
178190
cat > "${GOPATH}"/src/k8s.io/perf-tests/clusterloader2/testing/load/overrides.yaml <<EOL
@@ -188,20 +200,41 @@ else
188200
EOL
189201
fi
190202

191-
kubetest2 kops "${KUBETEST2_ARGS[@]}" \
192-
--up \
193-
--kubernetes-version="${K8S_VERSION}" \
194-
--create-args="${create_args[*]}" \
195-
--test=clusterloader2 \
196-
-- \
197-
--provider="${CLOUD_PROVIDER}" \
198-
--repo-root="${GOPATH}"/src/k8s.io/perf-tests \
199-
--test-configs="${GOPATH}"/src/k8s.io/perf-tests/clusterloader2/testing/load/config.yaml \
200-
--test-overrides="${GOPATH}"/src/k8s.io/perf-tests/clusterloader2/testing/load/overrides.yaml \
201-
--extra-args="--experimental-prometheus-snapshot-to-report-dir=true" \
202-
--kube-config="${HOME}/.kube/config"
203-
# --test-overrides="${GOPATH}"/src/k8s.io/perf-tests/clusterloader2/testing/experiments/enable_restart_count_check.yaml \
204-
# --test-overrides="${GOPATH}"/src/k8s.io/perf-tests/clusterloader2/testing/experiments/ignore_known_gce_container_restarts.yaml \
205-
# --test-overrides="${GOPATH}"/src/k8s.io/perf-tests/clusterloader2/testing/overrides/5000_nodes.yaml \
206-
# --test-overrides="${GOPATH}"/src/k8s.io/perf-tests/clusterloader2/testing/huge-service/config.yaml \
207-
# --test-overrides="${GOPATH}"/src/k8s.io/perf-tests/clusterloader2/testing/access-tokens/config.yaml \
203+
CLUSTERLOADER2_ARGS=()
204+
if [[ -n "${KOPS_CL2_TEST_CONFIG}" ]]; then
205+
CLUSTERLOADER2_ARGS+=("--test-configs=${GOPATH}/src/k8s.io/perf-tests/clusterloader2/${KOPS_CL2_TEST_CONFIG}")
206+
else
207+
CLUSTERLOADER2_ARGS+=("--test-configs=${GOPATH}/src/k8s.io/perf-tests/clusterloader2/testing/load/config.yaml")
208+
CLUSTERLOADER2_ARGS+=("--test-configs=${GOPATH}/src/k8s.io/perf-tests/clusterloader2/testing/huge-service/config.yaml")
209+
CLUSTERLOADER2_ARGS+=("--test-configs=${GOPATH}/src/k8s.io/perf-tests/clusterloader2/testing/access-tokens/config.yaml")
210+
CLUSTERLOADER2_ARGS+=("--test-overrides=${GOPATH}/src/k8s.io/perf-tests/clusterloader2/testing/load/overrides.yaml")
211+
CLUSTERLOADER2_ARGS+=("--test-overrides=${GOPATH}/src/k8s.io/perf-tests/clusterloader2/testing/experiments/enable_restart_count_check.yaml")
212+
CLUSTERLOADER2_ARGS+=("--test-overrides=${GOPATH}/src/k8s.io/perf-tests/clusterloader2/testing/experiments/ignore_known_gce_container_restarts.yaml")
213+
CLUSTERLOADER2_ARGS+=("--test-overrides=${GOPATH}/src/k8s.io/perf-tests/clusterloader2/testing/overrides/5000_nodes.yaml")
214+
CLUSTERLOADER2_ARGS+=("--extra-args=--experimental-prometheus-snapshot-to-report-dir=true")
215+
fi
216+
217+
if [[ "${SCALE_SCENARIO:performance}" == "correctness" ]]; then
218+
kubetest2 kops "${KUBETEST2_ARGS[@]}" \
219+
--up \
220+
--kubernetes-version="${K8S_VERSION}" \
221+
--create-args="${create_args[*]}" \
222+
--test=kops \
223+
-- \
224+
--test-package-url=https://storage.googleapis.com/k8s-release-dev \
225+
--test-package-dir=ci \
226+
--test-package-marker=latest.txt \
227+
--skip-regex="\[Driver:.gcepd\]|\[Serial\]|\[Disruptive\]|\[Flaky\]|\[Feature:([^L].*|L[^o].*|Lo[^a].*|Loa[^d].*)\]\[KubeUp\]" \
228+
--parallel=25
229+
else
230+
kubetest2 kops "${KUBETEST2_ARGS[@]}" \
231+
--up \
232+
--kubernetes-version="${K8S_VERSION}" \
233+
--create-args="${create_args[*]}" \
234+
--test=clusterloader2 \
235+
-- \
236+
--provider="${CLOUD_PROVIDER}" \
237+
--repo-root="${GOPATH}"/src/k8s.io/perf-tests \
238+
--kube-config="${HOME}/.kube/config" \
239+
"${CLUSTERLOADER2_ARGS[@]}"
240+
fi

0 commit comments

Comments
 (0)