Skip to content

Commit d20e917

Browse files
committed
DRA E2E node: add job for all features
In contrast to the kind-dra-all job, the new node job enables all feature gates. This is a bit simpler, with the only drawback (for us as DRA developers) that some other alpha or beta feature might cause test failures in DRA tests. For Kubernetes it's good to catch that. The new job is conceptually similar to ci-kubernetes-kind-alpha-beta-features and is names similarly. The new job is not release informing because of the alpha features.
1 parent d74f26a commit d20e917

File tree

5 files changed

+174
-2
lines changed

5 files changed

+174
-2
lines changed

config/jobs/kubernetes/sig-node/dra-canary.yaml

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -904,3 +904,55 @@ presubmits:
904904
requests:
905905
cpu: 2
906906
memory: 6Gi
907+
908+
- name: pull-kubernetes-node-e2e-containerd-2-0-dra-alpha-beta-features-canary
909+
cluster: k8s-infra-prow-build
910+
skip_branches:
911+
- release-\d+\.\d+ # per-release image
912+
always_run: false
913+
optional: true
914+
skip_report: false
915+
labels:
916+
preset-service-account: "true"
917+
preset-k8s-ssh: "true"
918+
annotations:
919+
testgrid-dashboards: sig-node-dynamic-resource-allocation, sig-node-presubmits, sig-node-containerd
920+
description: Runs all E2E node tests for Dynamic Resource Allocation features with containerd 2.0 and with all feature gates enabled (including non-DRA feature gates)
921+
testgrid-alert-email: [email protected], [email protected]
922+
decorate: true
923+
decoration_config:
924+
timeout: 90m
925+
path_alias: k8s.io/kubernetes
926+
extra_refs:
927+
- org: kubernetes
928+
repo: test-infra
929+
base_ref: master
930+
path_alias: k8s.io/test-infra
931+
- org: containerd
932+
repo: containerd
933+
base_ref: release/2.0
934+
spec:
935+
containers:
936+
- image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20250815-171060767f-master
937+
command:
938+
- runner.sh
939+
args:
940+
- kubetest2
941+
- noop
942+
- --test=node
943+
- --
944+
- --repo-root=.
945+
- --gcp-zone=us-central1-b
946+
- --parallelism=1
947+
- '--label-filter=DRA && Feature: isSubsetOf { OffByDefault,DynamicResourceAllocation } && !Flaky && !Slow'
948+
- --timeout=60m
949+
- --skip-regex= # Override kubetest2 default in https://github.com/kubernetes-sigs/kubetest2/blob/9f385d26316f5256755bb8fe333970aa5759ec7f/pkg/testers/node/node.go#L92
950+
- '--test-args=--feature-gates="AllBeta=true,AllAlpha=true" --service-feature-gates="AllBeta=true,AllAlpha=true" --container-runtime-endpoint=unix:///var/run/containerd/containerd.sock --container-runtime-process-name=/usr/local/bin/containerd --container-runtime-pid-file= --kubelet-flags="--cgroup-driver=systemd --cgroups-per-qos=true --cgroup-root=/ --runtime-cgroups=/system.slice/containerd.service --kubelet-cgroups=/system.slice/kubelet.service" --extra-log="{\"name\": \"containerd.log\", \"journalctl\": [\"-u\", \"containerd\"]}"'
951+
- --image-config-file=/home/prow/go/src/k8s.io/test-infra/jobs/e2e_node/containerd/containerd-release-2.0/image-config.yaml
952+
resources:
953+
limits:
954+
cpu: 2
955+
memory: 6Gi
956+
requests:
957+
cpu: 2
958+
memory: 6Gi

