Skip to content

Commit 5d6f299

Browse files
committed
enable metrics server for scale tests
1 parent c46ebdf commit 5d6f299

File tree

6 files changed

+56
-9
lines changed

6 files changed

+56
-9
lines changed

tests/e2e/go.mod

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@ require (
1919
k8s.io/client-go v0.34.3
2020
k8s.io/klog/v2 v2.130.1
2121
k8s.io/kops v1.34.1
22-
k8s.io/release v0.18.1-0.20260131205426-0dd247c87350
22+
k8s.io/release v0.19.0
2323
sigs.k8s.io/boskos v0.0.0-20250922191614-14f95fc7cd0b
24-
sigs.k8s.io/kubetest2 v0.0.0-20250219121027-1cc02edeb0b6
24+
sigs.k8s.io/kubetest2 v0.0.0-20260209083522-21e91ebc6d51
2525
sigs.k8s.io/yaml v1.6.0
2626
)
2727

@@ -168,7 +168,7 @@ require (
168168
github.com/go-openapi/swag/yamlutils v0.25.4 // indirect
169169
github.com/go-openapi/validate v0.25.1 // indirect
170170
github.com/go-piv/piv-go/v2 v2.4.0 // indirect
171-
github.com/go-resty/resty/v2 v2.16.2 // indirect
171+
github.com/go-resty/resty/v2 v2.16.5 // indirect
172172
github.com/go-viper/mapstructure/v2 v2.4.0 // indirect
173173
github.com/gobwas/glob v0.2.3 // indirect
174174
github.com/goccy/go-json v0.10.3 // indirect

tests/e2e/go.sum

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -449,8 +449,8 @@ github.com/go-piv/piv-go/v2 v2.4.0 h1:xamQ/fR4MJiw/Ndbk6yi7MVwhjrwlnDAPuaH9zcGb+
449449
github.com/go-piv/piv-go/v2 v2.4.0/go.mod h1:ShZi74nnrWNQEdWzRUd/3cSig3uNOcEZp+EWl0oewnI=
450450
github.com/go-quicktest/qt v1.101.0 h1:O1K29Txy5P2OK0dGo59b7b0LR6wKfIhttaAhHUyn7eI=
451451
github.com/go-quicktest/qt v1.101.0/go.mod h1:14Bz/f7NwaXPtdYEgzsx46kqSxVwTbzVZsDC26tQJow=
452-
github.com/go-resty/resty/v2 v2.16.2 h1:CpRqTjIzq/rweXUt9+GxzzQdlkqMdt8Lm/fuK/CAbAg=
453-
github.com/go-resty/resty/v2 v2.16.2/go.mod h1:0fHAoK7JoBy/Ch36N8VFeMsK7xQOHhvWaC3iOktwmIU=
452+
github.com/go-resty/resty/v2 v2.16.5 h1:hBKqmWrr7uRc3euHVqmh1HTHcKn99Smr7o5spptdhTM=
453+
github.com/go-resty/resty/v2 v2.16.5/go.mod h1:hkJtXbA2iKHzJheXYvQ8snQES5ZLGKMwQ07xAwp/fiA=
454454
github.com/go-rod/rod v0.116.2 h1:A5t2Ky2A+5eD/ZJQr1EfsQSe5rms5Xof/qj296e+ZqA=
455455
github.com/go-rod/rod v0.116.2/go.mod h1:H+CMO9SCNc2TJ2WfrG+pKhITz57uGNYU43qYHh438Mg=
456456
github.com/go-sql-driver/mysql v1.9.3 h1:U/N249h2WzJ3Ukj8SowVFjdtZKfu9vlLZxjPXV1aweo=
@@ -1327,8 +1327,8 @@ k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk=
13271327
k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE=
13281328
k8s.io/kube-openapi v0.0.0-20250910181357-589584f1c912 h1:Y3gxNAuB0OBLImH611+UDZcmKS3g6CthxToOb37KgwE=
13291329
k8s.io/kube-openapi v0.0.0-20250910181357-589584f1c912/go.mod h1:kdmbQkyfwUagLfXIad1y2TdrjPFWp2Q89B3qkRwf/pQ=
1330-
k8s.io/release v0.18.1-0.20260131205426-0dd247c87350 h1:G50kyhS6ojXe6UxX0hTinwtr19rZaTTXrbmC5jl+BlQ=
1331-
k8s.io/release v0.18.1-0.20260131205426-0dd247c87350/go.mod h1:dJgQ/ui34VdzmaQFsJ/PLSLqZohUt+QHTgGFFp+i2Jo=
1330+
k8s.io/release v0.19.0 h1:kLZqs9VjuauRnrdDs5HHNAOBFQXMCEiy8pCtkGwCaJc=
1331+
k8s.io/release v0.19.0/go.mod h1:dJgQ/ui34VdzmaQFsJ/PLSLqZohUt+QHTgGFFp+i2Jo=
13321332
k8s.io/utils v0.0.0-20260108192941-914a6e750570 h1:JT4W8lsdrGENg9W+YwwdLJxklIuKWdRm+BC+xt33FOY=
13331333
k8s.io/utils v0.0.0-20260108192941-914a6e750570/go.mod h1:xDxuJ0whA3d0I4mf/C4ppKHxXynQ+fxnkmQH0vTHnuk=
13341334
modernc.org/cc/v4 v4.26.5 h1:xM3bX7Mve6G8K8b+T11ReenJOT+BmVqQj0FY5T4+5Y4=
@@ -1368,8 +1368,8 @@ sigs.k8s.io/controller-runtime v0.22.4 h1:GEjV7KV3TY8e+tJ2LCTxUTanW4z/FmNB7l327U
13681368
sigs.k8s.io/controller-runtime v0.22.4/go.mod h1:+QX1XUpTXN4mLoblf4tqr5CQcyHPAki2HLXqQMY6vh8=
13691369
sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 h1:IpInykpT6ceI+QxKBbEflcR5EXP7sU1kvOlxwZh5txg=
13701370
sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730/go.mod h1:mdzfpAEoE6DHQEN0uh9ZbOCuHbLK5wOm7dK4ctXE9Tg=
1371-
sigs.k8s.io/kubetest2 v0.0.0-20250219121027-1cc02edeb0b6 h1:Qrq3FufC6BIPy4pAwHyaayBTO3RMvrSyU2ysfjTV73A=
1372-
sigs.k8s.io/kubetest2 v0.0.0-20250219121027-1cc02edeb0b6/go.mod h1:KCWjzDnj7tqUREqslYVb2qN/De3f2X7S+k/I3i4rbyA=
1371+
sigs.k8s.io/kubetest2 v0.0.0-20260209083522-21e91ebc6d51 h1:8gKeTc4j5emHEYnEqeBseYzGaWuijWIJuvz/wgqtZe4=
1372+
sigs.k8s.io/kubetest2 v0.0.0-20260209083522-21e91ebc6d51/go.mod h1:pBd0cFaT0hDqmwQg+TIhyLgPMYaH66QMLcKd09XnKTI=
13731373
sigs.k8s.io/promo-tools/v4 v4.1.0 h1:4N1tmjCzJwFlOgk00Woq3Rpd1esKbOr7t2okQBK7KWI=
13741374
sigs.k8s.io/promo-tools/v4 v4.1.0/go.mod h1:cGIUUfU8heXsfy/ESu+rTmGOeRXn88XIsIOvoUJ4LJs=
13751375
sigs.k8s.io/prow v0.0.0-20240619181241-cfb8754e0459 h1:t8nFAgqf4A53NMuaML7xbBkaKcQtN3aqPPHDsVLfWWs=

tests/e2e/kubetest2-kops/deployer/build.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,8 @@ func (d *deployer) Build() error {
4747
if results.KopsBaseURL != "" {
4848
klog.Infof("setting kops base url to %q from build results", results.KopsBaseURL)
4949
d.KopsBaseURL = results.KopsBaseURL
50+
// In PreTestCmd, we need KOPS_BASE_URL to be set for kops calls
51+
os.Setenv("KOPS_BASE_URL", d.KopsBaseURL)
5052
}
5153

5254
if results.KubernetesBaseURL != "" {

tests/e2e/kubetest2-kops/deployer/up.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,11 @@ func (d *deployer) Up() error {
5959
d.KopsBaseURL = baseURL
6060
}
6161

62+
// In PreTestCmd, we need KOPS_BASE_URL to be set for kops calls
63+
if os.Getenv("KOPS_BASE_URL") == "" {
64+
os.Setenv("KOPS_BASE_URL", d.KopsBaseURL)
65+
}
66+
6267
if d.terraform == nil {
6368
klog.Info("Cleaning up any leaked resources from previous cluster")
6469
// Intentionally ignore errors:
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
#!/usr/bin/env bash
2+
3+
# Copyright 2026 The Kubernetes Authors.
4+
#
5+
# Licensed under the Apache License, Version 2.0 (the "License");
6+
# you may not use this file except in compliance with the License.
7+
# You may obtain a copy of the License at
8+
#
9+
# http://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing, software
12+
# distributed under the License is distributed on an "AS IS" BASIS,
13+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
# See the License for the specific language governing permissions and
15+
# limitations under the License.
16+
17+
# We need to install metrics-server in the cluster and schedule it on the control-plane
18+
helm repo add metrics-server https://kubernetes-sigs.github.io/metrics-server/
19+
helm upgrade --install metrics-server metrics-server/metrics-server \
20+
-n kube-system --set "args={--kubelet-insecure-tls}" \
21+
--set addonResizer.enabled=true
22+
23+
# We need an IG that has a single node for addons such as metrics-server, exec-service
24+
# We used to call it heapster IG but its now called addons
25+
26+
if [[ "${CLOUD_PROVIDER}" == "aws" ]]; then
27+
kops create instancegroup addons --edit=false --role node --zone us-east-2b
28+
kops edit instancegroup addons --set spec.machineType="${ADDONS_NODE_SIZE:-c7a.8xlarge}" \
29+
--set spec.maxSize=1 --set spec.minSize=1 --set --spec.image="ssm:/aws/service/canonical/ubuntu/server/24.04/stable/current/amd64/hvm/ebs-gp3/ami-id"
30+
elif [[ "${CLOUD_PROVIDER}" == "gce" ]]; then
31+
kops create instancegroup addons-us-east1-b-y86s --edit=false --role node --zone us-east1-b
32+
kops edit instancegroup addons-us-east1-b-y86s --set spec.machineType="${ADDONS_NODE_SIZE:-c4-standard-32}" \
33+
--set spec.maxSize=1 --set spec.minSize=1 --set spec.rootVolumeType=hyperdisk-balanced
34+
fi
35+
36+
kops update cluster --yes
37+
sleep 120 # it shouldn't take long to have the node up and ready
38+
# To be replaced with kops validate instancegroup instead of the wait

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ set -x
1919

2020
make test-e2e-install
2121

22+
REPO_ROOT=$(git rev-parse --show-toplevel)
2223
if [[ -z "${K8S_VERSION:-}" ]]; then
2324
K8S_VERSION=https://storage.googleapis.com/k8s-release-dev/ci/latest.txt
2425
fi
@@ -143,6 +144,7 @@ KUBETEST2_ARGS+=("--cloud-provider=${CLOUD_PROVIDER}")
143144
KUBETEST2_ARGS+=("--cluster-name=${CLUSTER_NAME:-}")
144145
KUBETEST2_ARGS+=("--admin-access=${ADMIN_ACCESS:-}")
145146
KUBETEST2_ARGS+=("--env=KOPS_FEATURE_FLAGS=${KOPS_FEATURE_FLAGS}")
147+
KUBETEST2_ARGS+=("--pre-test-cmd=${REPO_ROOT}/tests/e2e/scenarios/scalability/pre-test.sh")
146148
if [[ "${JOB_TYPE}" == "presubmit" && "${REPO_OWNER}/${REPO_NAME}" == "kubernetes/kops" ]]; then
147149
KUBETEST2_ARGS+=("--build")
148150
KUBETEST2_ARGS+=("--kops-binary-path=${GOPATH}/src/k8s.io/kops/.build/dist/linux/$(go env GOARCH)/kops")

0 commit comments

Comments
 (0)