Skip to content

Commit a641c57

Browse files
committed
DRA: promote integration testing
This currently executes upgrade/downgrade tests.
1 parent 320c86e commit a641c57

File tree

3 files changed

+96
-2
lines changed

3 files changed

+96
-2
lines changed

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

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -397,6 +397,51 @@ periodics:
397397
cpu: 2
398398
memory: 6Gi
399399

400+
- name: ci-dra-integration
401+
cluster: eks-prow-build-cluster
402+
interval: 6h
403+
labels:
404+
preset-service-account: "true"
405+
preset-dind-enabled: "true"
406+
preset-kind-volume-mounts: "true"
407+
annotations:
408+
testgrid-dashboards: sig-node-dynamic-resource-allocation
409+
description: Runs integration tests for DRA which need some additional setup in the job.
410+
testgrid-alert-email: [email protected], [email protected]
411+
fork-per-release: "true"
412+
fork-per-release-periodic-interval: 24h
413+
fork-per-release-replacements: latest-fast.txt -> latest-{{.Version}}.txt, https://dl.k8s.io/ci/fast -> https://dl.k8s.io/ci
414+
decorate: true
415+
decoration_config:
416+
timeout: 90m
417+
spec:
418+
containers:
419+
- image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20250714-70266d743a-master
420+
command:
421+
- runner.sh
422+
- /bin/bash
423+
- -xce
424+
- |
425+
# test/e2e_dra is a separate Ginkgo suite with a dependency on local-up-cluster.sh.
426+
# We could use "make test WHAT=./test/e2e_dra", but then we would get a test JUnit file
427+
# in addition to the better one from Ginkgo, so instead we build the test binary and
428+
# invoke it directly. The Ginkgo CLI doesn't add any benefit because we cannot run
429+
# tests in parallel.
430+
#
431+
# We also need the control plane binaries.
432+
make WHAT="./test/e2e_dra/e2e_dra.test cmd/kube-apiserver cmd/kube-scheduler cmd/kube-controller-manager cmd/kube-proxy cmd/kubelet"
433+
KUBETEST_IN_DOCKER=true CONTAINER_RUNTIME_ENDPOINT=/var/run/docker/containerd/containerd.sock KUBERNETES_SERVER_BIN_DIR="$(pwd)/_output/local/bin/linux/amd64" KUBERNETES_SERVER_CACHE_DIR=/tmp/cache-dir _output/local/go/bin/e2e_dra.test -ginkgo.timeout=30m -ginkgo.junit-report=${ARTIFACTS}/junit.xml -ginkgo.v -test.v
434+
# docker-in-docker needs privileged mode
435+
securityContext:
436+
privileged: true
437+
resources:
438+
limits:
439+
cpu: 2
440+
memory: 6Gi
441+
requests:
442+
cpu: 2
443+
memory: 6Gi
444+
400445
- name: ci-node-e2e-crio-cgrpv1-dra
401446
cluster: k8s-infra-prow-build
402447
interval: 6h

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

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -482,6 +482,54 @@ presubmits:
482482
cpu: 2
483483
memory: 6Gi
484484

485+
- name: pull-kubernetes-dra-integration
486+
cluster: eks-prow-build-cluster
487+
skip_branches:
488+
- release-\d+\.\d+ # per-release image
489+
always_run: false
490+
run_if_changed: /(dra|dynamicresources|resourceclaim|deviceclass|resourceslice|resourceclaimtemplate|dynamic-resource-allocation|pkg/apis/resource|api/resource)/.*.go
491+
optional: true
492+
labels:
493+
preset-service-account: "true"
494+
preset-dind-enabled: "true"
495+
preset-kind-volume-mounts: "true"
496+
annotations:
497+
testgrid-dashboards: sig-node-dynamic-resource-allocation, sig-node-presubmits
498+
description: Runs integration tests for DRA which need some additional setup in the job.
499+
testgrid-alert-email: [email protected], [email protected]
500+
fork-per-release: "true"
501+
decorate: true
502+
decoration_config:
503+
timeout: 90m
504+
path_alias: k8s.io/kubernetes
505+
spec:
506+
containers:
507+
- image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20250714-70266d743a-master
508+
command:
509+
- runner.sh
510+
- /bin/bash
511+
- -xce
512+
- |
513+
# test/e2e_dra is a separate Ginkgo suite with a dependency on local-up-cluster.sh.
514+
# We could use "make test WHAT=./test/e2e_dra", but then we would get a test JUnit file
515+
# in addition to the better one from Ginkgo, so instead we build the test binary and
516+
# invoke it directly. The Ginkgo CLI doesn't add any benefit because we cannot run
517+
# tests in parallel.
518+
#
519+
# We also need the control plane binaries.
520+
make WHAT="./test/e2e_dra/e2e_dra.test cmd/kube-apiserver cmd/kube-scheduler cmd/kube-controller-manager cmd/kube-proxy cmd/kubelet"
521+
KUBETEST_IN_DOCKER=true CONTAINER_RUNTIME_ENDPOINT=/var/run/docker/containerd/containerd.sock KUBERNETES_SERVER_BIN_DIR="$(pwd)/_output/local/bin/linux/amd64" KUBERNETES_SERVER_CACHE_DIR=/tmp/cache-dir _output/local/go/bin/e2e_dra.test -ginkgo.timeout=30m -ginkgo.junit-report=${ARTIFACTS}/junit.xml -ginkgo.v -test.v
522+
# docker-in-docker needs privileged mode
523+
securityContext:
524+
privileged: true
525+
resources:
526+
limits:
527+
cpu: 2
528+
memory: 6Gi
529+
requests:
530+
cpu: 2
531+
memory: 6Gi
532+
485533
- name: pull-kubernetes-node-e2e-crio-cgrpv1-dra
486534
cluster: k8s-infra-prow-build
487535
skip_branches:

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

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,15 +77,16 @@ cluster = eks-prow-build-cluster
7777
run_if_changed = /(dra|dynamicresources|resourceclaim|deviceclass|resourceslice|resourceclaimtemplate|dynamic-resource-allocation|pkg/apis/resource|api/resource)/.*.go
7878
kubelet_skew = 2
7979

80-
# This executes tests in test/integration/dra with special requirements (local-up-cluster.sh!).
80+
# This executes tests in test/e2e_dra with special requirements (local-up-cluster.sh!).
81+
# This is an E2E suite, but conceptually it is more like an integration test (the test
82+
# owns the configuration of components, not the caller).
8183
[dra-integration]
8284
description = Runs integration tests for DRA which need some additional setup in the job.
8385
use_dind = true
8486
use_dind_cdi = true
8587
job_type = integration
8688
cluster = eks-prow-build-cluster
8789
run_if_changed = /(dra|dynamicresources|resourceclaim|deviceclass|resourceslice|resourceclaimtemplate|dynamic-resource-allocation|pkg/apis/resource|api/resource)/.*.go
88-
generate = canary
8990

9091
# This job runs e2e_node.test with a focus on tests for the Dynamic Resource Allocation feature (currently beta)
9192
[node-e2e-crio-cgrpv1-dra]

0 commit comments

Comments
 (0)