config/jobs/kubernetes/sig-node/dra-ci.yaml

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -801,3 +801,55 @@ periodics:
801801
requests:
802802
cpu: 2
803803
memory: 6Gi
804+
805+
- name: ci-node-e2e-containerd-2-0-dra-alpha-beta-features
806+
cluster: k8s-infra-prow-build
807+
interval: 6h
808+
labels:
809+
preset-service-account: "true"
810+
preset-k8s-ssh: "true"
811+
annotations:
812+
testgrid-dashboards: sig-node-dynamic-resource-allocation, sig-node-containerd
813+
description: Runs all E2E node tests for Dynamic Resource Allocation features with containerd 2.0 and with all feature gates enabled (including non-DRA feature gates)
814+
testgrid-alert-email: [email protected], [email protected]
815+
decorate: true
816+
decoration_config:
817+
timeout: 90m
818+
extra_refs:
819+
- org: kubernetes
820+
repo: kubernetes
821+
base_ref: master
822+
path_alias: k8s.io/kubernetes
823+
workdir: true
824+
- org: kubernetes
825+
repo: test-infra
826+
base_ref: master
827+
path_alias: k8s.io/test-infra
828+
- org: containerd
829+
repo: containerd
830+
base_ref: release/2.0
831+
spec:
832+
containers:
833+
- image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20250815-171060767f-master
834+
command:
835+
- runner.sh
836+
args:
837+
- kubetest2
838+
- noop
839+
- --test=node
840+
- --
841+
- --repo-root=.
842+
- --gcp-zone=us-central1-b
843+
- --parallelism=1
844+
- '--label-filter=DRA && Feature: isSubsetOf { OffByDefault,DynamicResourceAllocation } && !Flaky'
845+
- --timeout=60m
846+
- --skip-regex= # Override kubetest2 default in https://github.com/kubernetes-sigs/kubetest2/blob/9f385d26316f5256755bb8fe333970aa5759ec7f/pkg/testers/node/node.go#L92
847+
- '--test-args=--feature-gates="AllBeta=true,AllAlpha=true" --service-feature-gates="AllBeta=true,AllAlpha=true" --container-runtime-endpoint=unix:///var/run/containerd/containerd.sock --container-runtime-process-name=/usr/local/bin/containerd --container-runtime-pid-file= --kubelet-flags="--cgroup-driver=systemd --cgroups-per-qos=true --cgroup-root=/ --runtime-cgroups=/system.slice/containerd.service --kubelet-cgroups=/system.slice/kubelet.service" --extra-log="{\"name\": \"containerd.log\", \"journalctl\": [\"-u\", \"containerd\"]}"'
848+
- --image-config-file=/home/prow/go/src/k8s.io/test-infra/jobs/e2e_node/containerd/containerd-release-2.0/image-config.yaml
849+
resources:
850+
limits:
851+
cpu: 2
852+
memory: 6Gi
853+
requests:
854+
cpu: 2
855+
memory: 6Gi

config/jobs/kubernetes/sig-node/dra-presubmit.yaml

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -922,3 +922,57 @@ presubmits:
922922
requests:
923923
cpu: 2
924924
memory: 6Gi
925+
926+
- name: pull-kubernetes-node-e2e-containerd-2-0-dra-alpha-beta-features
927+
cluster: k8s-infra-prow-build
928+
skip_branches:
929+
- release-\d+\.\d+ # per-release image
930+
always_run: false
931+
run_if_changed: (/dra/|/dynamicresources/|/resourceclaim/|/deviceclass/|/resourceslice/|/resourceclaimtemplate/|/dynamic-resource-allocation/|/pkg/apis/resource/|/api/resource/|/test/e2e_node/dra_).*\.(go|yaml)
932+
optional: true
933+
skip_report: false
934+
labels:
935+
preset-service-account: "true"
936+
preset-k8s-ssh: "true"
937+
annotations:
938+
testgrid-dashboards: sig-node-dynamic-resource-allocation, sig-node-presubmits, sig-node-containerd
939+
description: Runs all E2E node tests for Dynamic Resource Allocation features with containerd 2.0 and with all feature gates enabled (including non-DRA feature gates)
940+
testgrid-alert-email: [email protected], [email protected]
941+
fork-per-release: "true"
942+
decorate: true
943+
decoration_config:
944+
timeout: 90m
945+
path_alias: k8s.io/kubernetes
946+
extra_refs:
947+
- org: kubernetes
948+
repo: test-infra
949+
base_ref: master
950+
path_alias: k8s.io/test-infra
951+
- org: containerd
952+
repo: containerd
953+
base_ref: release/2.0
954+
spec:
955+
containers:
956+
- image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20250815-171060767f-master
957+
command:
958+
- runner.sh
959+
args:
960+
- kubetest2
961+
- noop
962+
- --test=node
963+
- --
964+
- --repo-root=.
965+
- --gcp-zone=us-central1-b
966+
- --parallelism=1
967+
- '--label-filter=DRA && Feature: isSubsetOf { OffByDefault,DynamicResourceAllocation } && !Flaky && !Slow'
968+
- --timeout=60m
969+
- --skip-regex= # Override kubetest2 default in https://github.com/kubernetes-sigs/kubetest2/blob/9f385d26316f5256755bb8fe333970aa5759ec7f/pkg/testers/node/node.go#L92
970+
- '--test-args=--feature-gates="AllBeta=true,AllAlpha=true" --service-feature-gates="AllBeta=true,AllAlpha=true" --container-runtime-endpoint=unix:///var/run/containerd/containerd.sock --container-runtime-process-name=/usr/local/bin/containerd --container-runtime-pid-file= --kubelet-flags="--cgroup-driver=systemd --cgroups-per-qos=true --cgroup-root=/ --runtime-cgroups=/system.slice/containerd.service --kubelet-cgroups=/system.slice/kubelet.service" --extra-log="{\"name\": \"containerd.log\", \"journalctl\": [\"-u\", \"containerd\"]}"'
971+
- --image-config-file=/home/prow/go/src/k8s.io/test-infra/jobs/e2e_node/containerd/containerd-release-2.0/image-config.yaml
972+
resources:
973+
limits:
974+
cpu: 2
975+
memory: 6Gi
976+
requests:
977+
cpu: 2
978+
memory: 6Gi

config/jobs/kubernetes/sig-node/dra.generate.conf

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,3 +146,17 @@ release_informing = true
146146
# We switched from CRI-O to containerd because the job seemed to finish a bit sooner and there were failures caused by
147147
# crio image config changes.
148148
run_if_changed = (/dra/|/dynamicresources/|/resourceclaim/|/deviceclass/|/resourceslice/|/resourceclaimtemplate/|/dynamic-resource-allocation/|/pkg/apis/resource/|/api/resource/|/test/e2e_node/dra_).*\.(go|yaml)
149+
150+
# This job adds all alpha and beta feature gates to node-e2e-containerd-2-0-dra and runs all DRA tests which can work in that configuration.
151+
[node-e2e-containerd-2-0-dra-alpha-beta-features]
152+
job_type = node
153+
need_kubernetes_repo = true
154+
need_test_infra_repo = true
155+
need_containerd_20_repo = true
156+
all_features = true
157+
description = Runs all E2E node tests for Dynamic Resource Allocation features with containerd 2.0 and with all feature gates enabled (including non-DRA feature gates)
158+
image_config_file = /home/prow/go/src/k8s.io/test-infra/jobs/e2e_node/containerd/containerd-release-2.0/image-config.yaml
159+
# Automatically testing with one container runtime in one configuration is sufficient to detect basic problems in kubelet early.
160+
# We switched from CRI-O to containerd because the job seemed to finish a bit sooner and there were failures caused by
161+
# crio image config changes.
162+
run_if_changed = (/dra/|/dynamicresources/|/resourceclaim/|/deviceclass/|/resourceslice/|/resourceclaimtemplate/|/dynamic-resource-allocation/|/pkg/apis/resource/|/api/resource/|/test/e2e_node/dra_).*\.(go|yaml)

config/jobs/kubernetes/sig-node/dra.jinja

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,10 +100,10 @@ presubmits:
100100
- --repo-root=.
101101
- --gcp-zone=us-central1-b
102102
- --parallelism=1
103-
- '--label-filter=DRA && Feature: isSubsetOf { DynamicResourceAllocation } && !Flaky {%- if not ci %} && !Slow {%- endif %}'
103+
- '--label-filter=DRA && Feature: isSubsetOf { {% if all_features %}OffByDefault,{% endif -%} DynamicResourceAllocation } && !Flaky {%- if not ci %} && !Slow {%- endif %}'
104104
- --timeout={{e2e_node_timeout}}
105105
- --skip-regex= # Override kubetest2 default in https://github.com/kubernetes-sigs/kubetest2/blob/9f385d26316f5256755bb8fe333970aa5759ec7f/pkg/testers/node/node.go#L92
106-
- '--test-args=--container-runtime-endpoint=unix:///var/run/{{runtime}}/{{runtime}}.sock --container-runtime-process-name=/usr/local/bin/{{runtime}} --container-runtime-pid-file= --kubelet-flags="--cgroup-driver=systemd --cgroups-per-qos=true --cgroup-root=/ --runtime-cgroups=/system.slice/{{runtime}}.service --kubelet-cgroups=/system.slice/kubelet.service" --extra-log="{\"name\": \"{{runtime}}.log\", \"journalctl\": [\"-u\", \"{{runtime}}\"]}"'
106+
- '--test-args={% if all_features -%} --feature-gates="AllBeta=true,AllAlpha=true" --service-feature-gates="AllBeta=true,AllAlpha=true" {% endif -%} --container-runtime-endpoint=unix:///var/run/{{runtime}}/{{runtime}}.sock --container-runtime-process-name=/usr/local/bin/{{runtime}} --container-runtime-pid-file= --kubelet-flags="--cgroup-driver=systemd --cgroups-per-qos=true --cgroup-root=/ --runtime-cgroups=/system.slice/{{runtime}}.service --kubelet-cgroups=/system.slice/kubelet.service" --extra-log="{\"name\": \"{{runtime}}.log\", \"journalctl\": [\"-u\", \"{{runtime}}\"]}"'
107107
- --image-config-file={{image_config_file}}
108108
{%- if inject_ssh_public_key %}
109109
env:

0 commit comments

Comments
 (0)