From 4183dba6e78a4c0fd1eb09ca777214cc0c0836af Mon Sep 17 00:00:00 2001 From: Mohit Sheth Date: Thu, 25 Jun 2026 14:21:27 -0400 Subject: [PATCH 1/3] Enable perfscale control-plane-6nodes as informing presubmit across component repos Add perfscale-control-plane-6nodes as conditional-automatic informing (optional) presubmit to etcd, kubernetes, cri-o, multus-cni, and machine-config-operator. Enable perfscale-aws-ingress-perf as conditional-automatic informing for router. Add skip_if_only_changed to all perfscale presubmits across these repos and ovn-kubernetes to avoid running expensive tests on docs/test-only changes. Uses skip_if_only_changed without always_run: true, following the standard Prow convention where the skip regex implicitly makes the job conditional-automatic. Signed-off-by: Mohit Sheth --- .../openshift/cri-o/openshift-cri-o-main.yaml | 5 +- .../openshift/etcd/openshift-etcd-main.yaml | 4 +- .../openshift-kubernetes-master.yaml | 5 +- ...penshift-machine-config-operator-main.yaml | 17 ++++ .../multus-cni/openshift-multus-cni-main.yaml | 17 ++++ .../openshift-ovn-kubernetes-main.yaml | 12 +-- .../router/openshift-router-master.yaml | 4 +- .../openshift-cri-o-main-presubmits.yaml | 4 +- .../etcd/openshift-etcd-main-presubmits.yaml | 1 + ...penshift-kubernetes-master-presubmits.yaml | 4 +- ...chine-config-operator-main-presubmits.yaml | 86 ++++++++++++++++++ .../openshift-multus-cni-main-presubmits.yaml | 87 +++++++++++++++++++ ...nshift-ovn-kubernetes-main-presubmits.yaml | 9 +- .../openshift-router-master-presubmits.yaml | 1 + 14 files changed, 237 insertions(+), 19 deletions(-) diff --git a/ci-operator/config/openshift/cri-o/openshift-cri-o-main.yaml b/ci-operator/config/openshift/cri-o/openshift-cri-o-main.yaml index 5d2d47764a9e6..28ebbfe46a737 100644 --- a/ci-operator/config/openshift/cri-o/openshift-cri-o-main.yaml +++ b/ci-operator/config/openshift/cri-o/openshift-cri-o-main.yaml @@ -80,8 +80,9 @@ tests: steps: cluster_profile: openshift-org-gcp workflow: openshift-e2e-gcp -- always_run: false - as: perfscale-control-plane-6nodes +- as: perfscale-control-plane-6nodes + optional: true + skip_if_only_changed: ^(?:docs|tutorials|logo|test|contrib|scripts|\.github)/|\.md$|^(?:\.gitignore|OWNERS|OWNERS_ALIASES|SECURITY_CONTACTS|PROJECT|LICENSE)$ steps: allow_skip_on_success: true cluster_profile: aws-perfscale-qe diff --git a/ci-operator/config/openshift/etcd/openshift-etcd-main.yaml b/ci-operator/config/openshift/etcd/openshift-etcd-main.yaml index ec59f46242b74..022e29a8169a5 100644 --- a/ci-operator/config/openshift/etcd/openshift-etcd-main.yaml +++ b/ci-operator/config/openshift/etcd/openshift-etcd-main.yaml @@ -90,9 +90,9 @@ tests: steps: cluster_profile: hypershift-aws workflow: hypershift-aws-conformance -- always_run: false - as: perfscale-payload-control-plane-6nodes +- as: perfscale-payload-control-plane-6nodes optional: true + skip_if_only_changed: ^docs/|^Documentation/|^logos/|^contrib/|^tests/|^scripts/|^\.github/|\.md$|^(?:.*/)?(?:\.gitignore|OWNERS|OWNERS_ALIASES|LICENSE)$ steps: cluster_profile: aws-perfscale-qe env: diff --git a/ci-operator/config/openshift/kubernetes/openshift-kubernetes-master.yaml b/ci-operator/config/openshift/kubernetes/openshift-kubernetes-master.yaml index d8d0f1ef945f5..ed053ed676892 100644 --- a/ci-operator/config/openshift/kubernetes/openshift-kubernetes-master.yaml +++ b/ci-operator/config/openshift/kubernetes/openshift-kubernetes-master.yaml @@ -513,8 +513,9 @@ tests: steps: cluster_profile: openshift-org-aws workflow: openshift-e2e-aws-crun -- always_run: false - as: perfscale-control-plane-6nodes +- as: perfscale-control-plane-6nodes + optional: true + skip_if_only_changed: ^docs/|^logo/|^test/|^\.github/|\.md$|^(?:.*/)?(?:\.gitignore|OWNERS|OWNERS_ALIASES|SECURITY_CONTACTS|LICENSE)$ steps: allow_skip_on_success: true cluster_profile: aws-perfscale-qe diff --git a/ci-operator/config/openshift/machine-config-operator/openshift-machine-config-operator-main.yaml b/ci-operator/config/openshift/machine-config-operator/openshift-machine-config-operator-main.yaml index 5b90b6fed1a1d..162d50eea768e 100644 --- a/ci-operator/config/openshift/machine-config-operator/openshift-machine-config-operator-main.yaml +++ b/ci-operator/config/openshift/machine-config-operator/openshift-machine-config-operator-main.yaml @@ -589,6 +589,23 @@ tests: test: - chain: hypershift-openstack-e2e workflow: hypershift-aws-e2e-nested +- as: perfscale-control-plane-6nodes + optional: true + skip_if_only_changed: ^docs/|^examples/|^manifests/|^templates/|^test/|^\.github/|\.md$|^(?:.*/)?(?:\.gitignore|OWNERS|OWNERS_ALIASES|LICENSE)$ + steps: + cluster_profile: aws-perfscale-qe + env: + BASE_DOMAIN: qe.devcluster.openshift.com + COMPUTE_NODE_REPLICAS: "6" + ENABLE_LOCAL_INDEX: "true" + ES_TYPE: qe + EXTRA_FLAGS: --churn-duration=20m --pod-ready-threshold=13s + ITERATION_MULTIPLIER_ENV: "15" + ZONES_COUNT: "3" + test: + - chain: openshift-qe-control-plane + - chain: openshift-qe-orion-consolidated + workflow: openshift-qe-installer-aws - as: security optional: true steps: diff --git a/ci-operator/config/openshift/multus-cni/openshift-multus-cni-main.yaml b/ci-operator/config/openshift/multus-cni/openshift-multus-cni-main.yaml index 41c649c4663d6..a979b8fb79742 100644 --- a/ci-operator/config/openshift/multus-cni/openshift-multus-cni-main.yaml +++ b/ci-operator/config/openshift/multus-cni/openshift-multus-cni-main.yaml @@ -96,6 +96,23 @@ tests: - chain: ipi-aws-pre - chain: create-infra-move-ingress-monitoring-registry workflow: openshift-qe-node-density-cni +- as: perfscale-control-plane-6nodes + optional: true + skip_if_only_changed: ^docs/|^e2e/|^examples/|^deployments/|^\.github/|\.md$|^(?:.*/)?(?:\.gitignore|OWNERS|OWNERS_ALIASES|PROJECT|LICENSE)$ + steps: + cluster_profile: aws-perfscale-qe + env: + BASE_DOMAIN: qe.devcluster.openshift.com + COMPUTE_NODE_REPLICAS: "6" + ENABLE_LOCAL_INDEX: "true" + ES_TYPE: qe + EXTRA_FLAGS: --churn-duration=20m --pod-ready-threshold=13s + ITERATION_MULTIPLIER_ENV: "15" + ZONES_COUNT: "3" + test: + - chain: openshift-qe-control-plane + - chain: openshift-qe-orion-consolidated + workflow: openshift-qe-installer-aws - as: security optional: true steps: diff --git a/ci-operator/config/openshift/ovn-kubernetes/openshift-ovn-kubernetes-main.yaml b/ci-operator/config/openshift/ovn-kubernetes/openshift-ovn-kubernetes-main.yaml index edec1dbba0c55..a46837192b520 100644 --- a/ci-operator/config/openshift/ovn-kubernetes/openshift-ovn-kubernetes-main.yaml +++ b/ci-operator/config/openshift/ovn-kubernetes/openshift-ovn-kubernetes-main.yaml @@ -398,8 +398,8 @@ tests: ALL_PROJECTS: "true" PROJECT_NAME: ovn-kubernetes workflow: openshift-ci-security -- always_run: true - as: qe-perfscale-payload-control-plane-6nodes +- as: qe-perfscale-payload-control-plane-6nodes + skip_if_only_changed: ^(docs|\.github|contrib|test|dist|helm|LICENSES)/|\.md$|^(\.gitignore|OWNERS|LICENSE|CODEOWNERS|\.coderabbit\.yml|crd-docs-config\.yaml|mkdocs\.yml|requirements\.txt)$ steps: cluster_profile: aws-perfscale-qe env: @@ -443,9 +443,9 @@ tests: - chain: ipi-aws-pre - chain: create-infra-move-ingress-monitoring-registry workflow: openshift-qe-udn-density-pods -- always_run: true - as: qe-perfscale-aws-ovn-small-udn-density-l3 +- as: qe-perfscale-aws-ovn-small-udn-density-l3 optional: true + skip_if_only_changed: ^(docs|\.github|contrib|test|dist|helm|LICENSES)/|\.md$|^(\.gitignore|OWNERS|LICENSE|CODEOWNERS|\.coderabbit\.yml|crd-docs-config\.yaml|mkdocs\.yml|requirements\.txt)$ steps: cluster_profile: aws-perfscale-qe env: @@ -461,9 +461,9 @@ tests: - chain: ipi-aws-pre - chain: create-infra-move-ingress-monitoring-registry workflow: openshift-qe-udn-density-pods -- always_run: true - as: qe-perfscale-aws-ovn-small-udn-density-l2 +- as: qe-perfscale-aws-ovn-small-udn-density-l2 optional: true + skip_if_only_changed: ^(docs|\.github|contrib|test|dist|helm|LICENSES)/|\.md$|^(\.gitignore|OWNERS|LICENSE|CODEOWNERS|\.coderabbit\.yml|crd-docs-config\.yaml|mkdocs\.yml|requirements\.txt)$ steps: cluster_profile: aws-perfscale-qe env: diff --git a/ci-operator/config/openshift/router/openshift-router-master.yaml b/ci-operator/config/openshift/router/openshift-router-master.yaml index 67681f4b53327..ec25e27ccbe51 100644 --- a/ci-operator/config/openshift/router/openshift-router-master.yaml +++ b/ci-operator/config/openshift/router/openshift-router-master.yaml @@ -238,9 +238,9 @@ tests: - ref: enable-node-coredumps - chain: ipi-azure-pre workflow: openshift-upgrade-azure -- always_run: false - as: perfscale-aws-ingress-perf +- as: perfscale-aws-ingress-perf optional: true + skip_if_only_changed: ^docs/|^example/|^deploy/|^hack/|\.md$|^(?:.*/)?(?:\.gitignore|OWNERS|OWNERS_ALIASES|PROJECT|LICENSE)$ steps: cluster_profile: aws-perfscale env: diff --git a/ci-operator/jobs/openshift/cri-o/openshift-cri-o-main-presubmits.yaml b/ci-operator/jobs/openshift/cri-o/openshift-cri-o-main-presubmits.yaml index f52e14878279d..237820f6567d8 100644 --- a/ci-operator/jobs/openshift/cri-o/openshift-cri-o-main-presubmits.yaml +++ b/ci-operator/jobs/openshift/cri-o/openshift-cri-o-main-presubmits.yaml @@ -239,7 +239,9 @@ presubmits: ci.openshift.io/generator: prowgen pj-rehearse.openshift.io/can-be-rehearsed: "true" name: pull-ci-openshift-cri-o-main-perfscale-control-plane-6nodes + optional: true rerun_command: /test perfscale-control-plane-6nodes + skip_if_only_changed: ^(?:docs|tutorials|logo|test|contrib|scripts|\.github)/|\.md$|^(?:\.gitignore|OWNERS|OWNERS_ALIASES|SECURITY_CONTACTS|PROJECT|LICENSE)$ spec: containers: - args: @@ -304,4 +306,4 @@ presubmits: - name: result-aggregator secret: secretName: result-aggregator - trigger: (?m)^/test( | .* )(perfscale-control-plane-6nodes|remaining-required),?($|\s.*) + trigger: (?m)^/test( | .* )perfscale-control-plane-6nodes,?($|\s.*) diff --git a/ci-operator/jobs/openshift/etcd/openshift-etcd-main-presubmits.yaml b/ci-operator/jobs/openshift/etcd/openshift-etcd-main-presubmits.yaml index e0df7a71432f7..298a7ce8508dd 100644 --- a/ci-operator/jobs/openshift/etcd/openshift-etcd-main-presubmits.yaml +++ b/ci-operator/jobs/openshift/etcd/openshift-etcd-main-presubmits.yaml @@ -834,6 +834,7 @@ presubmits: optional: true path_alias: go.etcd.io/etcd rerun_command: /test perfscale-payload-control-plane-6nodes + skip_if_only_changed: ^docs/|^Documentation/|^logos/|^contrib/|^tests/|^scripts/|^\.github/|\.md$|^(?:.*/)?(?:\.gitignore|OWNERS|OWNERS_ALIASES|LICENSE)$ spec: containers: - args: diff --git a/ci-operator/jobs/openshift/kubernetes/openshift-kubernetes-master-presubmits.yaml b/ci-operator/jobs/openshift/kubernetes/openshift-kubernetes-master-presubmits.yaml index 2f339c9e776a5..5e588871b3bc3 100644 --- a/ci-operator/jobs/openshift/kubernetes/openshift-kubernetes-master-presubmits.yaml +++ b/ci-operator/jobs/openshift/kubernetes/openshift-kubernetes-master-presubmits.yaml @@ -3770,8 +3770,10 @@ presubmits: ci.openshift.io/generator: prowgen pj-rehearse.openshift.io/can-be-rehearsed: "true" name: pull-ci-openshift-kubernetes-master-perfscale-control-plane-6nodes + optional: true path_alias: k8s.io/kubernetes rerun_command: /test perfscale-control-plane-6nodes + skip_if_only_changed: ^docs/|^logo/|^test/|^\.github/|\.md$|^(?:.*/)?(?:\.gitignore|OWNERS|OWNERS_ALIASES|SECURITY_CONTACTS|LICENSE)$ spec: containers: - args: @@ -3836,7 +3838,7 @@ presubmits: - name: result-aggregator secret: secretName: result-aggregator - trigger: (?m)^/test( | .* )(perfscale-control-plane-6nodes|remaining-required),?($|\s.*) + trigger: (?m)^/test( | .* )perfscale-control-plane-6nodes,?($|\s.*) - agent: kubernetes always_run: true branches: diff --git a/ci-operator/jobs/openshift/machine-config-operator/openshift-machine-config-operator-main-presubmits.yaml b/ci-operator/jobs/openshift/machine-config-operator/openshift-machine-config-operator-main-presubmits.yaml index cf9a2f22c1a79..4aafa0bf17d0a 100644 --- a/ci-operator/jobs/openshift/machine-config-operator/openshift-machine-config-operator-main-presubmits.yaml +++ b/ci-operator/jobs/openshift/machine-config-operator/openshift-machine-config-operator-main-presubmits.yaml @@ -5401,6 +5401,92 @@ presubmits: secret: secretName: result-aggregator trigger: (?m)^/test( | .* )okd-scos-images,?($|\s.*) + - agent: kubernetes + always_run: false + branches: + - ^main$ + - ^main- + cluster: build10 + context: ci/prow/perfscale-control-plane-6nodes + decorate: true + decoration_config: + sparse_checkout_files: + - .ci-operator.yaml + - Dockerfile.rhel7 + labels: + ci-operator.openshift.io/cloud: aws + ci-operator.openshift.io/cloud-cluster-profile: aws-perfscale-qe + ci.openshift.io/generator: prowgen + pj-rehearse.openshift.io/can-be-rehearsed: "true" + name: pull-ci-openshift-machine-config-operator-main-perfscale-control-plane-6nodes + optional: true + rerun_command: /test perfscale-control-plane-6nodes + skip_if_only_changed: ^docs/|^examples/|^manifests/|^templates/|^test/|^\.github/|\.md$|^(?:.*/)?(?:\.gitignore|OWNERS|OWNERS_ALIASES|LICENSE)$ + spec: + containers: + - args: + - --gcs-upload-secret=/secrets/gcs/service-account.json + - --image-import-pull-secret=/etc/pull-secret/.dockerconfigjson + - --lease-server-credentials-file=/etc/boskos/credentials + - --report-credentials-file=/etc/report/credentials + - --secret-dir=/secrets/ci-pull-credentials + - --target=perfscale-control-plane-6nodes + command: + - ci-operator + env: + - name: HTTP_SERVER_IP + valueFrom: + fieldRef: + fieldPath: status.podIP + image: quay-proxy.ci.openshift.org/openshift/ci:ci_ci-operator_latest + imagePullPolicy: Always + name: "" + ports: + - containerPort: 8080 + name: http + resources: + requests: + cpu: 10m + volumeMounts: + - mountPath: /etc/boskos + name: boskos + readOnly: true + - mountPath: /secrets/ci-pull-credentials + name: ci-pull-credentials + readOnly: true + - mountPath: /secrets/gcs + name: gcs-credentials + readOnly: true + - mountPath: /secrets/manifest-tool + name: manifest-tool-local-pusher + readOnly: true + - mountPath: /etc/pull-secret + name: pull-secret + readOnly: true + - mountPath: /etc/report + name: result-aggregator + readOnly: true + serviceAccountName: ci-operator + volumes: + - name: boskos + secret: + items: + - key: credentials + path: credentials + secretName: boskos-credentials + - name: ci-pull-credentials + secret: + secretName: ci-pull-credentials + - name: manifest-tool-local-pusher + secret: + secretName: manifest-tool-local-pusher + - name: pull-secret + secret: + secretName: registry-pull-credentials + - name: result-aggregator + secret: + secretName: result-aggregator + trigger: (?m)^/test( | .* )perfscale-control-plane-6nodes,?($|\s.*) - agent: kubernetes always_run: true branches: diff --git a/ci-operator/jobs/openshift/multus-cni/openshift-multus-cni-main-presubmits.yaml b/ci-operator/jobs/openshift/multus-cni/openshift-multus-cni-main-presubmits.yaml index 535847397e6c3..ecbd7d53d4c63 100644 --- a/ci-operator/jobs/openshift/multus-cni/openshift-multus-cni-main-presubmits.yaml +++ b/ci-operator/jobs/openshift/multus-cni/openshift-multus-cni-main-presubmits.yaml @@ -376,6 +376,93 @@ presubmits: secret: secretName: result-aggregator trigger: (?m)^/test( | .* )okd-scos-images,?($|\s.*) + - agent: kubernetes + always_run: false + branches: + - ^main$ + - ^main- + cluster: build03 + context: ci/prow/perfscale-control-plane-6nodes + decorate: true + decoration_config: + sparse_checkout_files: + - .ci-operator.yaml + - Dockerfile.microshift + - Dockerfile.openshift + labels: + ci-operator.openshift.io/cloud: aws + ci-operator.openshift.io/cloud-cluster-profile: aws-perfscale-qe + ci.openshift.io/generator: prowgen + pj-rehearse.openshift.io/can-be-rehearsed: "true" + name: pull-ci-openshift-multus-cni-main-perfscale-control-plane-6nodes + optional: true + rerun_command: /test perfscale-control-plane-6nodes + skip_if_only_changed: ^docs/|^e2e/|^examples/|^deployments/|^\.github/|\.md$|^(?:.*/)?(?:\.gitignore|OWNERS|OWNERS_ALIASES|PROJECT|LICENSE)$ + spec: + containers: + - args: + - --gcs-upload-secret=/secrets/gcs/service-account.json + - --image-import-pull-secret=/etc/pull-secret/.dockerconfigjson + - --lease-server-credentials-file=/etc/boskos/credentials + - --report-credentials-file=/etc/report/credentials + - --secret-dir=/secrets/ci-pull-credentials + - --target=perfscale-control-plane-6nodes + command: + - ci-operator + env: + - name: HTTP_SERVER_IP + valueFrom: + fieldRef: + fieldPath: status.podIP + image: quay-proxy.ci.openshift.org/openshift/ci:ci_ci-operator_latest + imagePullPolicy: Always + name: "" + ports: + - containerPort: 8080 + name: http + resources: + requests: + cpu: 10m + volumeMounts: + - mountPath: /etc/boskos + name: boskos + readOnly: true + - mountPath: /secrets/ci-pull-credentials + name: ci-pull-credentials + readOnly: true + - mountPath: /secrets/gcs + name: gcs-credentials + readOnly: true + - mountPath: /secrets/manifest-tool + name: manifest-tool-local-pusher + readOnly: true + - mountPath: /etc/pull-secret + name: pull-secret + readOnly: true + - mountPath: /etc/report + name: result-aggregator + readOnly: true + serviceAccountName: ci-operator + volumes: + - name: boskos + secret: + items: + - key: credentials + path: credentials + secretName: boskos-credentials + - name: ci-pull-credentials + secret: + secretName: ci-pull-credentials + - name: manifest-tool-local-pusher + secret: + secretName: manifest-tool-local-pusher + - name: pull-secret + secret: + secretName: registry-pull-credentials + - name: result-aggregator + secret: + secretName: result-aggregator + trigger: (?m)^/test( | .* )perfscale-control-plane-6nodes,?($|\s.*) - agent: kubernetes always_run: false branches: diff --git a/ci-operator/jobs/openshift/ovn-kubernetes/openshift-ovn-kubernetes-main-presubmits.yaml b/ci-operator/jobs/openshift/ovn-kubernetes/openshift-ovn-kubernetes-main-presubmits.yaml index 44ef50ec48fa3..5fab50549a08e 100644 --- a/ci-operator/jobs/openshift/ovn-kubernetes/openshift-ovn-kubernetes-main-presubmits.yaml +++ b/ci-operator/jobs/openshift/ovn-kubernetes/openshift-ovn-kubernetes-main-presubmits.yaml @@ -5564,7 +5564,7 @@ presubmits: secretName: result-aggregator trigger: (?m)^/test( | .* )qe-perfscale-aws-ovn-small-udn-density-churn-l3,?($|\s.*) - agent: kubernetes - always_run: true + always_run: false branches: - ^main$ - ^main- @@ -5585,6 +5585,7 @@ presubmits: name: pull-ci-openshift-ovn-kubernetes-main-qe-perfscale-aws-ovn-small-udn-density-l2 optional: true rerun_command: /test qe-perfscale-aws-ovn-small-udn-density-l2 + skip_if_only_changed: ^(docs|\.github|contrib|test|dist|helm|LICENSES)/|\.md$|^(\.gitignore|OWNERS|LICENSE|CODEOWNERS|\.coderabbit\.yml|crd-docs-config\.yaml|mkdocs\.yml|requirements\.txt)$ spec: containers: - args: @@ -5651,7 +5652,7 @@ presubmits: secretName: result-aggregator trigger: (?m)^/test( | .* )qe-perfscale-aws-ovn-small-udn-density-l2,?($|\s.*) - agent: kubernetes - always_run: true + always_run: false branches: - ^main$ - ^main- @@ -5672,6 +5673,7 @@ presubmits: name: pull-ci-openshift-ovn-kubernetes-main-qe-perfscale-aws-ovn-small-udn-density-l3 optional: true rerun_command: /test qe-perfscale-aws-ovn-small-udn-density-l3 + skip_if_only_changed: ^(docs|\.github|contrib|test|dist|helm|LICENSES)/|\.md$|^(\.gitignore|OWNERS|LICENSE|CODEOWNERS|\.coderabbit\.yml|crd-docs-config\.yaml|mkdocs\.yml|requirements\.txt)$ spec: containers: - args: @@ -5738,7 +5740,7 @@ presubmits: secretName: result-aggregator trigger: (?m)^/test( | .* )qe-perfscale-aws-ovn-small-udn-density-l3,?($|\s.*) - agent: kubernetes - always_run: true + always_run: false branches: - ^main$ - ^main- @@ -5758,6 +5760,7 @@ presubmits: pj-rehearse.openshift.io/can-be-rehearsed: "true" name: pull-ci-openshift-ovn-kubernetes-main-qe-perfscale-payload-control-plane-6nodes rerun_command: /test qe-perfscale-payload-control-plane-6nodes + skip_if_only_changed: ^(docs|\.github|contrib|test|dist|helm|LICENSES)/|\.md$|^(\.gitignore|OWNERS|LICENSE|CODEOWNERS|\.coderabbit\.yml|crd-docs-config\.yaml|mkdocs\.yml|requirements\.txt)$ spec: containers: - args: diff --git a/ci-operator/jobs/openshift/router/openshift-router-master-presubmits.yaml b/ci-operator/jobs/openshift/router/openshift-router-master-presubmits.yaml index 082b0bf37a459..4c1aa7c3c6d5f 100644 --- a/ci-operator/jobs/openshift/router/openshift-router-master-presubmits.yaml +++ b/ci-operator/jobs/openshift/router/openshift-router-master-presubmits.yaml @@ -1471,6 +1471,7 @@ presubmits: name: pull-ci-openshift-router-master-perfscale-aws-ingress-perf optional: true rerun_command: /test perfscale-aws-ingress-perf + skip_if_only_changed: ^docs/|^example/|^deploy/|^hack/|\.md$|^(?:.*/)?(?:\.gitignore|OWNERS|OWNERS_ALIASES|PROJECT|LICENSE)$ spec: containers: - args: From 9d46e3763b94972e5c6a1d019a3154227d20fa86 Mon Sep 17 00:00:00 2001 From: Mohit Sheth Date: Thu, 25 Jun 2026 14:55:15 -0400 Subject: [PATCH 2/3] Remove manifests/ and templates/ from MCO perfscale skip filter These directories contain runtime deployment manifests (daemonsets, RBAC, controller configs) and platform-specific MachineConfig templates that directly affect how MCO operates on the cluster. Changes there could impact control-plane performance and should not be skipped. Signed-off-by: Mohit Sheth --- .../openshift-machine-config-operator-main.yaml | 2 +- .../openshift-machine-config-operator-main-presubmits.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ci-operator/config/openshift/machine-config-operator/openshift-machine-config-operator-main.yaml b/ci-operator/config/openshift/machine-config-operator/openshift-machine-config-operator-main.yaml index 162d50eea768e..723f55e4163f3 100644 --- a/ci-operator/config/openshift/machine-config-operator/openshift-machine-config-operator-main.yaml +++ b/ci-operator/config/openshift/machine-config-operator/openshift-machine-config-operator-main.yaml @@ -591,7 +591,7 @@ tests: workflow: hypershift-aws-e2e-nested - as: perfscale-control-plane-6nodes optional: true - skip_if_only_changed: ^docs/|^examples/|^manifests/|^templates/|^test/|^\.github/|\.md$|^(?:.*/)?(?:\.gitignore|OWNERS|OWNERS_ALIASES|LICENSE)$ + skip_if_only_changed: ^docs/|^examples/|^test/|^\.github/|\.md$|^(?:.*/)?(?:\.gitignore|OWNERS|OWNERS_ALIASES|LICENSE)$ steps: cluster_profile: aws-perfscale-qe env: diff --git a/ci-operator/jobs/openshift/machine-config-operator/openshift-machine-config-operator-main-presubmits.yaml b/ci-operator/jobs/openshift/machine-config-operator/openshift-machine-config-operator-main-presubmits.yaml index 4aafa0bf17d0a..fe52a344f75e3 100644 --- a/ci-operator/jobs/openshift/machine-config-operator/openshift-machine-config-operator-main-presubmits.yaml +++ b/ci-operator/jobs/openshift/machine-config-operator/openshift-machine-config-operator-main-presubmits.yaml @@ -5421,7 +5421,7 @@ presubmits: name: pull-ci-openshift-machine-config-operator-main-perfscale-control-plane-6nodes optional: true rerun_command: /test perfscale-control-plane-6nodes - skip_if_only_changed: ^docs/|^examples/|^manifests/|^templates/|^test/|^\.github/|\.md$|^(?:.*/)?(?:\.gitignore|OWNERS|OWNERS_ALIASES|LICENSE)$ + skip_if_only_changed: ^docs/|^examples/|^test/|^\.github/|\.md$|^(?:.*/)?(?:\.gitignore|OWNERS|OWNERS_ALIASES|LICENSE)$ spec: containers: - args: From d560520917cdc8a9092ce132f9bc647931b1fdb1 Mon Sep 17 00:00:00 2001 From: Mohit Sheth Date: Wed, 15 Jul 2026 10:14:51 -0400 Subject: [PATCH 3/3] Align perfscale control-plane-6nodes env with 5.0 mainline payload test Update env vars and test steps across cri-o, etcd, kubernetes, mco, and multus-cni to match the mainline payload-control-plane-6nodes config in openshift-eng/ocp-qe-perfscale-ci. Adds workers-scale step, orion consolidated chain, and all CDv2/ND/UDN env vars. Assisted-by: Claude Signed-off-by: Mohit Sheth --- .../openshift/cri-o/openshift-cri-o-main.yaml | 17 +++++++++++--- .../openshift/etcd/openshift-etcd-main.yaml | 22 +++++++++++++++---- .../openshift-kubernetes-master.yaml | 17 +++++++++++--- ...penshift-machine-config-operator-main.yaml | 18 ++++++++++++--- .../multus-cni/openshift-multus-cni-main.yaml | 18 ++++++++++++--- .../etcd/openshift-etcd-main-presubmits.yaml | 10 ++++----- 6 files changed, 81 insertions(+), 21 deletions(-) diff --git a/ci-operator/config/openshift/cri-o/openshift-cri-o-main.yaml b/ci-operator/config/openshift/cri-o/openshift-cri-o-main.yaml index 28ebbfe46a737..6563513b61c8c 100644 --- a/ci-operator/config/openshift/cri-o/openshift-cri-o-main.yaml +++ b/ci-operator/config/openshift/cri-o/openshift-cri-o-main.yaml @@ -87,14 +87,25 @@ tests: allow_skip_on_success: true cluster_profile: aws-perfscale-qe env: + ADDITIONAL_WORKER_NODES: "3" BASE_DOMAIN: qe.devcluster.openshift.com - COMPUTE_NODE_REPLICAS: "6" + CD_V2_EXTRA_FLAGS: --churn-duration=20m --pod-ready-threshold=20s --service-latency + CDV2_ITERATION_MULTIPLIER: "15" + ENABLE_LAYER_3: "false" ENABLE_LOCAL_INDEX: "true" ES_TYPE: qe - EXTRA_FLAGS: --churn-duration=20m --pod-ready-threshold=13s - ITERATION_MULTIPLIER_ENV: "15" + IGNORE_JOB_ITERATIONS: "true" + KB_FLAGS: --local-indexing + ND_CNI_EXTRA_FLAGS: --churn-mode=objects --churn-delay=1m --churn-percent=50 + --churn-cycles=2 + ND_EXTRA_FLAGS: --churn-mode=objects --churn-delay=1m --churn-percent=50 --churn-cycles=2 + OUTPUT_FORMAT: JUNIT + RUN_ORION: deferred + UDN_ITERATION_MULTIPLIER: "12" + VERSION: "5.0" ZONES_COUNT: "3" test: + - ref: openshift-qe-workers-scale - chain: openshift-qe-control-plane - chain: openshift-qe-orion-consolidated workflow: openshift-qe-installer-aws diff --git a/ci-operator/config/openshift/etcd/openshift-etcd-main.yaml b/ci-operator/config/openshift/etcd/openshift-etcd-main.yaml index 022e29a8169a5..f9e7631a73a6d 100644 --- a/ci-operator/config/openshift/etcd/openshift-etcd-main.yaml +++ b/ci-operator/config/openshift/etcd/openshift-etcd-main.yaml @@ -90,20 +90,34 @@ tests: steps: cluster_profile: hypershift-aws workflow: hypershift-aws-conformance -- as: perfscale-payload-control-plane-6nodes +- as: perfscale-control-plane-6nodes optional: true skip_if_only_changed: ^docs/|^Documentation/|^logos/|^contrib/|^tests/|^scripts/|^\.github/|\.md$|^(?:.*/)?(?:\.gitignore|OWNERS|OWNERS_ALIASES|LICENSE)$ steps: + allow_skip_on_success: true cluster_profile: aws-perfscale-qe env: + ADDITIONAL_WORKER_NODES: "3" BASE_DOMAIN: qe.devcluster.openshift.com - COMPUTE_NODE_REPLICAS: "6" + CD_V2_EXTRA_FLAGS: --churn-duration=20m --pod-ready-threshold=20s --service-latency + CDV2_ITERATION_MULTIPLIER: "15" + ENABLE_LAYER_3: "false" ENABLE_LOCAL_INDEX: "true" - EXTRA_FLAGS: --churn-duration=20m --pod-ready-threshold=20s - ITERATION_MULTIPLIER_ENV: "15" + ES_TYPE: qe + IGNORE_JOB_ITERATIONS: "true" + KB_FLAGS: --local-indexing + ND_CNI_EXTRA_FLAGS: --churn-mode=objects --churn-delay=1m --churn-percent=50 + --churn-cycles=2 + ND_EXTRA_FLAGS: --churn-mode=objects --churn-delay=1m --churn-percent=50 --churn-cycles=2 + OUTPUT_FORMAT: JUNIT + RUN_ORION: deferred + UDN_ITERATION_MULTIPLIER: "12" + VERSION: "5.0" ZONES_COUNT: "3" test: + - ref: openshift-qe-workers-scale - chain: openshift-qe-control-plane + - chain: openshift-qe-orion-consolidated workflow: openshift-qe-installer-aws zz_generated_metadata: branch: main diff --git a/ci-operator/config/openshift/kubernetes/openshift-kubernetes-master.yaml b/ci-operator/config/openshift/kubernetes/openshift-kubernetes-master.yaml index ed053ed676892..cf2585ca074fd 100644 --- a/ci-operator/config/openshift/kubernetes/openshift-kubernetes-master.yaml +++ b/ci-operator/config/openshift/kubernetes/openshift-kubernetes-master.yaml @@ -520,14 +520,25 @@ tests: allow_skip_on_success: true cluster_profile: aws-perfscale-qe env: + ADDITIONAL_WORKER_NODES: "3" BASE_DOMAIN: qe.devcluster.openshift.com - COMPUTE_NODE_REPLICAS: "6" + CD_V2_EXTRA_FLAGS: --churn-duration=20m --pod-ready-threshold=20s --service-latency + CDV2_ITERATION_MULTIPLIER: "15" + ENABLE_LAYER_3: "false" ENABLE_LOCAL_INDEX: "true" ES_TYPE: qe - EXTRA_FLAGS: --churn-duration=20m --pod-ready-threshold=13s - ITERATION_MULTIPLIER_ENV: "15" + IGNORE_JOB_ITERATIONS: "true" + KB_FLAGS: --local-indexing + ND_CNI_EXTRA_FLAGS: --churn-mode=objects --churn-delay=1m --churn-percent=50 + --churn-cycles=2 + ND_EXTRA_FLAGS: --churn-mode=objects --churn-delay=1m --churn-percent=50 --churn-cycles=2 + OUTPUT_FORMAT: JUNIT + RUN_ORION: deferred + UDN_ITERATION_MULTIPLIER: "12" + VERSION: "5.0" ZONES_COUNT: "3" test: + - ref: openshift-qe-workers-scale - chain: openshift-qe-control-plane - chain: openshift-qe-orion-consolidated workflow: openshift-qe-installer-aws diff --git a/ci-operator/config/openshift/machine-config-operator/openshift-machine-config-operator-main.yaml b/ci-operator/config/openshift/machine-config-operator/openshift-machine-config-operator-main.yaml index 723f55e4163f3..b3e33c8e201e1 100644 --- a/ci-operator/config/openshift/machine-config-operator/openshift-machine-config-operator-main.yaml +++ b/ci-operator/config/openshift/machine-config-operator/openshift-machine-config-operator-main.yaml @@ -593,16 +593,28 @@ tests: optional: true skip_if_only_changed: ^docs/|^examples/|^test/|^\.github/|\.md$|^(?:.*/)?(?:\.gitignore|OWNERS|OWNERS_ALIASES|LICENSE)$ steps: + allow_skip_on_success: true cluster_profile: aws-perfscale-qe env: + ADDITIONAL_WORKER_NODES: "3" BASE_DOMAIN: qe.devcluster.openshift.com - COMPUTE_NODE_REPLICAS: "6" + CD_V2_EXTRA_FLAGS: --churn-duration=20m --pod-ready-threshold=20s --service-latency + CDV2_ITERATION_MULTIPLIER: "15" + ENABLE_LAYER_3: "false" ENABLE_LOCAL_INDEX: "true" ES_TYPE: qe - EXTRA_FLAGS: --churn-duration=20m --pod-ready-threshold=13s - ITERATION_MULTIPLIER_ENV: "15" + IGNORE_JOB_ITERATIONS: "true" + KB_FLAGS: --local-indexing + ND_CNI_EXTRA_FLAGS: --churn-mode=objects --churn-delay=1m --churn-percent=50 + --churn-cycles=2 + ND_EXTRA_FLAGS: --churn-mode=objects --churn-delay=1m --churn-percent=50 --churn-cycles=2 + OUTPUT_FORMAT: JUNIT + RUN_ORION: deferred + UDN_ITERATION_MULTIPLIER: "12" + VERSION: "5.0" ZONES_COUNT: "3" test: + - ref: openshift-qe-workers-scale - chain: openshift-qe-control-plane - chain: openshift-qe-orion-consolidated workflow: openshift-qe-installer-aws diff --git a/ci-operator/config/openshift/multus-cni/openshift-multus-cni-main.yaml b/ci-operator/config/openshift/multus-cni/openshift-multus-cni-main.yaml index a979b8fb79742..97097d95e1133 100644 --- a/ci-operator/config/openshift/multus-cni/openshift-multus-cni-main.yaml +++ b/ci-operator/config/openshift/multus-cni/openshift-multus-cni-main.yaml @@ -100,16 +100,28 @@ tests: optional: true skip_if_only_changed: ^docs/|^e2e/|^examples/|^deployments/|^\.github/|\.md$|^(?:.*/)?(?:\.gitignore|OWNERS|OWNERS_ALIASES|PROJECT|LICENSE)$ steps: + allow_skip_on_success: true cluster_profile: aws-perfscale-qe env: + ADDITIONAL_WORKER_NODES: "3" BASE_DOMAIN: qe.devcluster.openshift.com - COMPUTE_NODE_REPLICAS: "6" + CD_V2_EXTRA_FLAGS: --churn-duration=20m --pod-ready-threshold=20s --service-latency + CDV2_ITERATION_MULTIPLIER: "15" + ENABLE_LAYER_3: "false" ENABLE_LOCAL_INDEX: "true" ES_TYPE: qe - EXTRA_FLAGS: --churn-duration=20m --pod-ready-threshold=13s - ITERATION_MULTIPLIER_ENV: "15" + IGNORE_JOB_ITERATIONS: "true" + KB_FLAGS: --local-indexing + ND_CNI_EXTRA_FLAGS: --churn-mode=objects --churn-delay=1m --churn-percent=50 + --churn-cycles=2 + ND_EXTRA_FLAGS: --churn-mode=objects --churn-delay=1m --churn-percent=50 --churn-cycles=2 + OUTPUT_FORMAT: JUNIT + RUN_ORION: deferred + UDN_ITERATION_MULTIPLIER: "12" + VERSION: "5.0" ZONES_COUNT: "3" test: + - ref: openshift-qe-workers-scale - chain: openshift-qe-control-plane - chain: openshift-qe-orion-consolidated workflow: openshift-qe-installer-aws diff --git a/ci-operator/jobs/openshift/etcd/openshift-etcd-main-presubmits.yaml b/ci-operator/jobs/openshift/etcd/openshift-etcd-main-presubmits.yaml index 298a7ce8508dd..5147527ea0b37 100644 --- a/ci-operator/jobs/openshift/etcd/openshift-etcd-main-presubmits.yaml +++ b/ci-operator/jobs/openshift/etcd/openshift-etcd-main-presubmits.yaml @@ -818,7 +818,7 @@ presubmits: - ^main$ - ^main- cluster: build06 - context: ci/prow/perfscale-payload-control-plane-6nodes + context: ci/prow/perfscale-control-plane-6nodes decorate: true decoration_config: sparse_checkout_files: @@ -830,10 +830,10 @@ presubmits: ci-operator.openshift.io/cloud-cluster-profile: aws-perfscale-qe ci.openshift.io/generator: prowgen pj-rehearse.openshift.io/can-be-rehearsed: "true" - name: pull-ci-openshift-etcd-main-perfscale-payload-control-plane-6nodes + name: pull-ci-openshift-etcd-main-perfscale-control-plane-6nodes optional: true path_alias: go.etcd.io/etcd - rerun_command: /test perfscale-payload-control-plane-6nodes + rerun_command: /test perfscale-control-plane-6nodes skip_if_only_changed: ^docs/|^Documentation/|^logos/|^contrib/|^tests/|^scripts/|^\.github/|\.md$|^(?:.*/)?(?:\.gitignore|OWNERS|OWNERS_ALIASES|LICENSE)$ spec: containers: @@ -843,7 +843,7 @@ presubmits: - --lease-server-credentials-file=/etc/boskos/credentials - --report-credentials-file=/etc/report/credentials - --secret-dir=/secrets/ci-pull-credentials - - --target=perfscale-payload-control-plane-6nodes + - --target=perfscale-control-plane-6nodes command: - ci-operator env: @@ -899,7 +899,7 @@ presubmits: - name: result-aggregator secret: secretName: result-aggregator - trigger: (?m)^/test( | .* )perfscale-payload-control-plane-6nodes,?($|\s.*) + trigger: (?m)^/test( | .* )perfscale-control-plane-6nodes,?($|\s.*) - agent: kubernetes always_run: true branches: