Skip to content

Commit bfa268e

Browse files
authored
Merge pull request #35780 from upodroid/kops-job-patch
run the kops baremetal jobs in prow & add hyperdisk jobs
2 parents bd1b754 + 6aad13f commit bfa268e

File tree

4 files changed

+195
-17
lines changed

4 files changed

+195
-17
lines changed

config/jobs/kubernetes/kops/build_jobs.py

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ def build_test(cloud='aws',
9090
runs_per_day=0,
9191
scenario=None,
9292
env=None,
93+
instance_groups_overrides=None,
9394
kubernetes_feature_gates=None,
9495
build_cluster=None,
9596
cluster_name=None,
@@ -114,6 +115,9 @@ def build_test(cloud='aws',
114115
if extra_flags is None:
115116
extra_flags = []
116117

118+
if instance_groups_overrides is None:
119+
instance_groups_overrides = []
120+
117121
if cloud == 'aws':
118122
kops_image = distro_images[distro]
119123
kops_ssh_user = distros_ssh_user[distro]
@@ -234,6 +238,7 @@ def build_test(cloud='aws',
234238
test_args=test_args,
235239
cluster_name=cluster_name,
236240
storage_e2e_cred=storage_e2e_cred,
241+
instance_groups_overrides=instance_groups_overrides,
237242
)
238243

239244
spec = {
@@ -318,7 +323,8 @@ def presubmit_test(branch='master',
318323
cluster_name=None,
319324
use_preset_for_account_creds=None,
320325
alert_email=None,
321-
alert_num_failures=None):
326+
alert_num_failures=None,
327+
instance_groups_overrides=None):
322328
# pylint: disable=too-many-statements,too-many-branches,too-many-arguments
323329
if cloud == 'aws':
324330
if distro == "channels":
@@ -355,6 +361,8 @@ def presubmit_test(branch='master',
355361
if extra_flags is None:
356362
extra_flags = []
357363

364+
if instance_groups_overrides is None:
365+
instance_groups_overrides = []
358366
# TODO: Uncomment when dynamic discovery buckets are available
359367
# if (irsa and cloud == "aws" and scenario is None and
360368
# terraform_version is None and name != "pull-kops-aws-distro-al2023"):
@@ -414,6 +422,7 @@ def presubmit_test(branch='master',
414422
build_cluster=build_cluster,
415423
test_args=test_args,
416424
cluster_name=cluster_name,
425+
instance_groups_overrides=instance_groups_overrides,
417426
)
418427

419428
spec = {
@@ -2043,6 +2052,31 @@ def generate_presubmits_e2e():
20432052
always_run=True,
20442053
extra_flags=["--gce-service-account=default"], # Workaround for test-infra#24747
20452054
),
2055+
presubmit_test(
2056+
cloud='gce',
2057+
k8s_version='stable',
2058+
kops_channel='alpha',
2059+
name='pull-kops-e2e-k8s-gce-cilium-hyperdisk',
2060+
networking='cilium',
2061+
tab_name='e2e-gce-cilium-hyperdisk',
2062+
always_run=False,
2063+
extra_flags=[
2064+
"--zones=us-east1-b",
2065+
"--node-size=c4-standard-4",
2066+
"--master-size=c4-standard-2",
2067+
"--set spec.etcdClusters[*].etcdMembers[*].volumeIOPS=10000",
2068+
"--set spec.etcdClusters[*].etcdMembers[*].volumeThroughput=1000",
2069+
"--set spec.etcdClusters[*].etcdMembers[*].volumeSize=60",
2070+
"--set spec.etcdClusters[*].etcdMembers[*].volumeType=hyperdisk-balanced",
2071+
"--gce-service-account=default"
2072+
],
2073+
instance_groups_overrides=[
2074+
"spec.rootVolume.type=hyperdisk-balanced",
2075+
"spec.rootVolume.size=60",
2076+
"spec.rootVolume.iops=10000",
2077+
"spec.rootVolume.throughput=1000",
2078+
]
2079+
),
20462080
presubmit_test(
20472081
cloud='gce',
20482082
k8s_version='stable',

config/jobs/kubernetes/kops/kops-presubmits-e2e.yaml

Lines changed: 75 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Test jobs generated by build_jobs.py (do not manually edit)
2-
# 41 jobs
2+
# 42 jobs
33
presubmits:
44
kubernetes/kops:
55

@@ -403,6 +403,80 @@ presubmits:
403403
testgrid-days-of-results: '90'
404404
testgrid-tab-name: e2e-gce-cilium
405405

406+
# {"cloud": "gce", "distro": "u2404", "extra_flags": "--zones=us-east1-b --node-size=c4-standard-4 --master-size=c4-standard-2 --set spec.etcdClusters[*].etcdMembers[*].volumeIOPS=10000 --set spec.etcdClusters[*].etcdMembers[*].volumeThroughput=1000 --set spec.etcdClusters[*].etcdMembers[*].volumeSize=60 --set spec.etcdClusters[*].etcdMembers[*].volumeType=hyperdisk-balanced --gce-service-account=default", "k8s_version": "stable", "kops_channel": "alpha", "networking": "cilium"}
407+
- name: pull-kops-e2e-k8s-gce-cilium-hyperdisk
408+
cluster: k8s-infra-prow-build
409+
branches:
410+
- master
411+
always_run: false
412+
optional: false
413+
skip_report: false
414+
labels:
415+
preset-k8s-ssh: "true"
416+
decorate: true
417+
decoration_config:
418+
timeout: 90m
419+
path_alias: k8s.io/kops
420+
spec:
421+
serviceAccountName: k8s-kops-test
422+
containers:
423+
- image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20251021-e2c2c9806f-master
424+
imagePullPolicy: Always
425+
command:
426+
- runner.sh
427+
args:
428+
- bash
429+
- -c
430+
- |
431+
make test-e2e-install
432+
kubetest2 kops \
433+
-v 2 \
434+
--up --build --down \
435+
--cloud-provider=gce \
436+
--admin-access=0.0.0.0/0 \
437+
--create-args="--channel=alpha --networking=cilium --zones=us-east1-b --node-size=c4-standard-4 --master-size=c4-standard-2 --set spec.etcdClusters[*].etcdMembers[*].volumeIOPS=10000 --set spec.etcdClusters[*].etcdMembers[*].volumeThroughput=1000 --set spec.etcdClusters[*].etcdMembers[*].volumeSize=60 --set spec.etcdClusters[*].etcdMembers[*].volumeType=hyperdisk-balanced --gce-service-account=default" \
438+
--kubernetes-version=https://dl.k8s.io/release/stable.txt \
439+
--kops-binary-path=/home/prow/go/src/k8s.io/kops/.build/dist/linux/amd64/kops \
440+
--control-plane-instance-group-overrides=spec.rootVolume.type=hyperdisk-balanced \
441+
--node-instance-group-overrides=spec.rootVolume.type=hyperdisk-balanced \
442+
--control-plane-instance-group-overrides=spec.rootVolume.size=60 \
443+
--node-instance-group-overrides=spec.rootVolume.size=60 \
444+
--control-plane-instance-group-overrides=spec.rootVolume.iops=10000 \
445+
--node-instance-group-overrides=spec.rootVolume.iops=10000 \
446+
--control-plane-instance-group-overrides=spec.rootVolume.throughput=1000 \
447+
--node-instance-group-overrides=spec.rootVolume.throughput=1000 \
448+
--test=kops \
449+
-- \
450+
--test-args="-test.timeout=60m" \
451+
--test-package-marker=stable.txt \
452+
--parallel=25
453+
securityContext:
454+
privileged: true
455+
env:
456+
- name: KUBE_SSH_KEY_PATH
457+
value: /etc/ssh-key-secret/ssh-private
458+
- name: KUBE_SSH_USER
459+
value: prow
460+
- name: GOPATH
461+
value: /home/prow/go
462+
resources:
463+
limits:
464+
cpu: "4"
465+
memory: 6Gi
466+
requests:
467+
cpu: "4"
468+
memory: 6Gi
469+
annotations:
470+
test.kops.k8s.io/cloud: gce
471+
test.kops.k8s.io/distro: u2404
472+
test.kops.k8s.io/extra_flags: --zones=us-east1-b --node-size=c4-standard-4 --master-size=c4-standard-2 --set spec.etcdClusters[*].etcdMembers[*].volumeIOPS=10000 --set spec.etcdClusters[*].etcdMembers[*].volumeThroughput=1000 --set spec.etcdClusters[*].etcdMembers[*].volumeSize=60 --set spec.etcdClusters[*].etcdMembers[*].volumeType=hyperdisk-balanced --gce-service-account=default
473+
test.kops.k8s.io/k8s_version: stable
474+
test.kops.k8s.io/kops_channel: alpha
475+
test.kops.k8s.io/networking: cilium
476+
testgrid-dashboards: kops-presubmits, presubmits-kops, sig-cluster-lifecycle-kops
477+
testgrid-days-of-results: '90'
478+
testgrid-tab-name: e2e-gce-cilium-hyperdisk
479+
406480
# {"cloud": "gce", "distro": "u2404", "extra_flags": "--gce-service-account=default", "k8s_version": "stable", "kops_channel": "alpha", "networking": "cilium-etcd"}
407481
- name: pull-kops-e2e-k8s-gce-cilium-etcd
408482
cluster: k8s-infra-prow-build

config/jobs/kubernetes/kops/kops-presubmits.yaml

Lines changed: 81 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ presubmits:
1212
path_alias: k8s.io/kops
1313
spec:
1414
containers:
15-
- image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20251021-e2c2c9806f-master
15+
- image: us-central1-docker.pkg.dev/k8s-staging-test-infra/images/kubekins-e2e:v20251021-e2c2c9806f-master
1616
command:
1717
- runner.sh
1818
args:
@@ -40,7 +40,7 @@ presubmits:
4040
path_alias: k8s.io/kops
4141
spec:
4242
containers:
43-
- image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20251021-e2c2c9806f-master
43+
- image: us-central1-docker.pkg.dev/k8s-staging-test-infra/images/kubekins-e2e:v20251021-e2c2c9806f-master
4444
command:
4545
- runner.sh
4646
args:
@@ -73,7 +73,7 @@ presubmits:
7373
path_alias: k8s.io/kops
7474
spec:
7575
containers:
76-
- image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20251021-e2c2c9806f-master
76+
- image: us-central1-docker.pkg.dev/k8s-staging-test-infra/images/kubekins-e2e:v20251021-e2c2c9806f-master
7777
imagePullPolicy: Always
7878
command:
7979
- runner.sh
@@ -126,7 +126,7 @@ presubmits:
126126
path_alias: k8s.io/kops
127127
spec:
128128
containers:
129-
- image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20251021-e2c2c9806f-master
129+
- image: us-central1-docker.pkg.dev/k8s-staging-test-infra/images/kubekins-e2e:v20251021-e2c2c9806f-master
130130
imagePullPolicy: Always
131131
command:
132132
- runner.sh
@@ -179,7 +179,7 @@ presubmits:
179179
path_alias: k8s.io/kops
180180
spec:
181181
containers:
182-
- image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20251021-e2c2c9806f-master
182+
- image: us-central1-docker.pkg.dev/k8s-staging-test-infra/images/kubekins-e2e:v20251021-e2c2c9806f-master
183183
imagePullPolicy: Always
184184
command:
185185
- runner.sh
@@ -226,7 +226,7 @@ presubmits:
226226
path_alias: k8s.io/kops
227227
spec:
228228
containers:
229-
- image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20251021-e2c2c9806f-master
229+
- image: us-central1-docker.pkg.dev/k8s-staging-test-infra/images/kubekins-e2e:v20251021-e2c2c9806f-master
230230
command:
231231
- runner.sh
232232
args:
@@ -255,7 +255,7 @@ presubmits:
255255
path_alias: k8s.io/kops
256256
spec:
257257
containers:
258-
- image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20251021-e2c2c9806f-master
258+
- image: us-central1-docker.pkg.dev/k8s-staging-test-infra/images/kubekins-e2e:v20251021-e2c2c9806f-master
259259
command:
260260
- runner.sh
261261
args:
@@ -282,7 +282,7 @@ presubmits:
282282
path_alias: k8s.io/kops
283283
spec:
284284
containers:
285-
- image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20251021-e2c2c9806f-master
285+
- image: us-central1-docker.pkg.dev/k8s-staging-test-infra/images/kubekins-e2e:v20251021-e2c2c9806f-master
286286
command:
287287
- runner.sh
288288
args:
@@ -311,7 +311,7 @@ presubmits:
311311
path_alias: k8s.io/kops
312312
spec:
313313
containers:
314-
- image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20251021-e2c2c9806f-master
314+
- image: us-central1-docker.pkg.dev/k8s-staging-test-infra/images/kubekins-e2e:v20251021-e2c2c9806f-master
315315
command:
316316
- runner.sh
317317
args:
@@ -338,7 +338,7 @@ presubmits:
338338
path_alias: k8s.io/kops
339339
spec:
340340
containers:
341-
- image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20251021-e2c2c9806f-master
341+
- image: us-central1-docker.pkg.dev/k8s-staging-test-infra/images/kubekins-e2e:v20251021-e2c2c9806f-master
342342
command:
343343
- runner.sh
344344
args:
@@ -367,7 +367,7 @@ presubmits:
367367
path_alias: k8s.io/kops
368368
spec:
369369
containers:
370-
- image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20251021-e2c2c9806f-master
370+
- image: us-central1-docker.pkg.dev/k8s-staging-test-infra/images/kubekins-e2e:v20251021-e2c2c9806f-master
371371
command:
372372
- runner.sh
373373
args:
@@ -395,7 +395,7 @@ presubmits:
395395
path_alias: k8s.io/kops
396396
spec:
397397
containers:
398-
- image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20251021-e2c2c9806f-master
398+
- image: us-central1-docker.pkg.dev/k8s-staging-test-infra/images/kubekins-e2e:v20251021-e2c2c9806f-master
399399
command:
400400
- runner.sh
401401
args:
@@ -424,7 +424,7 @@ presubmits:
424424
path_alias: k8s.io/kops
425425
spec:
426426
containers:
427-
- image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20251021-e2c2c9806f-master
427+
- image: us-central1-docker.pkg.dev/k8s-staging-test-infra/images/kubekins-e2e:v20251021-e2c2c9806f-master
428428
command:
429429
- runner.sh
430430
args:
@@ -464,7 +464,7 @@ presubmits:
464464
spec:
465465
serviceAccountName: k8s-kops-test
466466
containers:
467-
- image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20251021-e2c2c9806f-master
467+
- image: us-central1-docker.pkg.dev/k8s-staging-test-infra/images/kubekins-e2e:v20251021-e2c2c9806f-master
468468
imagePullPolicy: Always
469469
command:
470470
- runner.sh
@@ -508,7 +508,7 @@ presubmits:
508508
spec:
509509
serviceAccountName: azure
510510
containers:
511-
- image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20251021-e2c2c9806f-master
511+
- image: us-central1-docker.pkg.dev/k8s-staging-test-infra/images/kubekins-e2e:v20251021-e2c2c9806f-master
512512
imagePullPolicy: Always
513513
command:
514514
- runner.sh
@@ -544,3 +544,69 @@ presubmits:
544544
annotations:
545545
testgrid-dashboards: sig-cluster-lifecycle-kops, presubmits-kops, kops-presubmits
546546
testgrid-tab-name: e2e-azure
547+
- name: pull-kops-e2e-baremetal
548+
branches:
549+
- master
550+
always_run: false
551+
labels:
552+
preset-dind-enabled: "true"
553+
cluster: k8s-infra-prow-build
554+
decorate: true
555+
decoration_config:
556+
timeout: 90m
557+
path_alias: k8s.io/kops
558+
spec:
559+
nodeSelector:
560+
cloud.google.com/machine-family: c4 # this node type supports nested virtualization
561+
containers:
562+
- image: us-central1-docker.pkg.dev/k8s-staging-test-infra/images/kubekins-e2e:v20251021-e2c2c9806f-master
563+
imagePullPolicy: Always
564+
command:
565+
- runner.sh
566+
args:
567+
- tests/e2e/scenarios/bare-metal/run-test
568+
# docker-in-docker needs privileged mode
569+
securityContext:
570+
privileged: true
571+
resources:
572+
limits:
573+
cpu: "7"
574+
memory: "25Gi"
575+
requests:
576+
cpu: "7"
577+
memory: "25Gi"
578+
annotations:
579+
testgrid-dashboards: sig-cluster-lifecycle-kops, presubmits-kops, kops-presubmits
580+
- name: pull-kops-e2e-baremetal-ipv6
581+
branches:
582+
- master
583+
always_run: false
584+
labels:
585+
preset-dind-enabled: "true"
586+
cluster: k8s-infra-prow-build
587+
decorate: true
588+
decoration_config:
589+
timeout: 90m
590+
path_alias: k8s.io/kops
591+
spec:
592+
nodeSelector:
593+
cloud.google.com/machine-family: c4 # this node type supports nested virtualization
594+
containers:
595+
- image: us-central1-docker.pkg.dev/k8s-staging-test-infra/images/kubekins-e2e:v20251021-e2c2c9806f-master
596+
imagePullPolicy: Always
597+
command:
598+
- runner.sh
599+
args:
600+
- tests/e2e/scenarios/bare-metal/scenario-ipv6
601+
# docker-in-docker needs privileged mode
602+
securityContext:
603+
privileged: true
604+
resources:
605+
limits:
606+
cpu: "7"
607+
memory: "25Gi"
608+
requests:
609+
cpu: "7"
610+
memory: "25Gi"
611+
annotations:
612+
testgrid-dashboards: sig-cluster-lifecycle-kops, presubmits-kops, kops-presubmits

config/jobs/kubernetes/kops/templates/presubmit.yaml.jinja

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,10 @@
7070
{%- if template_path %}
7171
--template-path={{template_path}} \
7272
{%- endif %}
73+
{%- for flag in instance_groups_overrides %}
74+
--control-plane-instance-group-overrides={{flag}} \
75+
--node-instance-group-overrides={{flag}} \
76+
{%- endfor %}
7377
--test=kops \
7478
-- \
7579
{%- if test_args %}

0 commit comments

Comments
 (0)