Skip to content

Commit

Permalink
generate job configs from Jinja templates
Browse files Browse the repository at this point in the history
  • Loading branch information
bart0sh committed Dec 20, 2024
1 parent 8df4afc commit 28eda1b
Show file tree
Hide file tree
Showing 7 changed files with 1,071 additions and 0 deletions.
17 changes: 17 additions & 0 deletions config/jobs/kubernetes/sig-node/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Copyright 2024 The Kubernetes Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

.PHONY: generate
generate:
./gen.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,285 @@

presubmits:
kubernetes/kubernetes:
- name: canary-kind-dra
cluster: eks-prow-build-cluster
skip_branches:
- release-\d+\.\d+ # per-release image
always_run: false
optional: true
run_if_changed: /(dra|dynamicresources|resourceclaim|deviceclass|resourceslice|resourceclaimtemplate|dynamic-resource-allocation|pkg/apis/resource|api/resource)/.*.go
annotations:
testgrid-dashboards: sig-node-dynamic-resource-allocation, sig-node-presubmits
testgrid-tab-name: canary-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: [email protected]
fork-per-release: "true"
decorate: true
decoration_config:
timeout: 90m
labels:
preset-service-account: "true"
preset-dind-enabled: "true"
preset-kind-volume-mounts: "true"
preset-pull-kubernetes-e2e: "true"
preset-pull-kubernetes-e2e-gce: "true"
extra_refs:
- org: kubernetes
repo: kubernetes
base_ref: master
path_alias: k8s.io/kubernetes
spec:
containers:
- image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20241218-d4b51bc3e8-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=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: canary-kind-dra-all
cluster: eks-prow-build-cluster
skip_branches:
- release-\d+\.\d+ # per-release image
always_run: false
optional: true
run_if_changed: /(dra|dynamicresources|resourceclaim|deviceclass|resourceslice|resourceclaimtemplate|dynamic-resource-allocation|pkg/apis/resource|api/resource)/.*.go
annotations:
testgrid-dashboards: sig-node-dynamic-resource-allocation
testgrid-tab-name: canary-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: [email protected]
fork-per-release: "true"
decorate: true
decoration_config:
timeout: 90m
labels:
preset-service-account: "true"
preset-dind-enabled: "true"
preset-kind-volume-mounts: "true"
preset-pull-kubernetes-e2e: "true"
preset-pull-kubernetes-e2e-gce: "true"
extra_refs:
- org: kubernetes
repo: kubernetes
base_ref: master
path_alias: k8s.io/kubernetes
spec:
containers:
- image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20241218-d4b51bc3e8-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=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: canary-node-e2e-cgrpv1-crio-dra
cluster: eks-prow-build-cluster
skip_branches:
- release-\d+\.\d+ # per-release image
always_run: false
optional: true
run_if_changed: (/dra/|/dynamicresources/|/resourceclaim/|/deviceclass/|/resourceslice/|/resourceclaimtemplate/|/dynamic-resource-allocation/|/pkg/apis/resource/|/api/resource/|/test/e2e_node/dra_).*\.(go|yaml)
skip_report: false
annotations:
testgrid-dashboards: sig-node-cri-o, sig-node-dynamic-resource-allocation, sig-node-cri-o
testgrid-tab-name: canary-node-e2e-cgrpv1-crio-dra
description: Runs E2E node tests for Dynamic Resource Allocation beta features with CRI-O using cgroup v1
testgrid-alert-email: [email protected],[email protected]
fork-per-release: "true"
decorate: true
decoration_config:
timeout: 90m
labels:
preset-service-account: "true"
preset-k8s-ssh: "{preset-k8s-ssh}"
preset-pull-kubernetes-e2e: "true"
preset-pull-kubernetes-e2e-gce: "true"
extra_refs:
- org: kubernetes
repo: kubernetes
base_ref: master
path_alias: k8s.io/kubernetes
workdir: true
- 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:v20241218-d4b51bc3e8-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"'
- --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: canary-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
annotations:
testgrid-dashboards: sig-node-cri-o, sig-node-dynamic-resource-allocation, sig-node-cri-o
testgrid-tab-name: canary-node-e2e-cgrpv2-crio-dra
description: Runs E2E node tests for Dynamic Resource Allocation beta features with CRI-O using cgroup v2
testgrid-alert-email: [email protected],[email protected]
fork-per-release: "true"
decorate: true
decoration_config:
timeout: 90m
labels:
preset-service-account: "true"
preset-k8s-ssh: "{preset-k8s-ssh}"
preset-pull-kubernetes-e2e: "true"
preset-pull-kubernetes-e2e-gce: "true"
extra_refs:
- org: kubernetes
repo: kubernetes
base_ref: master
path_alias: k8s.io/kubernetes
workdir: true
- 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:v20241218-d4b51bc3e8-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"'
- --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: canary-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
annotations:
testgrid-dashboards: sig-node-containerd, sig-node-dynamic-resource-allocation, sig-node-containerd
testgrid-tab-name: canary-node-e2e-containerd-1-7-dra
description: Runs E2E node tests for Dynamic Resource Allocation beta features with containerd
testgrid-alert-email: [email protected],[email protected]
fork-per-release: "true"
decorate: true
decoration_config:
timeout: 90m
labels:
preset-service-account: "true"
preset-k8s-ssh: "{preset-k8s-ssh}"
preset-pull-kubernetes-e2e: "true"
preset-pull-kubernetes-e2e-gce: "true"
extra_refs:
- org: kubernetes
repo: kubernetes
base_ref: master
path_alias: k8s.io/kubernetes
workdir: true
- 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:v20241218-d4b51bc3e8-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:///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-tests=true
- --provider=gce
- '--test_args=--timeout=1h --label-filter="Feature: containsAny DynamicResourceAllocation && Feature: isSubsetOf { Beta, DynamicResourceAllocation } && !Flaky"'
- --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
Loading

0 comments on commit 28eda1b

Please sign in to comment.