From 4173535b0cdb8aa26aa8e7c701fa3a453a402de6 Mon Sep 17 00:00:00 2001 From: Ed Bartosh Date: Tue, 24 Dec 2024 14:57:03 +0200 Subject: [PATCH] sig-node: generate DRA jobs --- .../jobs/kubernetes/sig-node/dra-canary.yaml | 22 +- ...c-resource-allocation.yaml => dra-ci.yaml} | 110 ++++--- config/jobs/kubernetes/sig-node/dra-pull.yaml | 261 +++++++++++++++++ config/jobs/kubernetes/sig-node/dra.conf | 50 ++++ config/jobs/kubernetes/sig-node/dra.jinja | 131 +++++++++ .../sig-node/sig-node-presubmit.yaml | 273 ------------------ .../kubernetes/presubmits/config.yaml | 5 - 7 files changed, 503 insertions(+), 349 deletions(-) rename config/jobs/kubernetes/sig-node/{dynamic-resource-allocation.yaml => dra-ci.yaml} (80%) create mode 100644 config/jobs/kubernetes/sig-node/dra-pull.yaml create mode 100644 config/jobs/kubernetes/sig-node/dra.conf create mode 100644 config/jobs/kubernetes/sig-node/dra.jinja diff --git a/config/jobs/kubernetes/sig-node/dra-canary.yaml b/config/jobs/kubernetes/sig-node/dra-canary.yaml index f1c05a695d081..8987242ef7163 100644 --- a/config/jobs/kubernetes/sig-node/dra-canary.yaml +++ b/config/jobs/kubernetes/sig-node/dra-canary.yaml @@ -1,3 +1,7 @@ + +# GENERATED FILE - DO NOT EDIT! +# +# Instead, modify dra.jinja and run `make generate-jobs`. presubmits: kubernetes/kubernetes: - name: canary-kind-dra @@ -20,7 +24,7 @@ presubmits: path_alias: k8s.io/kubernetes spec: containers: - - image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20241218-d4b51bc3e8-master + - image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20241230-3006692a6f-master command: - runner.sh args: @@ -31,12 +35,8 @@ presubmits: curl -sSL https://kind.sigs.k8s.io/dl/latest/linux-amd64.tgz | tar xvfz - -C "${PATH%%:*}/" kind kind build node-image --image=dra/node:latest . trap 'kind export logs "${ARTIFACTS}/kind"; kind delete cluster' EXIT - # Which DRA features exist can change over time. - features=( $(grep '"DRA' pkg/features/kube_features.go | sed 's/.*"\(.*\)"/\1/') ) - echo "Enabling DRA feature(s): ${features[*]}." - # Those additional features are not in kind.yaml, but they can be added at the end. - kind create cluster --retain --config <(cat test/e2e/dra/kind.yaml; for feature in ${features}; do echo " ${feature}: true"; done) --image dra/node:latest - KUBERNETES_PROVIDER=local KUBECONFIG=${HOME}/.kube/config GINKGO_PARALLEL_NODES=8 E2E_REPORT_DIR=${ARTIFACTS} GINKGO_TIMEOUT=1h hack/ginkgo-e2e.sh -ginkgo.label-filter="Feature: containsAny DynamicResourceAllocation && Feature: isSubsetOf { Alpha, Beta, DynamicResourceAllocation$(for feature in ${features}; do echo , ${feature}; done)} && !Flaky && !Slow" + kind create cluster --retain --config test/e2e/dra/kind.yaml --image dra/node:latest + KUBERNETES_PROVIDER=local KUBECONFIG=${HOME}/.kube/config GINKGO_PARALLEL_NODES=8 E2E_REPORT_DIR=${ARTIFACTS} GINKGO_TIMEOUT=2h30m hack/ginkgo-e2e.sh -ginkgo.label-filter='Feature: containsAny DynamicResourceAllocation && Feature: isSubsetOf { Beta, DynamicResourceAllocation } && !Flaky' # docker-in-docker needs privileged mode securityContext: privileged: true @@ -68,7 +68,7 @@ presubmits: path_alias: k8s.io/kubernetes spec: containers: - - image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20241218-d4b51bc3e8-master + - image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20241230-3006692a6f-master command: - runner.sh args: @@ -123,7 +123,7 @@ presubmits: path_alias: k8s.io/test-infra spec: containers: - - image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20241218-d4b51bc3e8-master + - image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20241230-3006692a6f-master command: - runner.sh - /workspace/scenarios/kubernetes_e2e.py @@ -177,7 +177,7 @@ presubmits: path_alias: k8s.io/test-infra spec: containers: - - image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20241218-d4b51bc3e8-master + - image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20241230-3006692a6f-master command: - runner.sh - /workspace/scenarios/kubernetes_e2e.py @@ -231,7 +231,7 @@ presubmits: path_alias: k8s.io/test-infra spec: containers: - - image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20241218-d4b51bc3e8-master + - image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20241230-3006692a6f-master command: - runner.sh - /workspace/scenarios/kubernetes_e2e.py diff --git a/config/jobs/kubernetes/sig-node/dynamic-resource-allocation.yaml b/config/jobs/kubernetes/sig-node/dra-ci.yaml similarity index 80% rename from config/jobs/kubernetes/sig-node/dynamic-resource-allocation.yaml rename to config/jobs/kubernetes/sig-node/dra-ci.yaml index 7bcf6c1c85c48..156a1d3f4cf8d 100644 --- a/config/jobs/kubernetes/sig-node/dynamic-resource-allocation.yaml +++ b/config/jobs/kubernetes/sig-node/dra-ci.yaml @@ -1,22 +1,23 @@ + +# GENERATED FILE - DO NOT EDIT! +# +# Instead, modify dra.jinja and run `make generate-jobs`. periodics: - # This jobs runs e2e.test with a focus on tests for the Dynamic Resource Allocation feature (currently beta) - # on a kind cluster with containerd updated to a version with CDI support. - name: ci-kind-dra cluster: eks-prow-build-cluster interval: 6h + labels: + preset-service-account: "true" + preset-dind-enabled: "true" + preset-kind-volume-mounts: "true" annotations: testgrid-dashboards: sig-node-dynamic-resource-allocation - testgrid-tab-name: ci-kind-dra description: Runs E2E tests for Dynamic Resource Allocation beta features against a Kubernetes master cluster created with sigs.k8s.io/kind - testgrid-alert-email: patrick.ohly@intel.com + testgrid-alert-email: eduard.bartosh@intel.com,patrick.ohly@intel.com fork-per-release: "true" decorate: true decoration_config: - timeout: 3h - labels: - preset-service-account: "true" - preset-dind-enabled: "true" - preset-kind-volume-mounts: "true" + timeout: 90m extra_refs: - org: kubernetes repo: kubernetes @@ -29,15 +30,14 @@ periodics: - runner.sh args: - /bin/sh - - -xc - - > - make WHAT="github.com/onsi/ginkgo/v2/ginkgo k8s.io/kubernetes/test/e2e/e2e.test" && - curl -sSL https://kind.sigs.k8s.io/dl/latest/linux-amd64.tgz | tar xvfz - -C "${PATH%%:*}/" kind && - kind build node-image --image=dra/node:latest . && - trap 'kind export logs "${ARTIFACTS}/kind"; kind delete cluster' EXIT && - kind create cluster --retain --config test/e2e/dra/kind.yaml --image dra/node:latest && + - -xce + - | + make WHAT="github.com/onsi/ginkgo/v2/ginkgo k8s.io/kubernetes/test/e2e/e2e.test" + curl -sSL https://kind.sigs.k8s.io/dl/latest/linux-amd64.tgz | tar xvfz - -C "${PATH%%:*}/" kind + kind build node-image --image=dra/node:latest . + trap 'kind export logs "${ARTIFACTS}/kind"; kind delete cluster' EXIT + kind create cluster --retain --config test/e2e/dra/kind.yaml --image dra/node:latest KUBERNETES_PROVIDER=local KUBECONFIG=${HOME}/.kube/config GINKGO_PARALLEL_NODES=8 E2E_REPORT_DIR=${ARTIFACTS} GINKGO_TIMEOUT=2h30m hack/ginkgo-e2e.sh -ginkgo.label-filter='Feature: containsAny DynamicResourceAllocation && Feature: isSubsetOf { Beta, DynamicResourceAllocation } && !Flaky' - # docker-in-docker needs privileged mode securityContext: privileged: true @@ -49,26 +49,21 @@ periodics: cpu: 2 memory: 9Gi - # This jobs runs e2e.test with a focus on tests for the Dynamic Resource Allocation feature (currently alpha, soon beta) - # on a kind cluster with containerd updated to a version with CDI support. - # - # Compared to ci-kind-dra, this one enables all DRA-related features. - name: ci-kind-dra-all cluster: eks-prow-build-cluster interval: 6h + labels: + preset-service-account: "true" + preset-dind-enabled: "true" + preset-kind-volume-mounts: "true" annotations: testgrid-dashboards: sig-node-dynamic-resource-allocation - testgrid-tab-name: ci-kind-dra-all description: Runs E2E tests for Dynamic Resource Allocation alpha and beta features against a Kubernetes master cluster created with sigs.k8s.io/kind - testgrid-alert-email: patrick.ohly@intel.com + testgrid-alert-email: eduard.bartosh@intel.com,patrick.ohly@intel.com fork-per-release: "true" decorate: true decoration_config: - timeout: 3h - labels: - preset-service-account: "true" - preset-dind-enabled: "true" - preset-kind-volume-mounts: "true" + timeout: 90m extra_refs: - org: kubernetes repo: kubernetes @@ -80,10 +75,9 @@ periodics: command: - runner.sh args: - - /bin/bash - - -xc + - /bin/sh + - -xce - | - set -ex make WHAT="github.com/onsi/ginkgo/v2/ginkgo k8s.io/kubernetes/test/e2e/e2e.test" curl -sSL https://kind.sigs.k8s.io/dl/latest/linux-amd64.tgz | tar xvfz - -C "${PATH%%:*}/" kind kind build node-image --image=dra/node:latest . @@ -94,7 +88,6 @@ periodics: # Those additional features are not in kind.yaml, but they can be added at the end. kind create cluster --retain --config <(cat test/e2e/dra/kind.yaml; for feature in ${features}; do echo " ${feature}: true"; done) --image dra/node:latest KUBERNETES_PROVIDER=local KUBECONFIG=${HOME}/.kube/config GINKGO_PARALLEL_NODES=8 E2E_REPORT_DIR=${ARTIFACTS} GINKGO_TIMEOUT=1h hack/ginkgo-e2e.sh -ginkgo.label-filter="Feature: containsAny DynamicResourceAllocation && Feature: isSubsetOf { Alpha, Beta, DynamicResourceAllocation$(for feature in ${features}; do echo , ${feature}; done)} && !Flaky && !Slow" - # docker-in-docker needs privileged mode securityContext: privileged: true @@ -106,19 +99,19 @@ periodics: cpu: 2 memory: 9Gi - # This job runs e2e_node.test with a focus on tests for the Dynamic Resource Allocation feature (currently beta) - name: ci-node-e2e-cgrpv1-crio-dra - cluster: k8s-infra-prow-build + cluster: eks-prow-build-cluster interval: 6h + labels: + preset-service-account: "true" + preset-k8s-ssh: "true" + preset-pull-kubernetes-e2e: "true" + preset-pull-kubernetes-e2e-gce: "true" annotations: - testgrid-dashboards: sig-node-cri-o, sig-node-dynamic-resource-allocation - testgrid-tab-name: ci-node-e2e-cgrpv1-crio-dra + testgrid-dashboards: sig-node-dynamic-resource-allocation, sig-node-cri-o description: Runs E2E node tests for Dynamic Resource Allocation beta features with CRI-O using cgroup v1 testgrid-alert-email: eduard.bartosh@intel.com,patrick.ohly@intel.com fork-per-release: "true" - labels: - preset-service-account: "true" - preset-k8s-ssh: "true" decorate: true decoration_config: timeout: 90m @@ -127,7 +120,6 @@ periodics: repo: kubernetes base_ref: master path_alias: k8s.io/kubernetes - workdir: true - org: kubernetes repo: test-infra base_ref: master @@ -145,7 +137,7 @@ periodics: - '--node-test-args=--feature-gates=DynamicResourceAllocation=true --service-feature-gates=DynamicResourceAllocation=true --runtime-config=api/beta=true --container-runtime-endpoint=unix:///var/run/crio/crio.sock --container-runtime-process-name=/usr/local/bin/crio --container-runtime-pid-file= --kubelet-flags="--cgroup-driver=systemd --cgroups-per-qos=true --cgroup-root=/ --runtime-cgroups=/system.slice/crio.service --kubelet-cgroups=/system.slice/kubelet.service" --extra-log="{\"name\": \"crio.log\", \"journalctl\": [\"-u\", \"crio\"]}"' - --node-tests=true - --provider=gce - - '--test_args=--timeout=1h --label-filter="Feature: containsAny DynamicResourceAllocation && Feature: isSubsetOf { Beta, DynamicResourceAllocation } && !Flaky"' + - '--test_args=--timeout=1h --label-filter="Feature: containsAny DynamicResourceAllocation && Feature: isSubsetOf { Beta, DynamicResourceAllocation } && !Flaky && !Slow"' - --timeout=65m - --node-args=--image-config-file=/home/prow/go/src/k8s.io/test-infra/jobs/e2e_node/crio/latest/image-config-cgroupv1-serial.yaml env: @@ -161,19 +153,19 @@ periodics: cpu: 2 memory: 9Gi - # This job runs e2e_node.test with a focus on tests for the Dynamic Resource Allocation feature (currently beta) - name: ci-node-e2e-cgrpv2-crio-dra - cluster: k8s-infra-prow-build + cluster: eks-prow-build-cluster interval: 6h + labels: + preset-service-account: "true" + preset-k8s-ssh: "true" + preset-pull-kubernetes-e2e: "true" + preset-pull-kubernetes-e2e-gce: "true" annotations: - testgrid-dashboards: sig-node-cri-o, sig-node-dynamic-resource-allocation + testgrid-dashboards: sig-node-dynamic-resource-allocation, sig-node-cri-o description: Runs E2E node tests for Dynamic Resource Allocation beta features with CRI-O using cgroup v2 - testgrid-tab-name: ci-node-e2e-cgrpv2-crio-dra testgrid-alert-email: eduard.bartosh@intel.com,patrick.ohly@intel.com fork-per-release: "true" - labels: - preset-service-account: "true" - preset-k8s-ssh: "true" decorate: true decoration_config: timeout: 90m @@ -182,7 +174,6 @@ periodics: repo: kubernetes base_ref: master path_alias: k8s.io/kubernetes - workdir: true - org: kubernetes repo: test-infra base_ref: master @@ -200,7 +191,7 @@ periodics: - '--node-test-args=--feature-gates=DynamicResourceAllocation=true --service-feature-gates=DynamicResourceAllocation=true --runtime-config=api/beta=true --container-runtime-endpoint=unix:///var/run/crio/crio.sock --container-runtime-process-name=/usr/local/bin/crio --container-runtime-pid-file= --kubelet-flags="--cgroup-driver=systemd --cgroups-per-qos=true --cgroup-root=/ --runtime-cgroups=/system.slice/crio.service --kubelet-cgroups=/system.slice/kubelet.service" --extra-log="{\"name\": \"crio.log\", \"journalctl\": [\"-u\", \"crio\"]}"' - --node-tests=true - --provider=gce - - '--test_args=--timeout=1h --label-filter="Feature: containsAny DynamicResourceAllocation && Feature: isSubsetOf { Beta, DynamicResourceAllocation } && !Flaky"' + - '--test_args=--timeout=1h --label-filter="Feature: containsAny DynamicResourceAllocation && Feature: isSubsetOf { Beta, DynamicResourceAllocation } && !Flaky && !Slow"' - --timeout=65m - --node-args=--image-config-file=/home/prow/go/src/k8s.io/test-infra/jobs/e2e_node/crio/latest/image-config-cgroupv2-serial.yaml env: @@ -216,19 +207,19 @@ periodics: cpu: 2 memory: 9Gi - # This job runs the same tests as ci-node-e2e-crio-dra with Containerd 1.7 runtime - name: ci-node-e2e-containerd-1-7-dra - cluster: k8s-infra-prow-build + cluster: eks-prow-build-cluster interval: 6h + labels: + preset-service-account: "true" + preset-k8s-ssh: "true" + preset-pull-kubernetes-e2e: "true" + preset-pull-kubernetes-e2e-gce: "true" annotations: - testgrid-dashboards: sig-node-dynamic-resource-allocation - testgrid-tab-name: ci-node-e2e-containerd-1-7-dra + testgrid-dashboards: sig-node-dynamic-resource-allocation, sig-node-containerd description: Runs E2E node tests for Dynamic Resource Allocation beta features with containerd testgrid-alert-email: eduard.bartosh@intel.com,patrick.ohly@intel.com fork-per-release: "true" - labels: - preset-service-account: "true" - preset-k8s-ssh: "true" decorate: true decoration_config: timeout: 90m @@ -237,7 +228,6 @@ periodics: repo: kubernetes base_ref: master path_alias: k8s.io/kubernetes - workdir: true - org: kubernetes repo: test-infra base_ref: master @@ -251,10 +241,10 @@ periodics: args: - --deployment=node - --gcp-zone=us-west1-b - - '--node-test-args=--feature-gates=DynamicResourceAllocation=true --service-feature-gates=DynamicResourceAllocation=true --runtime-config=api/beta=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\"]}"' + - '--node-test-args=--feature-gates=DynamicResourceAllocation=true --service-feature-gates=DynamicResourceAllocation=true --runtime-config=api/beta=true --container-runtime-endpoint=unix:///run/containerd/containerd.sock --container-runtime-process-name=/usr/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\"]}"' - --node-tests=true - --provider=gce - - '--test_args=--timeout=1h --label-filter="Feature: containsAny DynamicResourceAllocation && Feature: isSubsetOf { Beta, DynamicResourceAllocation } && !Flaky"' + - '--test_args=--timeout=1h --label-filter="Feature: containsAny DynamicResourceAllocation && Feature: isSubsetOf { Beta, DynamicResourceAllocation } && !Flaky && !Slow"' - --timeout=65m - --node-args=--image-config-file=/home/prow/go/src/k8s.io/test-infra/jobs/e2e_node/dra/image-config-containerd-1.7.yaml resources: diff --git a/config/jobs/kubernetes/sig-node/dra-pull.yaml b/config/jobs/kubernetes/sig-node/dra-pull.yaml new file mode 100644 index 0000000000000..6d13cb561c23e --- /dev/null +++ b/config/jobs/kubernetes/sig-node/dra-pull.yaml @@ -0,0 +1,261 @@ + +# GENERATED FILE - DO NOT EDIT! +# +# Instead, modify dra.jinja and run `make generate-jobs`. +presubmits: + kubernetes/kubernetes: + - name: pull-kind-dra + cluster: eks-prow-build-cluster + skip_branches: + - release-\d+\.\d+ # per-release image + always_run: false + run_if_changed: /(dra|dynamicresources|resourceclaim|deviceclass|resourceslice|resourceclaimtemplate|dynamic-resource-allocation|pkg/apis/resource|api/resource)/.*.go + optional: true + labels: + preset-service-account: "true" + preset-dind-enabled: "true" + preset-kind-volume-mounts: "true" + annotations: + testgrid-dashboards: sig-node-dynamic-resource-allocation, sig-node-presubmits + description: Runs E2E tests for Dynamic Resource Allocation beta features against a Kubernetes master cluster created with sigs.k8s.io/kind + testgrid-alert-email: eduard.bartosh@intel.com,patrick.ohly@intel.com + fork-per-release: "true" + decorate: true + decoration_config: + timeout: 90m + path_alias: k8s.io/kubernetes + spec: + containers: + - image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20241230-3006692a6f-master + command: + - runner.sh + args: + - /bin/sh + - -xce + - | + make WHAT="github.com/onsi/ginkgo/v2/ginkgo k8s.io/kubernetes/test/e2e/e2e.test" + curl -sSL https://kind.sigs.k8s.io/dl/latest/linux-amd64.tgz | tar xvfz - -C "${PATH%%:*}/" kind + kind build node-image --image=dra/node:latest . + trap 'kind export logs "${ARTIFACTS}/kind"; kind delete cluster' EXIT + kind create cluster --retain --config test/e2e/dra/kind.yaml --image dra/node:latest + KUBERNETES_PROVIDER=local KUBECONFIG=${HOME}/.kube/config GINKGO_PARALLEL_NODES=8 E2E_REPORT_DIR=${ARTIFACTS} GINKGO_TIMEOUT=2h30m hack/ginkgo-e2e.sh -ginkgo.label-filter='Feature: containsAny DynamicResourceAllocation && Feature: isSubsetOf { Beta, DynamicResourceAllocation } && !Flaky' + # docker-in-docker needs privileged mode + securityContext: + privileged: true + resources: + limits: + cpu: 2 + memory: 9Gi + requests: + cpu: 2 + memory: 9Gi + + - name: pull-kind-dra-all + cluster: eks-prow-build-cluster + skip_branches: + - release-\d+\.\d+ # per-release image + always_run: false + run_if_changed: /(dra|dynamicresources|resourceclaim|deviceclass|resourceslice|resourceclaimtemplate|dynamic-resource-allocation|pkg/apis/resource|api/resource)/.*.go + optional: true + labels: + preset-service-account: "true" + preset-dind-enabled: "true" + preset-kind-volume-mounts: "true" + annotations: + testgrid-dashboards: sig-node-dynamic-resource-allocation, sig-node-presubmits + description: Runs E2E tests for Dynamic Resource Allocation alpha and beta features against a Kubernetes master cluster created with sigs.k8s.io/kind + testgrid-alert-email: eduard.bartosh@intel.com,patrick.ohly@intel.com + fork-per-release: "true" + decorate: true + decoration_config: + timeout: 90m + path_alias: k8s.io/kubernetes + spec: + containers: + - image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20241230-3006692a6f-master + command: + - runner.sh + args: + - /bin/sh + - -xce + - | + make WHAT="github.com/onsi/ginkgo/v2/ginkgo k8s.io/kubernetes/test/e2e/e2e.test" + curl -sSL https://kind.sigs.k8s.io/dl/latest/linux-amd64.tgz | tar xvfz - -C "${PATH%%:*}/" kind + kind build node-image --image=dra/node:latest . + trap 'kind export logs "${ARTIFACTS}/kind"; kind delete cluster' EXIT + # Which DRA features exist can change over time. + features=( $(grep '"DRA' pkg/features/kube_features.go | sed 's/.*"\(.*\)"/\1/') ) + echo "Enabling DRA feature(s): ${features[*]}." + # Those additional features are not in kind.yaml, but they can be added at the end. + kind create cluster --retain --config <(cat test/e2e/dra/kind.yaml; for feature in ${features}; do echo " ${feature}: true"; done) --image dra/node:latest + KUBERNETES_PROVIDER=local KUBECONFIG=${HOME}/.kube/config GINKGO_PARALLEL_NODES=8 E2E_REPORT_DIR=${ARTIFACTS} GINKGO_TIMEOUT=1h hack/ginkgo-e2e.sh -ginkgo.label-filter="Feature: containsAny DynamicResourceAllocation && Feature: isSubsetOf { Alpha, Beta, DynamicResourceAllocation$(for feature in ${features}; do echo , ${feature}; done)} && !Flaky && !Slow" + # docker-in-docker needs privileged mode + securityContext: + privileged: true + resources: + limits: + cpu: 2 + memory: 9Gi + requests: + cpu: 2 + memory: 9Gi + + - name: pull-node-e2e-cgrpv1-crio-dra + cluster: eks-prow-build-cluster + skip_branches: + - release-\d+\.\d+ # per-release image + always_run: false + run_if_changed: (/dra/|/dynamicresources/|/resourceclaim/|/deviceclass/|/resourceslice/|/resourceclaimtemplate/|/dynamic-resource-allocation/|/pkg/apis/resource/|/api/resource/|/test/e2e_node/dra_).*\.(go|yaml) + optional: true + skip_report: false + labels: + preset-service-account: "true" + preset-k8s-ssh: "true" + preset-pull-kubernetes-e2e: "true" + preset-pull-kubernetes-e2e-gce: "true" + annotations: + testgrid-dashboards: sig-node-dynamic-resource-allocation, sig-node-presubmits, sig-node-cri-o + description: Runs E2E node tests for Dynamic Resource Allocation beta features with CRI-O using cgroup v1 + testgrid-alert-email: eduard.bartosh@intel.com,patrick.ohly@intel.com + fork-per-release: "true" + decorate: true + decoration_config: + timeout: 90m + path_alias: k8s.io/kubernetes + extra_refs: + - org: kubernetes + repo: test-infra + base_ref: master + path_alias: k8s.io/test-infra + spec: + containers: + - image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20241230-3006692a6f-master + command: + - runner.sh + - /workspace/scenarios/kubernetes_e2e.py + args: + - --deployment=node + - --env=KUBE_SSH_USER=core + - --gcp-zone=us-west1-b + - '--node-test-args=--feature-gates=DynamicResourceAllocation=true --service-feature-gates=DynamicResourceAllocation=true --runtime-config=api/beta=true --container-runtime-endpoint=unix:///var/run/crio/crio.sock --container-runtime-process-name=/usr/local/bin/crio --container-runtime-pid-file= --kubelet-flags="--cgroup-driver=systemd --cgroups-per-qos=true --cgroup-root=/ --runtime-cgroups=/system.slice/crio.service --kubelet-cgroups=/system.slice/kubelet.service" --extra-log="{\"name\": \"crio.log\", \"journalctl\": [\"-u\", \"crio\"]}"' + - --node-tests=true + - --provider=gce + - '--test_args=--timeout=1h --label-filter="Feature: containsAny DynamicResourceAllocation && Feature: isSubsetOf { Beta, DynamicResourceAllocation } && !Flaky && !Slow"' + - --timeout=65m + - --node-args=--image-config-file=/home/prow/go/src/k8s.io/test-infra/jobs/e2e_node/crio/latest/image-config-cgroupv1-serial.yaml + env: + - name: IGNITION_INJECT_GCE_SSH_PUBLIC_KEY_FILE + value: "1" + - name: GOPATH + value: /go + resources: + limits: + cpu: 2 + memory: 9Gi + requests: + cpu: 2 + memory: 9Gi + + - name: pull-node-e2e-cgrpv2-crio-dra + cluster: eks-prow-build-cluster + skip_branches: + - release-\d+\.\d+ # per-release image + always_run: false + optional: true + skip_report: false + labels: + preset-service-account: "true" + preset-k8s-ssh: "true" + preset-pull-kubernetes-e2e: "true" + preset-pull-kubernetes-e2e-gce: "true" + annotations: + testgrid-dashboards: sig-node-dynamic-resource-allocation, sig-node-presubmits, sig-node-cri-o + description: Runs E2E node tests for Dynamic Resource Allocation beta features with CRI-O using cgroup v2 + testgrid-alert-email: eduard.bartosh@intel.com,patrick.ohly@intel.com + fork-per-release: "true" + decorate: true + decoration_config: + timeout: 90m + path_alias: k8s.io/kubernetes + extra_refs: + - org: kubernetes + repo: test-infra + base_ref: master + path_alias: k8s.io/test-infra + spec: + containers: + - image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20241230-3006692a6f-master + command: + - runner.sh + - /workspace/scenarios/kubernetes_e2e.py + args: + - --deployment=node + - --env=KUBE_SSH_USER=core + - --gcp-zone=us-west1-b + - '--node-test-args=--feature-gates=DynamicResourceAllocation=true --service-feature-gates=DynamicResourceAllocation=true --runtime-config=api/beta=true --container-runtime-endpoint=unix:///var/run/crio/crio.sock --container-runtime-process-name=/usr/local/bin/crio --container-runtime-pid-file= --kubelet-flags="--cgroup-driver=systemd --cgroups-per-qos=true --cgroup-root=/ --runtime-cgroups=/system.slice/crio.service --kubelet-cgroups=/system.slice/kubelet.service" --extra-log="{\"name\": \"crio.log\", \"journalctl\": [\"-u\", \"crio\"]}"' + - --node-tests=true + - --provider=gce + - '--test_args=--timeout=1h --label-filter="Feature: containsAny DynamicResourceAllocation && Feature: isSubsetOf { Beta, DynamicResourceAllocation } && !Flaky && !Slow"' + - --timeout=65m + - --node-args=--image-config-file=/home/prow/go/src/k8s.io/test-infra/jobs/e2e_node/crio/latest/image-config-cgroupv2-serial.yaml + env: + - name: IGNITION_INJECT_GCE_SSH_PUBLIC_KEY_FILE + value: "1" + - name: GOPATH + value: /go + resources: + limits: + cpu: 2 + memory: 9Gi + requests: + cpu: 2 + memory: 9Gi + + - name: pull-node-e2e-containerd-1-7-dra + cluster: eks-prow-build-cluster + skip_branches: + - release-\d+\.\d+ # per-release image + always_run: false + optional: true + skip_report: false + labels: + preset-service-account: "true" + preset-k8s-ssh: "true" + preset-pull-kubernetes-e2e: "true" + preset-pull-kubernetes-e2e-gce: "true" + annotations: + testgrid-dashboards: sig-node-dynamic-resource-allocation, sig-node-presubmits, sig-node-containerd + description: Runs E2E node tests for Dynamic Resource Allocation beta features with containerd + testgrid-alert-email: eduard.bartosh@intel.com,patrick.ohly@intel.com + fork-per-release: "true" + decorate: true + decoration_config: + timeout: 90m + path_alias: k8s.io/kubernetes + extra_refs: + - org: kubernetes + repo: test-infra + base_ref: master + path_alias: k8s.io/test-infra + spec: + containers: + - image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20241230-3006692a6f-master + command: + - runner.sh + - /workspace/scenarios/kubernetes_e2e.py + args: + - --deployment=node + - --gcp-zone=us-west1-b + - '--node-test-args=--feature-gates=DynamicResourceAllocation=true --service-feature-gates=DynamicResourceAllocation=true --runtime-config=api/beta=true --container-runtime-endpoint=unix:///run/containerd/containerd.sock --container-runtime-process-name=/usr/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\"]}"' + - --node-tests=true + - --provider=gce + - '--test_args=--timeout=1h --label-filter="Feature: containsAny DynamicResourceAllocation && Feature: isSubsetOf { Beta, DynamicResourceAllocation } && !Flaky && !Slow"' + - --timeout=65m + - --node-args=--image-config-file=/home/prow/go/src/k8s.io/test-infra/jobs/e2e_node/dra/image-config-containerd-1.7.yaml + resources: + limits: + cpu: 2 + memory: 9Gi + requests: + cpu: 2 + memory: 9Gi diff --git a/config/jobs/kubernetes/sig-node/dra.conf b/config/jobs/kubernetes/sig-node/dra.conf new file mode 100644 index 0000000000000..8878f82f3b769 --- /dev/null +++ b/config/jobs/kubernetes/sig-node/dra.conf @@ -0,0 +1,50 @@ +[DEFAULT] +# `template` is a mandatory field that specifies the job template to use +template = dra.jinja +# `kinds` is a mandatory comma separated list of config kinds to generate, e.g. canary,presubmits,ci +kinds = canary,pull,ci +interval = 6h +testgrid_dashboards = sig-node-dynamic-resource-allocation +testgrid_alert_email = eduard.bartosh@intel.com,patrick.ohly@intel.com +timeout = 90m +label_filter = Feature: containsAny DynamicResourceAllocation && Feature: isSubsetOf { Beta, DynamicResourceAllocation } && !Flaky && !Slow + +# This jobs runs e2e.test with a focus on tests for the Dynamic Resource Allocation feature (currently beta) +# on a kind cluster with containerd updated to a version with CDI support. +[kind-dra] +description = Runs E2E tests for Dynamic Resource Allocation beta features against a Kubernetes master cluster created with sigs.k8s.io/kind +use_dind = true +run_if_changed = /(dra|dynamicresources|resourceclaim|deviceclass|resourceslice|resourceclaimtemplate|dynamic-resource-allocation|pkg/apis/resource|api/resource)/.*.go + +# This jobs runs e2e.test with a focus on tests for the Dynamic Resource Allocation feature (currently alpha, soon beta) +# on a kind cluster with containerd updated to a version with CDI support. +# +# Compared to ci-kind-dra, this one enables all DRA-related features. +[kind-dra-all] +description = Runs E2E tests for Dynamic Resource Allocation alpha and beta features against a Kubernetes master cluster created with sigs.k8s.io/kind +all_features = true +use_dind = true +run_if_changed = /(dra|dynamicresources|resourceclaim|deviceclass|resourceslice|resourceclaimtemplate|dynamic-resource-allocation|pkg/apis/resource|api/resource)/.*.go + +# This job runs e2e_node.test with a focus on tests for the Dynamic Resource Allocation feature (currently beta) +[node-e2e-cgrpv1-crio-dra] +job_type = node +description = Runs E2E node tests for Dynamic Resource Allocation beta features with CRI-O using cgroup v1 +image_config_file = /home/prow/go/src/k8s.io/test-infra/jobs/e2e_node/crio/latest/image-config-cgroupv1-serial.yaml +inject_ssh_public_key = true +# Automatically testing with one container runtime in one configuration is sufficient to detect basic problems in kubelet early. +# CRI-O was picked because it was solid for testing so far. +run_if_changed = (/dra/|/dynamicresources/|/resourceclaim/|/deviceclass/|/resourceslice/|/resourceclaimtemplate/|/dynamic-resource-allocation/|/pkg/apis/resource/|/api/resource/|/test/e2e_node/dra_).*\.(go|yaml) + +# This job is the same as ci-node-e2e-cgrpv1-crio-dra, but for cgroup v2 +[node-e2e-cgrpv2-crio-dra] +job_type = node +description = Runs E2E node tests for Dynamic Resource Allocation beta features with CRI-O using cgroup v2 +image_config_file = /home/prow/go/src/k8s.io/test-infra/jobs/e2e_node/crio/latest/image-config-cgroupv2-serial.yaml +inject_ssh_public_key = true + +# This job runs the same tests as ci-node-e2e-crio-dra with Containerd 1.7 runtime +[node-e2e-containerd-1-7-dra] +job_type = node +description = Runs E2E node tests for Dynamic Resource Allocation beta features with containerd +image_config_file = /home/prow/go/src/k8s.io/test-infra/jobs/e2e_node/dra/image-config-containerd-1.7.yaml diff --git a/config/jobs/kubernetes/sig-node/dra.jinja b/config/jobs/kubernetes/sig-node/dra.jinja new file mode 100644 index 0000000000000..e2e3f4d515cdc --- /dev/null +++ b/config/jobs/kubernetes/sig-node/dra.jinja @@ -0,0 +1,131 @@ +{%- if header %} +{{header}} +{%- if kind == "ci" %}periodics: +{%- else %}presubmits: + kubernetes/kubernetes: +{%- endif %} +{%- endif %} +{%- if kind != "ci" %} +{%- set testgrid_dashboards = testgrid_dashboards + ", sig-node-presubmits" %} +{%- endif %} +{%- if "crio" in job_name %} +{%- set testgrid_dashboards = testgrid_dashboards + ", sig-node-cri-o" %} +{%- set runtime = "crio" %} +{%- endif %} +{%- if "containerd" in job_name %} +{%- set testgrid_dashboards = testgrid_dashboards + ", sig-node-containerd" %} +{%- set runtime = "containerd" %} +{%- endif %} + - name: {{job_name}} + cluster: eks-prow-build-cluster + {%- if kind == "ci" %} + interval: {{interval}} + {%- else %} + skip_branches: + - release-\d+\.\d+ # per-release image + always_run: false + {%- if run_if_changed and kind == "pull" %} + run_if_changed: {{run_if_changed}} + {%- endif %} + optional: true + {%- if job_type == "node" %} + skip_report: false + {%- endif %} + {%- endif %} + labels: + preset-service-account: "true" + {%- if use_dind == "true" %} + preset-dind-enabled: "true" + preset-kind-volume-mounts: "true" + {%- endif %} + {%- if job_type == "node" %} + preset-k8s-ssh: "true" + preset-pull-kubernetes-e2e: "true" + preset-pull-kubernetes-e2e-gce: "true" + {%- endif %} + annotations: + testgrid-dashboards: {{testgrid_dashboards}} + description: {{description}} + testgrid-alert-email: {{testgrid_alert_email}} + {%- if kind != "canary" %} + fork-per-release: "true" + {%- endif %} + decorate: true + decoration_config: + timeout: {{timeout}} + {%- if kind == "ci" %} + extra_refs: + - org: kubernetes + repo: kubernetes + base_ref: master + path_alias: k8s.io/kubernetes + {%- else %} + path_alias: k8s.io/kubernetes + {%- endif %} + {%- if job_type == "node" %} + {%- if kind != "ci" %} + extra_refs: + {%- endif %} + - org: kubernetes + repo: test-infra + base_ref: master + path_alias: k8s.io/test-infra + {%- endif %} + spec: + containers: + - image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20241230-3006692a6f-master + command: + - runner.sh + {%- if job_type == "node" %} + - /workspace/scenarios/kubernetes_e2e.py + args: + - --deployment=node + {%- if inject_ssh_public_key == "true" %} + - --env=KUBE_SSH_USER=core + {%- endif %} + - --gcp-zone=us-west1-b + - '--node-test-args=--feature-gates=DynamicResourceAllocation=true --service-feature-gates=DynamicResourceAllocation=true --runtime-config=api/beta=true --container-runtime-endpoint=unix:///{%-if runtime == "crio" %}var/{%- endif %}run/{{runtime}}/{{runtime}}.sock --container-runtime-process-name=/usr/{%- if runtime == "crio" %}local/{%- endif %}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}}\"]}"' + - --node-tests=true + - --provider=gce + - '--test_args=--timeout=1h --label-filter="{{label_filter}}"' + - --timeout=65m + - --node-args=--image-config-file={{image_config_file}} + {%- if inject_ssh_public_key == "true" %} + env: + - name: IGNITION_INJECT_GCE_SSH_PUBLIC_KEY_FILE + value: "1" + - name: GOPATH + value: /go + {%- endif %} + {%- else %} + args: + - /bin/sh + - -xce + - | + make WHAT="github.com/onsi/ginkgo/v2/ginkgo k8s.io/kubernetes/test/e2e/e2e.test" + curl -sSL https://kind.sigs.k8s.io/dl/latest/linux-amd64.tgz | tar xvfz - -C "${PATH%%:*}/" kind + kind build node-image --image=dra/node:latest . + trap 'kind export logs "${ARTIFACTS}/kind"; kind delete cluster' EXIT + {%- if all_features %} + # Which DRA features exist can change over time. + features=( $(grep '"DRA' pkg/features/kube_features.go | sed 's/.*"\(.*\)"/\1/') ) + echo "Enabling DRA feature(s): ${features[*]}." + # Those additional features are not in kind.yaml, but they can be added at the end. + kind create cluster --retain --config <(cat test/e2e/dra/kind.yaml; for feature in ${features}; do echo " ${feature}: true"; done) --image dra/node:latest + KUBERNETES_PROVIDER=local KUBECONFIG=${HOME}/.kube/config GINKGO_PARALLEL_NODES=8 E2E_REPORT_DIR=${ARTIFACTS} GINKGO_TIMEOUT=1h hack/ginkgo-e2e.sh -ginkgo.label-filter="Feature: containsAny DynamicResourceAllocation && Feature: isSubsetOf { Alpha, Beta, DynamicResourceAllocation$(for feature in ${features}; do echo , ${feature}; done)} && !Flaky && !Slow" + {%- else %} + kind create cluster --retain --config test/e2e/dra/kind.yaml --image dra/node:latest + KUBERNETES_PROVIDER=local KUBECONFIG=${HOME}/.kube/config GINKGO_PARALLEL_NODES=8 E2E_REPORT_DIR=${ARTIFACTS} GINKGO_TIMEOUT=2h30m hack/ginkgo-e2e.sh -ginkgo.label-filter='Feature: containsAny DynamicResourceAllocation && Feature: isSubsetOf { Beta, DynamicResourceAllocation } && !Flaky' + {%- endif %} + # docker-in-docker needs privileged mode + securityContext: + privileged: true + {%- endif %} + resources: + limits: + cpu: 2 + memory: 9Gi + requests: + cpu: 2 + memory: 9Gi + diff --git a/config/jobs/kubernetes/sig-node/sig-node-presubmit.yaml b/config/jobs/kubernetes/sig-node/sig-node-presubmit.yaml index d9c42f4caaf5a..68b55d4315bde 100644 --- a/config/jobs/kubernetes/sig-node/sig-node-presubmit.yaml +++ b/config/jobs/kubernetes/sig-node/sig-node-presubmit.yaml @@ -2880,121 +2880,6 @@ presubmits: cpu: 4 memory: 6Gi - # This jobs runs e2e.test with a focus on tests for the Dynamic Resource Allocation feature (currently beta) - # on a kind cluster with containerd updated to a version with CDI support. - - name: pull-kubernetes-kind-dra - cluster: k8s-infra-prow-build - skip_branches: - - release-\d+\.\d+ # per-release image - annotations: - testgrid-dashboards: sig-node-presubmits, sig-node-dynamic-resource-allocation - testgrid-tab-name: pr-kind-dra - decorate: true - path_alias: k8s.io/kubernetes - # Not relevant for most PRs. - always_run: false - # This covers most of the code related to dynamic resource allocation. - # Periodic variant: ci-kind-dra - run_if_changed: /(dra|dynamicresources|resourceclaim|deviceclass|resourceslice|resourceclaimtemplate|dynamic-resource-allocation|pkg/apis/resource|api/resource)/.*.go - optional: true - decoration_config: - timeout: 90m - labels: - preset-service-account: "true" - preset-dind-enabled: "true" - preset-kind-volume-mounts: "true" - spec: - containers: - - image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20241230-3006692a6f-master - command: - - runner.sh - args: - - /bin/sh - - -xc - - > - make WHAT="github.com/onsi/ginkgo/v2/ginkgo k8s.io/kubernetes/test/e2e/e2e.test" && - curl -sSL https://kind.sigs.k8s.io/dl/latest/linux-amd64.tgz | tar xvfz - -C "${PATH%%:*}/" kind && - kind build node-image --image=dra/node:latest . && - trap 'kind export logs "${ARTIFACTS}/kind"; kind delete cluster' EXIT && - kind create cluster --retain --config test/e2e/dra/kind.yaml --image dra/node:latest && - KUBERNETES_PROVIDER=local KUBECONFIG=${HOME}/.kube/config GINKGO_PARALLEL_NODES=8 E2E_REPORT_DIR=${ARTIFACTS} GINKGO_TIMEOUT=1h hack/ginkgo-e2e.sh -ginkgo.label-filter='Feature: containsAny DynamicResourceAllocation && Feature: isSubsetOf { Beta, DynamicResourceAllocation } && !Flaky && !Slow' - - # docker-in-docker needs privileged mode - securityContext: - privileged: true - resources: - requests: - # these are both a bit below peak usage during build - # this is mostly for building kubernetes - memory: "9000Mi" - # during the tests more like 3-20m is used - cpu: 2000m - limits: - memory: "9000Mi" - cpu: 2000m - - # This jobs runs e2e.test with a focus on tests for the Dynamic Resource Allocation feature (partly alpha, partly beta) - # on a kind cluster with containerd updated to a version with CDI support. - # - # Compared to pull-kubernetes-dra, this one enables all DRA-related features. - - name: pull-kubernetes-kind-dra-all - cluster: k8s-infra-prow-build - skip_branches: - - release-\d+\.\d+ # per-release image - annotations: - testgrid-dashboards: sig-node-presubmits, sig-node-dynamic-resource-allocation - testgrid-tab-name: pr-kind-dra-all - decorate: true - path_alias: k8s.io/kubernetes - # Not relevant for most PRs. - always_run: false - # This covers most of the code related to dynamic resource allocation. - # Periodic variant: ci-kind-dra-all - run_if_changed: /(dra|dynamicresources|resourceclaim|deviceclass|resourceslice|resourceclaimtemplate|dynamic-resource-allocation|pkg/apis/resource|api/resource)/.*.go - # The tests might still be flaky or this job might get triggered accidentally for - # an unrelated PR. - optional: true - decoration_config: - timeout: 90m - labels: - preset-service-account: "true" - preset-dind-enabled: "true" - preset-kind-volume-mounts: "true" - spec: - containers: - - image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20241230-3006692a6f-master - command: - - runner.sh - args: - - /bin/bash - - -xc - - | - set -ex - make WHAT="github.com/onsi/ginkgo/v2/ginkgo k8s.io/kubernetes/test/e2e/e2e.test" - curl -sSL https://kind.sigs.k8s.io/dl/latest/linux-amd64.tgz | tar xvfz - -C "${PATH%%:*}/" kind - kind build node-image --image=dra/node:latest . - trap 'kind export logs "${ARTIFACTS}/kind"; kind delete cluster' EXIT - # Which DRA features exist depends on the PR that is being tested. - features=( $(grep '"DRA' pkg/features/kube_features.go | sed 's/.*"\(.*\)"/\1/') ) - echo "Enabling DRA feature(s): ${features[*]}." - # Those additional features are not in kind.yaml, but they can be added at the end. - kind create cluster --retain --config <(cat test/e2e/dra/kind.yaml; for feature in ${features}; do echo " ${feature}: true"; done) --image dra/node:latest - KUBERNETES_PROVIDER=local KUBECONFIG=${HOME}/.kube/config GINKGO_PARALLEL_NODES=8 E2E_REPORT_DIR=${ARTIFACTS} GINKGO_TIMEOUT=1h hack/ginkgo-e2e.sh -ginkgo.label-filter="Feature: containsAny DynamicResourceAllocation && Feature: isSubsetOf { Alpha, Beta, DynamicResourceAllocation$(for feature in ${features}; do echo , ${feature}; done)} && !Flaky && !Slow" - - # docker-in-docker needs privileged mode - securityContext: - privileged: true - resources: - requests: - # these are both a bit below peak usage during build - # this is mostly for building kubernetes - memory: "9000Mi" - # during the tests more like 3-20m is used - cpu: 2000m - limits: - memory: "9000Mi" - cpu: 2000m - - name: pull-kubernetes-e2e-gce-kubelet-credential-provider cluster: k8s-infra-prow-build always_run: false @@ -3867,61 +3752,6 @@ presubmits: cpu: 4 memory: 6Gi - - name: pull-kubernetes-node-e2e-crio-cgrpv1-dra - cluster: k8s-infra-prow-build - skip_branches: - - release-\d+\.\d+ # per-release image - always_run: false - # Automatically testing with one container runtime in one configuration is sufficient to detect basic problems in kubelet early. - # CRI-O was picked because it was solid for testing so far. - # Periodic variant: ci-node-e2e-crio-cgrpv1-dra-features - run_if_changed: (/dra/|/dynamicresources/|/resourceclaim/|/deviceclass/|/resourceslice/|/resourceclaimtemplate/|/dynamic-resource-allocation/|/pkg/apis/resource/|/api/resource/|/test/e2e_node/dra_).*\.(go|yaml) - optional: true - skip_report: false - labels: - preset-service-account: "true" - preset-k8s-ssh: "true" - preset-pull-kubernetes-e2e: "true" - preset-pull-kubernetes-e2e-gce: "true" - annotations: - testgrid-dashboards: sig-node-cri-o, sig-node-presubmits, sig-node-dynamic-resource-allocation - testgrid-tab-name: pr-node-kubelet-crio-cgrpv1-dra - decorate: true - decoration_config: - timeout: 90m - path_alias: k8s.io/kubernetes - extra_refs: - - org: kubernetes - repo: test-infra - base_ref: master - path_alias: k8s.io/test-infra - spec: - containers: - - image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20241230-3006692a6f-master - command: - - runner.sh - - /workspace/scenarios/kubernetes_e2e.py - args: - - --deployment=node - - --env=KUBE_SSH_USER=core - - --gcp-zone=us-west1-b - - '--node-test-args=--feature-gates=DynamicResourceAllocation=true --service-feature-gates=DynamicResourceAllocation=true --runtime-config=api/beta=true --container-runtime-endpoint=unix:///var/run/crio/crio.sock --container-runtime-process-name=/usr/local/bin/crio --container-runtime-pid-file= --kubelet-flags="--cgroup-driver=systemd --cgroups-per-qos=true --cgroup-root=/ --runtime-cgroups=/system.slice/crio.service --kubelet-cgroups=/system.slice/kubelet.service" --extra-log="{\"name\": \"crio.log\", \"journalctl\": [\"-u\", \"crio\"]}"' - - --node-tests=true - - --provider=gce - - '--test_args=--timeout=1h --label-filter="Feature: containsAny DynamicResourceAllocation && Feature: isSubsetOf { Beta, DynamicResourceAllocation } && !Flaky && !Slow"' - - --timeout=65m - - --node-args=--image-config-file=/home/prow/go/src/k8s.io/test-infra/jobs/e2e_node/crio/latest/image-config-cgroupv1-serial.yaml - env: - - name: IGNITION_INJECT_GCE_SSH_PUBLIC_KEY_FILE - value: "1" - resources: - requests: - cpu: 4 - memory: 6Gi - limits: - cpu: 4 - memory: 6Gi - - name: pull-kubernetes-node-e2e-crio-cgrpv1-dra-kubetest2 # experimental alternative to pull-kubernetes-node-e2e-crio-cgrpv1-dra cluster: k8s-infra-prow-build # explicitly needs /test pull-kubernetes-node-e2e-crio-cgrpv1-dra-kubetest2 to run @@ -3978,61 +3808,6 @@ presubmits: - name: IGNITION_INJECT_GCE_SSH_PUBLIC_KEY_FILE value: "1" - - name: pull-kubernetes-node-e2e-crio-cgrpv2-dra - cluster: k8s-infra-prow-build - skip_branches: - - release-\d+\.\d+ # per-release image - always_run: false - # Automatically testing with one container runtime in one configuration is sufficient to detect basic problems in kubelet early. - # CRI-O was picked because it was solid for testing so far. - # Periodic variant: ci-node-e2e-cgrpv2-crio-dra - # run_if_changed: (/dra/|/dynamicresources/|/resourceclaim/|/deviceclass/|/resourceslice/|/resourceclaimtemplate/|/dynamic-resource-allocation/|/pkg/apis/resource/|/api/resource/|/test/e2e_node/dra_).*\.(go|yaml) - optional: true - skip_report: false - labels: - preset-service-account: "true" - preset-k8s-ssh: "true" - preset-pull-kubernetes-e2e: "true" - preset-pull-kubernetes-e2e-gce: "true" - annotations: - testgrid-dashboards: sig-node-cri-o, sig-node-presubmits, sig-node-dynamic-resource-allocation - testgrid-tab-name: pr-node-kubelet-crio-cgrpv2-dra - decorate: true - decoration_config: - timeout: 90m - path_alias: k8s.io/kubernetes - extra_refs: - - org: kubernetes - repo: test-infra - base_ref: master - path_alias: k8s.io/test-infra - spec: - containers: - - image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20241230-3006692a6f-master - command: - - runner.sh - - /workspace/scenarios/kubernetes_e2e.py - args: - - --deployment=node - - --env=KUBE_SSH_USER=core - - --gcp-zone=us-west1-b - - '--node-test-args=--feature-gates=DynamicResourceAllocation=true --service-feature-gates=DynamicResourceAllocation=true --runtime-config=api/beta=true --container-runtime-endpoint=unix:///var/run/crio/crio.sock --container-runtime-process-name=/usr/local/bin/crio --container-runtime-pid-file= --kubelet-flags="--cgroup-driver=systemd --cgroups-per-qos=true --cgroup-root=/ --runtime-cgroups=/system.slice/crio.service --kubelet-cgroups=/system.slice/kubelet.service" --extra-log="{\"name\": \"crio.log\", \"journalctl\": [\"-u\", \"crio\"]}"' - - --node-tests=true - - --provider=gce - - '--test_args=--timeout=1h --label-filter="Feature: containsAny DynamicResourceAllocation && Feature: isSubsetOf { Beta, DynamicResourceAllocation } && !Flaky && !Slow"' - - --timeout=65m - - --node-args=--image-config-file=/home/prow/go/src/k8s.io/test-infra/jobs/e2e_node/crio/latest/image-config-cgroupv2-serial.yaml - env: - - name: IGNITION_INJECT_GCE_SSH_PUBLIC_KEY_FILE - value: "1" - resources: - requests: - cpu: 4 - memory: 6Gi - limits: - cpu: 4 - memory: 6Gi - - name: pull-kubernetes-node-e2e-crio-cgrpv2-dra-kubetest2 # experimental alternative to pull-kubernetes-node-e2e-crio-cgrpv2-dra cluster: k8s-infra-prow-build # explicitly needs /test pull-kubernetes-node-e2e-crio-cgrpv2-dra-kubetest2 to run @@ -4087,54 +3862,6 @@ presubmits: value: core - name: IGNITION_INJECT_GCE_SSH_PUBLIC_KEY_FILE value: "1" - - name: pull-kubernetes-node-e2e-containerd-1-7-dra - cluster: k8s-infra-prow-build - skip_branches: - - release-\d+\.\d+ # per-release image - always_run: false - # Automatically testing with one container runtime in one configuration is sufficient to detect basic problems in kubelet early. - # CRI-O was picked because it was solid for testing so far. - # Periodic variant: ci-node-e2e-containerd-1-7-dra - # run_if_changed: (/dra/|/dynamicresources/|/resourceclaim/|/deviceclass/|/resourceslice/|/resourceclaimtemplate/|/dynamic-resource-allocation/|/pkg/apis/resource/|/api/resource/|/test/e2e_node/dra_).*\.(go|yaml) - optional: true - skip_report: false - labels: - preset-service-account: "true" - preset-k8s-ssh: "true" - annotations: - testgrid-dashboards: sig-node-presubmits, sig-node-dynamic-resource-allocation - testgrid-tab-name: pr-node-kubelet-containerd-dra - decorate: true - decoration_config: - timeout: 90m - path_alias: k8s.io/kubernetes - extra_refs: - - org: kubernetes - repo: test-infra - base_ref: master - path_alias: k8s.io/test-infra - spec: - containers: - - image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20241230-3006692a6f-master - command: - - runner.sh - - /workspace/scenarios/kubernetes_e2e.py - args: - - --deployment=node - - --gcp-zone=us-west1-b - - '--node-test-args=--feature-gates=DynamicResourceAllocation=true --service-feature-gates=DynamicResourceAllocation=true --runtime-config=api/beta=true --container-runtime-endpoint=unix:///run/containerd/containerd.sock --container-runtime-process-name=/usr/bin/containerd --container-runtime-pid-file= --kubelet-flags="--cgroup-driver=systemd --cgroups-per-qos=true --cgroup-root=/ --runtime-cgroups=/system.slice/containerd.service" --extra-log="{\"name\": \"containerd.log\", \"journalctl\": [\"-u\", \"containerd\"]}"' - - --node-tests=true - - --provider=gce - - '--test_args=--timeout=1h --label-filter="Feature: containsAny DynamicResourceAllocation && Feature: isSubsetOf { Beta, DynamicResourceAllocation } && !Flaky && !Slow"' - - --timeout=65m - - --node-args=--image-config-file=/home/prow/go/src/k8s.io/test-infra/jobs/e2e_node/dra/image-config-containerd-1.7.yaml - resources: - requests: - cpu: 4 - memory: 6Gi - limits: - cpu: 4 - memory: 6Gi - name: pull-kubernetes-node-e2e-resource-health-status cluster: k8s-infra-prow-build diff --git a/config/testgrids/kubernetes/presubmits/config.yaml b/config/testgrids/kubernetes/presubmits/config.yaml index dfa07f74e6bf5..643ea1215bdc0 100644 --- a/config/testgrids/kubernetes/presubmits/config.yaml +++ b/config/testgrids/kubernetes/presubmits/config.yaml @@ -140,11 +140,6 @@ dashboards: - name: pull-kubernetes-node-e2e-containerd-features-kubetest2 test_group_name: pull-kubernetes-node-e2e-containerd-features-kubetest2 base_options: width=10 - - name: pull-kubernetes-kind-dra - test_group_name: pull-kubernetes-kind-dra - base_options: width=10 - alert_options: - alert_mail_to_addresses: patrick.ohly@intel.com - name: presubmits-kubernetes-scalability - name: presubmits-misc - name: presubmits-node-problem-detector