Skip to content

Commit 756053d

Browse files
committed
fix kops job generator
1 parent 069992a commit 756053d

File tree

10 files changed

+71936
-7812
lines changed

10 files changed

+71936
-7812
lines changed

config/jobs/kubernetes/kops/build_jobs.py

Lines changed: 27 additions & 119 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,9 @@
3232
from helpers import ( # pylint: disable=import-error, no-name-in-module
3333
build_cron,
3434
create_args,
35-
distro_images,
35+
aws_distro_images,
3636
gce_distro_images,
37-
distros_ssh_user,
37+
aws_distros_ssh_user,
3838
k8s_version_info,
3939
should_skip_newer_k8s,
4040
script_dir,
@@ -45,10 +45,9 @@
4545
image,
4646
networking_options,
4747
gce_distro_options,
48-
distro_options,
48+
aws_distro_options,
4949
k8s_versions,
5050
kops_versions,
51-
distros,
5251
network_plugins_periodics,
5352
network_plugins_presubmits,
5453
upgrade_versions_list,
@@ -120,8 +119,8 @@ def build_test(cloud='aws',
120119
instance_groups_overrides = []
121120

122121
if cloud == 'aws':
123-
kops_image = distro_images[distro]
124-
kops_ssh_user = distros_ssh_user[distro]
122+
kops_image = aws_distro_images[distro]
123+
kops_ssh_user = aws_distros_ssh_user[distro]
125124
kops_ssh_key_path = '/etc/aws-ssh/aws-ssh-private'
126125
if build_cluster is None:
127126
build_cluster = 'k8s-infra-kops-prow-build'
@@ -332,8 +331,8 @@ def presubmit_test(branch='master',
332331
kops_image = None
333332
kops_ssh_user = 'ubuntu'
334333
else:
335-
kops_image = distro_images[distro]
336-
kops_ssh_user = distros_ssh_user[distro]
334+
kops_image = aws_distro_images[distro]
335+
kops_ssh_user = aws_distros_ssh_user[distro]
337336
kops_ssh_key_path = '/etc/aws-ssh/aws-ssh-private'
338337
if build_cluster is None:
339338
build_cluster = 'k8s-infra-kops-prow-build'
@@ -477,15 +476,16 @@ def generate_grid():
477476
results = []
478477
# pylint: disable=too-many-nested-blocks
479478
for networking in networking_options:
480-
for distro in distro_options:
479+
for distro in aws_distro_options:
481480
for k8s_version in k8s_versions:
482481
for kops_version in kops_versions:
482+
distro_short = distro.replace('ubuntu', 'u').replace('debian', 'deb').replace('amazonlinux', 'amzn')
483483
extra_flags = []
484484
if networking == 'cilium-eni':
485485
extra_flags = ['--node-size=t3.large']
486486
results.append(
487487
build_test(cloud="aws",
488-
distro=distro,
488+
distro=distro_short,
489489
extra_dashboards=['kops-grid'],
490490
k8s_version=k8s_version,
491491
kops_version=kops_version,
@@ -497,10 +497,11 @@ def generate_grid():
497497
# Manually expand grid coverage for GCP
498498
# TODO(justinsb): merge into above block when we can
499499
# pylint: disable=too-many-nested-blocks
500-
for networking in ['kubenet', 'calico', 'cilium', 'gce']: # TODO: all networking_options:
501-
for distro in gce_distro_options: # TODO: all distro_options:
500+
for networking in network_plugins_periodics['supports_gce']:
501+
for distro in gce_distro_options:
502502
for k8s_version in k8s_versions:
503-
for kops_version in [None]: # TODO: all kops_versions:
503+
for kops_version in kops_versions:
504+
distro_short = distro.replace('ubuntu', 'u').replace('debian', 'deb').replace('amazonlinux', 'amzn')
504505
extra_flags = ["--gce-service-account=default"] # Workaround for test-infra#24747
505506
if 'arm64' in distro:
506507
extra_flags.extend([
@@ -511,7 +512,7 @@ def generate_grid():
511512
results.append(
512513
build_test(cloud="gce",
513514
runs_per_day=3,
514-
distro=distro,
515+
distro=distro_short,
515516
extra_dashboards=['kops-grid'],
516517
k8s_version=k8s_version,
517518
kops_version=kops_version,
@@ -527,14 +528,6 @@ def generate_grid():
527528
#############################
528529
def generate_misc():
529530
results = [
530-
# A one-off scenario testing the k8s.gcr.io mirror
531-
build_test(name_override="kops-scenario-gcr-mirror",
532-
runs_per_day=24,
533-
cloud="aws",
534-
# Latest runs with a staging AWS CCM, not available in registry.k8s.io
535-
k8s_version='1.29',
536-
extra_dashboards=['kops-misc']),
537-
538531
# A one-off scenario testing AWS EKS Pod Identity
539532
build_test(name_override="kops-aws-eks-pod-identity",
540533
runs_per_day=3,
@@ -569,23 +562,6 @@ def generate_misc():
569562
extra_flags=["--gce-service-account=default"],
570563
extra_dashboards=['kops-network-plugins']),
571564

572-
# A special test for Calico CNI on Debian 11
573-
build_test(name_override="kops-aws-cni-calico-deb11",
574-
cloud="aws",
575-
distro="deb11",
576-
k8s_version="stable",
577-
networking="calico",
578-
runs_per_day=3,
579-
extra_dashboards=['kops-network-plugins']),
580-
# A special test for Calico CNI on Flatcar
581-
build_test(name_override="kops-aws-cni-calico-flatcar",
582-
cloud="aws",
583-
distro="flatcararm64",
584-
k8s_version="stable",
585-
networking="calico",
586-
runs_per_day=3,
587-
extra_dashboards=['kops-distros', 'kops-network-plugins']),
588-
589565
# A special test for IPv6 using Calico CNI
590566
build_test(name_override="kops-aws-cni-calico-ipv6",
591567
cloud="aws",
@@ -728,57 +704,6 @@ def generate_misc():
728704
],
729705
extra_dashboards=["kops-misc"]),
730706

731-
build_test(name_override="kops-aws-arm64-release",
732-
cloud="aws",
733-
k8s_version="latest",
734-
distro="u2404arm64",
735-
networking="calico",
736-
kops_channel="alpha",
737-
runs_per_day=3,
738-
extra_flags=["--zones=eu-central-1a",
739-
"--node-size=m6g.large",
740-
"--master-size=m6g.large"],
741-
extra_dashboards=["kops-misc"]),
742-
743-
build_test(name_override="kops-aws-arm64-ci",
744-
cloud="aws",
745-
k8s_version="ci",
746-
distro="u2404arm64",
747-
networking="calico",
748-
kops_channel="alpha",
749-
runs_per_day=3,
750-
extra_flags=["--zones=eu-central-1a",
751-
"--node-size=m6g.large",
752-
"--master-size=m6g.large"],
753-
extra_dashboards=["kops-misc"]),
754-
755-
build_test(name_override="kops-aws-arm64-conformance",
756-
cloud="aws",
757-
k8s_version="ci",
758-
distro="u2404arm64",
759-
networking="calico",
760-
kops_channel="alpha",
761-
runs_per_day=3,
762-
extra_flags=["--zones=eu-central-1a",
763-
"--node-size=m6g.large",
764-
"--master-size=m6g.large"],
765-
skip_regex=r'\[Slow\]|\[Serial\]|\[Flaky\]',
766-
focus_regex=r'\[Conformance\]|\[NodeConformance\]',
767-
extra_dashboards=["kops-misc"]),
768-
769-
build_test(name_override="kops-aws-amd64-conformance",
770-
cloud="aws",
771-
k8s_version="ci",
772-
distro='u2404',
773-
networking="calico",
774-
kops_channel="alpha",
775-
runs_per_day=3,
776-
extra_flags=["--node-size=c5.large",
777-
"--master-size=c5.large"],
778-
skip_regex=r'\[Slow\]|\[Serial\]|\[Flaky\]',
779-
focus_regex=r'\[Conformance\]|\[NodeConformance\]',
780-
extra_dashboards=["kops-misc"]),
781-
782707
build_test(name_override="kops-aws-aws-load-balancer-controller",
783708
cloud="aws",
784709
networking="cilium",
@@ -1390,7 +1315,7 @@ def generate_conformance():
13901315
###############################
13911316
def generate_distros():
13921317
results = []
1393-
for distro in distros:
1318+
for distro in aws_distro_options:
13941319
distro_short = distro.replace('ubuntu', 'u').replace('debian', 'deb').replace('amazonlinux', 'amzn')
13951320
extra_flags = []
13961321
if 'arm64' in distro:
@@ -1409,7 +1334,7 @@ def generate_distros():
14091334
networking='cilium',
14101335
k8s_version='stable',
14111336
kops_channel='alpha',
1412-
name_override=f"kops-aws-distro-{distro}",
1337+
name_override=f"kops-aws-distro-{distro_short}",
14131338
extra_dashboards=['kops-distros'],
14141339
extra_flags=extra_flags,
14151340
runs_per_day=3,
@@ -1422,7 +1347,7 @@ def generate_distros():
14221347
###############################
14231348
def generate_presubmits_distros():
14241349
results = []
1425-
for distro in distros:
1350+
for distro in aws_distro_options:
14261351
distro_short = distro.replace('ubuntu', 'u').replace('debian', 'deb').replace('amazonlinux', 'amzn')
14271352
extra_flags = []
14281353
if 'arm64' in distro:
@@ -1782,21 +1707,23 @@ def generate_presubmits_scale():
17821707
#################################
17831708
def generate_nftables():
17841709
results = []
1785-
for distro in distro_options:
1710+
for distro in aws_distro_options:
1711+
distro_short = distro.replace('ubuntu', 'u').replace('debian', 'deb').replace('amazonlinux', 'amzn')
17861712
results.append(
17871713
build_test(
17881714
cloud="aws",
1789-
distro=distro,
1715+
distro=distro_short,
17901716
k8s_version="stable",
17911717
networking="kindnet",
17921718
kops_channel="alpha",
1793-
name_override=f"kops-aws-nftables-{distro}",
1719+
name_override=f"kops-aws-nftables-{distro_short}",
17941720
extra_flags=["--set=cluster.spec.kubeProxy.proxyMode=nftables"],
17951721
extra_dashboards=["kops-nftables"],
17961722
runs_per_day=3,
17971723
)
17981724
)
17991725
for distro in gce_distro_options:
1726+
distro_short = distro.replace('ubuntu', 'u').replace('debian', 'deb').replace('amazonlinux', 'amzn')
18001727
extra_flags = [
18011728
"--set=cluster.spec.kubeProxy.proxyMode=nftables",
18021729
"--gce-service-account=default",
@@ -1810,11 +1737,11 @@ def generate_nftables():
18101737
results.append(
18111738
build_test(
18121739
cloud="gce",
1813-
distro=distro,
1740+
distro=distro_short,
18141741
k8s_version="stable",
18151742
networking="kindnet",
18161743
kops_channel="alpha",
1817-
name_override=f"kops-gce-nftables-{distro}",
1744+
name_override=f"kops-gce-nftables-{distro_short}",
18181745
extra_flags=extra_flags,
18191746
extra_dashboards=["kops-nftables"],
18201747
runs_per_day=3,
@@ -1837,11 +1764,11 @@ def generate_versions():
18371764
runs_per_day=8,
18381765
)
18391766
]
1840-
for version in ['1.34', '1.33', '1.32', '1.31']:
1767+
for version in ['1.34', '1.33', '1.32']:
18411768
results.append(
18421769
build_test(
18431770
cloud='aws',
1844-
k8s_version=version,
1771+
k8s_version=version.replace('master', 'ci'),
18451772
kops_channel='alpha',
18461773
name_override=f"kops-aws-k8s-{version.replace('.', '-')}",
18471774
networking='calico',
@@ -2335,25 +2262,6 @@ def generate_presubmits_e2e():
23352262
tab_name='e2e-1-31',
23362263
always_run=True,
23372264
),
2338-
presubmit_test(
2339-
branch='release-1.30',
2340-
k8s_version='1.30',
2341-
kops_channel='alpha',
2342-
name='pull-kops-e2e-k8s-aws-calico-1-30',
2343-
networking='calico',
2344-
tab_name='e2e-1-30',
2345-
always_run=True,
2346-
),
2347-
presubmit_test(
2348-
branch='release-1.29',
2349-
k8s_version='1.29',
2350-
kops_channel='alpha',
2351-
name='pull-kops-e2e-k8s-aws-calico-1-29',
2352-
networking='calico',
2353-
tab_name='e2e-1-29',
2354-
always_run=True,
2355-
),
2356-
23572265
presubmit_test(
23582266
name="pull-kops-scenario-aws-karpenter",
23592267
cloud="aws",

config/jobs/kubernetes/kops/build_vars.py

Lines changed: 24 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
"cilium",
2727
"cilium-etcd",
2828
"cilium-eni",
29+
"kindnet"
2930
"kopeio",
3031
]
3132

@@ -37,10 +38,10 @@
3738
"cos125arm64",
3839
"cosdev",
3940
"cosdevarm64",
40-
"deb12",
41-
"deb12arm64",
42-
"deb13",
43-
"deb13arm64",
41+
"debian12",
42+
"debian12arm64",
43+
"debian13",
44+
"debian13arm64",
4445
"u2204",
4546
"u2404",
4647
"u2404arm64",
@@ -49,33 +50,7 @@
4950
]
5051

5152
# AWS distributions
52-
distro_options = [
53-
"al2023",
54-
"deb12",
55-
"deb13",
56-
"flatcar",
57-
"rhel8",
58-
"u2204",
59-
"u2404",
60-
]
61-
62-
k8s_versions = [
63-
"1.31",
64-
"1.32",
65-
"1.33",
66-
"1.34",
67-
]
68-
69-
# kOps versions tested
70-
kops_versions = [
71-
None, # maps to latest
72-
"1.30",
73-
"1.31",
74-
"1.32",
75-
]
76-
77-
# Distros for periodic and presubmit distro tests
78-
distros = [
53+
aws_distro_options = [
7954
"debian11",
8055
"debian12",
8156
"debian13",
@@ -94,6 +69,20 @@
9469
"flatcar",
9570
]
9671

72+
k8s_versions = [
73+
"1.32",
74+
"1.33",
75+
"1.34",
76+
]
77+
78+
# kOps versions tested
79+
kops_versions = [
80+
None, # maps to latest
81+
"1.32",
82+
"1.33",
83+
"1.34",
84+
]
85+
9786
# Network plugins for periodic network plugin tests
9887
network_plugins_periodics = {
9988
"plugins": [
@@ -107,7 +96,7 @@
10796
"kopeio",
10897
"kuberouter",
10998
],
110-
"supports_gce": {"calico", "cilium", "kindnet"},
99+
"supports_gce": {"kubenet", "calico", "cilium", "kindnet", "gce"},
111100
"supports_azure": {"cilium"},
112101
}
113102

@@ -133,6 +122,9 @@
133122
kops29 = "v1.29.2"
134123
kops30 = "v1.30.3"
135124
kops31 = "v1.31.0"
125+
kops32 = "v1.32.0"
126+
kops33 = "v1.33.0"
127+
kops34 = "v1.34.0"
136128

137129
upgrade_versions_list = [
138130
# kops k8s kops k8s

0 commit comments

Comments
 (0)