From 7414f9ae49a4b5415b1cd416984ebb4ae59ef296 Mon Sep 17 00:00:00 2001 From: Zane Bitter Date: Thu, 6 Aug 2026 11:57:05 +1200 Subject: [PATCH 1/3] Use appropriate branch configuration for OVE ISO builder The original agent-preinstall-image-builder built from the appliance repo was branchless, but the OVE installer ISO base images are built from the various release branches for each OpenShift version. Therefore we need the same branch configuration for backports as other OCP repos. --- .../openshift/appliance/_prowconfig.yaml | 47 +++++++++++++++++-- 1 file changed, 44 insertions(+), 3 deletions(-) diff --git a/core-services/prow/02_config/openshift/appliance/_prowconfig.yaml b/core-services/prow/02_config/openshift/appliance/_prowconfig.yaml index 3c877a4aa1b5..023a39d57e52 100644 --- a/core-services/prow/02_config/openshift/appliance/_prowconfig.yaml +++ b/core-services/prow/02_config/openshift/appliance/_prowconfig.yaml @@ -1,10 +1,51 @@ tide: - merge_method: - openshift/appliance: squash queries: - - labels: + - includedBranches: + - release-4.20 + - release-4.21 + - release-4.22 + labels: - approved + - backport-risk-assessed + - jira/valid-bug + - jira/valid-reference - lgtm + - verified + missingLabels: + - backports/unvalidated-commits + - do-not-merge/hold + - do-not-merge/invalid-owners-file + - do-not-merge/work-in-progress + - jira/invalid-bug + - needs-rebase + repos: + - openshift/appliance + - includedBranches: + - release-5.0 + labels: + - approved + - backport-risk-assessed + - jira/valid-bug + - jira/valid-reference + - lgtm + - verified + missingLabels: + - backports/unvalidated-commits + - do-not-merge/hold + - do-not-merge/invalid-owners-file + - do-not-merge/work-in-progress + - jira/invalid-bug + - needs-rebase + repos: + - openshift/appliance + - includedBranches: + - main + - master + labels: + - approved + - jira/valid-reference + - lgtm + - verified missingLabels: - backports/unvalidated-commits - do-not-merge/hold From dc0240cf50f70869ab67d3116e9eb3f4a3a6c3ab Mon Sep 17 00:00:00 2001 From: Zane Bitter Date: Thu, 6 Aug 2026 17:50:01 +1200 Subject: [PATCH 2/3] Do not promote ubi9-minimal-entitled This is an intermediate image, and should not be promoted. --- .../openshift/appliance/openshift-appliance-master.yaml | 4 +++- .../openshift/appliance/openshift-appliance-release-4.21.yaml | 4 +++- .../openshift/appliance/openshift-appliance-release-4.22.yaml | 4 +++- .../openshift/appliance/openshift-appliance-release-4.23.yaml | 4 +++- .../openshift/appliance/openshift-appliance-release-5.0.yaml | 4 +++- .../openshift/appliance/openshift-appliance-release-5.1.yaml | 2 ++ .../openshift/appliance/openshift-appliance-release-5.2.yaml | 4 +++- 7 files changed, 20 insertions(+), 6 deletions(-) diff --git a/ci-operator/config/openshift/appliance/openshift-appliance-master.yaml b/ci-operator/config/openshift/appliance/openshift-appliance-master.yaml index 8dfb93b440ab..2dfc7aa7891c 100644 --- a/ci-operator/config/openshift/appliance/openshift-appliance-master.yaml +++ b/ci-operator/config/openshift/appliance/openshift-appliance-master.yaml @@ -18,7 +18,9 @@ images: to: agent-preinstall-image-builder promotion: to: - - name: "5.1" + - excluded_images: + - ubi9-minimal-entitled + name: "5.1" namespace: ocp releases: initial: diff --git a/ci-operator/config/openshift/appliance/openshift-appliance-release-4.21.yaml b/ci-operator/config/openshift/appliance/openshift-appliance-release-4.21.yaml index 01e3543bba0c..a2cec7f85231 100644 --- a/ci-operator/config/openshift/appliance/openshift-appliance-release-4.21.yaml +++ b/ci-operator/config/openshift/appliance/openshift-appliance-release-4.21.yaml @@ -18,7 +18,9 @@ images: to: agent-preinstall-image-builder promotion: to: - - name: "4.21" + - excluded_images: + - ubi9-minimal-entitled + name: "4.21" namespace: ocp releases: initial: diff --git a/ci-operator/config/openshift/appliance/openshift-appliance-release-4.22.yaml b/ci-operator/config/openshift/appliance/openshift-appliance-release-4.22.yaml index a613017186ca..b3d08cdff894 100644 --- a/ci-operator/config/openshift/appliance/openshift-appliance-release-4.22.yaml +++ b/ci-operator/config/openshift/appliance/openshift-appliance-release-4.22.yaml @@ -18,7 +18,9 @@ images: to: agent-preinstall-image-builder promotion: to: - - name: "4.22" + - excluded_images: + - ubi9-minimal-entitled + name: "4.22" namespace: ocp releases: initial: diff --git a/ci-operator/config/openshift/appliance/openshift-appliance-release-4.23.yaml b/ci-operator/config/openshift/appliance/openshift-appliance-release-4.23.yaml index 54f61a26da1d..281d9d53d176 100644 --- a/ci-operator/config/openshift/appliance/openshift-appliance-release-4.23.yaml +++ b/ci-operator/config/openshift/appliance/openshift-appliance-release-4.23.yaml @@ -18,7 +18,9 @@ images: to: agent-preinstall-image-builder promotion: to: - - name: "4.23" + - excluded_images: + - ubi9-minimal-entitled + name: "4.23" namespace: ocp releases: initial: diff --git a/ci-operator/config/openshift/appliance/openshift-appliance-release-5.0.yaml b/ci-operator/config/openshift/appliance/openshift-appliance-release-5.0.yaml index b38694dc2a3e..fde84105d5a0 100644 --- a/ci-operator/config/openshift/appliance/openshift-appliance-release-5.0.yaml +++ b/ci-operator/config/openshift/appliance/openshift-appliance-release-5.0.yaml @@ -18,7 +18,9 @@ images: to: agent-preinstall-image-builder promotion: to: - - name: "5.0" + - excluded_images: + - ubi9-minimal-entitled + name: "5.0" namespace: ocp releases: initial: diff --git a/ci-operator/config/openshift/appliance/openshift-appliance-release-5.1.yaml b/ci-operator/config/openshift/appliance/openshift-appliance-release-5.1.yaml index f219e0198b42..acf6013d9190 100644 --- a/ci-operator/config/openshift/appliance/openshift-appliance-release-5.1.yaml +++ b/ci-operator/config/openshift/appliance/openshift-appliance-release-5.1.yaml @@ -19,6 +19,8 @@ images: promotion: to: - disabled: true + excluded_images: + - ubi9-minimal-entitled name: "5.1" namespace: ocp releases: diff --git a/ci-operator/config/openshift/appliance/openshift-appliance-release-5.2.yaml b/ci-operator/config/openshift/appliance/openshift-appliance-release-5.2.yaml index f3458187c58c..563d39137fbb 100644 --- a/ci-operator/config/openshift/appliance/openshift-appliance-release-5.2.yaml +++ b/ci-operator/config/openshift/appliance/openshift-appliance-release-5.2.yaml @@ -18,7 +18,9 @@ images: to: agent-preinstall-image-builder promotion: to: - - name: "5.2" + - excluded_images: + - ubi9-minimal-entitled + name: "5.2" namespace: ocp releases: initial: From 8f57580536f7f5548f82033f6adc09f7e79b7ff9 Mon Sep 17 00:00:00 2001 From: Zane Bitter Date: Wed, 5 Aug 2026 23:23:46 +1200 Subject: [PATCH 3/3] AGENT-1577: Configure branch for appliance agent-preinstall-image-builder Configure the branch agent-preinstall-image-builder in the openshift/appliance repo to sustain builds of the original appliance concept. Builds of the OVE installer ISO will continue on master, with release branches for each version of OCP. These will be promoted to a separate image name (agent-release-iso-builder) starting with the current master branch (5.0/4.23). --- ...liance-agent-preinstall-image-builder.yaml | 92 +++++ .../appliance/openshift-appliance-master.yaml | 20 +- .../openshift-appliance-release-4.23.yaml | 8 +- .../openshift-appliance-release-5.0.yaml | 8 +- .../openshift-appliance-release-5.1.yaml | 8 +- .../openshift-appliance-release-5.2.yaml | 8 +- ...nt-preinstall-image-builder-periodics.yaml | 166 ++++++++ ...-preinstall-image-builder-postsubmits.yaml | 63 +++ ...t-preinstall-image-builder-presubmits.yaml | 359 ++++++++++++++++++ .../openshift-appliance-master-periodics.yaml | 81 ---- .../openshift/appliance/_prowconfig.yaml | 15 + 11 files changed, 722 insertions(+), 106 deletions(-) create mode 100644 ci-operator/config/openshift/appliance/openshift-appliance-agent-preinstall-image-builder.yaml create mode 100644 ci-operator/jobs/openshift/appliance/openshift-appliance-agent-preinstall-image-builder-periodics.yaml create mode 100644 ci-operator/jobs/openshift/appliance/openshift-appliance-agent-preinstall-image-builder-postsubmits.yaml create mode 100644 ci-operator/jobs/openshift/appliance/openshift-appliance-agent-preinstall-image-builder-presubmits.yaml diff --git a/ci-operator/config/openshift/appliance/openshift-appliance-agent-preinstall-image-builder.yaml b/ci-operator/config/openshift/appliance/openshift-appliance-agent-preinstall-image-builder.yaml new file mode 100644 index 000000000000..46b040ba28cd --- /dev/null +++ b/ci-operator/config/openshift/appliance/openshift-appliance-agent-preinstall-image-builder.yaml @@ -0,0 +1,92 @@ +base_images: + dev-scripts: + name: test + namespace: ocp-kni + tag: dev-scripts +build_root: + project_image: + dockerfile_path: Dockerfile.openshift-appliance-build +images: + items: + - dockerfile_literal: | + FROM ubi9-minimal + RUN rm -rf /etc/yum.repos.d/* + RUN curl http://base-4-20-rhel9.ocp.svc > /etc/yum.repos.d/base-4-20-rhel9.repo + to: ubi9-minimal-entitled + - dockerfile_path: Dockerfile.openshift-appliance + from: ubi9-minimal-entitled + to: agent-preinstall-image-builder +promotion: + to: + - excluded_images: + - ubi9-minimal-entitled + name: "5.1" + namespace: ocp +releases: + initial: + integration: + name: "5.1" + namespace: ocp + latest: + integration: + include_built_images: true + name: "5.1" + namespace: ocp +resources: + '*': + requests: + cpu: 100m + memory: 200Mi +test_binary_build_commands: | + mkdir /.cache && chmod 775 -R /.cache ${GOPATH} +tests: +- as: lint + commands: | + make lint + container: + from: test-bin +- as: unit-test + commands: | + make unit-test + container: + from: test-bin + run_if_changed: ^(cmd/.*|data/.*|hack/.*|pkg/.*|Dockerfile\..*|Makefile|go\.mod|go\.sum)$ +- as: publish + cron: '@daily' + steps: + dependencies: + SOURCE_IMAGE_REF: agent-preinstall-image-builder + env: + IMAGE_REPO: openshift-appliance + IMAGE_TAG: latest + test: + - ref: assisted-baremetal-images-publish +- as: e2e-compact-ipv4-static + capabilities: + - intranet + run_if_changed: ^(cmd/.*|data/.*|pkg/.*|Dockerfile\..*|Makefile|go\.mod|go\.sum)$ + steps: + allow_skip_on_success: true + cluster_profile: packet-assisted + workflow: agent-e2e-appliance-ipv4 +- always_run: false + as: e2e-sno-dualstack-dhcp + capabilities: + - intranet + optional: true + run_if_changed: ^(cmd/.*|data/.*|pkg/.*|Dockerfile\..*|Makefile|go\.mod|go\.sum)$ + steps: + allow_skip_on_success: true + cluster_profile: packet-assisted + workflow: agent-e2e-appliance-dualstack +- as: e2e-sno-dualstack-dhcp-periodic + capabilities: + - intranet + cron: 00 00 */1 * 5 + steps: + cluster_profile: packet-assisted + workflow: agent-e2e-appliance-dualstack +zz_generated_metadata: + branch: agent-preinstall-image-builder + org: openshift + repo: appliance diff --git a/ci-operator/config/openshift/appliance/openshift-appliance-master.yaml b/ci-operator/config/openshift/appliance/openshift-appliance-master.yaml index 2dfc7aa7891c..997885e6b345 100644 --- a/ci-operator/config/openshift/appliance/openshift-appliance-master.yaml +++ b/ci-operator/config/openshift/appliance/openshift-appliance-master.yaml @@ -15,7 +15,7 @@ images: to: ubi9-minimal-entitled - dockerfile_path: Dockerfile.openshift-appliance from: ubi9-minimal-entitled - to: agent-preinstall-image-builder + to: agent-release-iso-builder promotion: to: - excluded_images: @@ -51,16 +51,6 @@ tests: container: from: test-bin run_if_changed: ^(cmd/.*|data/.*|hack/.*|pkg/.*|Dockerfile\..*|Makefile|go\.mod|go\.sum)$ -- as: publish - cron: '@daily' - steps: - dependencies: - SOURCE_IMAGE_REF: agent-preinstall-image-builder - env: - IMAGE_REPO: openshift-appliance - IMAGE_TAG: latest - test: - - ref: assisted-baremetal-images-publish - always_run: false as: e2e-agent-compact-ipv4-iso-no-registry capabilities: @@ -70,7 +60,7 @@ tests: steps: cluster_profile: equinix-ocp-metal dependencies: - APPLIANCE_IMAGE: agent-preinstall-image-builder + APPLIANCE_IMAGE: agent-release-iso-builder env: AGENT_E2E_TEST_BOOT_MODE: ISO_NO_REGISTRY DEVSCRIPTS_CONFIG: | @@ -86,6 +76,8 @@ tests: steps: allow_skip_on_success: true cluster_profile: packet-assisted + dependencies: + APPLIANCE_IMAGE: agent-release-iso-builder workflow: agent-e2e-appliance-ipv4 - always_run: false as: e2e-sno-dualstack-dhcp @@ -97,7 +89,7 @@ tests: allow_skip_on_success: true cluster_profile: packet-assisted dependencies: - APPLIANCE_IMAGE: agent-preinstall-image-builder + APPLIANCE_IMAGE: agent-release-iso-builder workflow: agent-e2e-appliance-dualstack - as: e2e-sno-dualstack-dhcp-periodic capabilities: @@ -105,6 +97,8 @@ tests: cron: 00 00 */1 * 5 steps: cluster_profile: packet-assisted + dependencies: + APPLIANCE_IMAGE: agent-release-iso-builder workflow: agent-e2e-appliance-dualstack zz_generated_metadata: branch: master diff --git a/ci-operator/config/openshift/appliance/openshift-appliance-release-4.23.yaml b/ci-operator/config/openshift/appliance/openshift-appliance-release-4.23.yaml index 281d9d53d176..a2511189a6d6 100644 --- a/ci-operator/config/openshift/appliance/openshift-appliance-release-4.23.yaml +++ b/ci-operator/config/openshift/appliance/openshift-appliance-release-4.23.yaml @@ -15,7 +15,7 @@ images: to: ubi9-minimal-entitled - dockerfile_path: Dockerfile.openshift-appliance from: ubi9-minimal-entitled - to: agent-preinstall-image-builder + to: agent-release-iso-builder promotion: to: - excluded_images: @@ -60,7 +60,7 @@ tests: steps: cluster_profile: equinix-ocp-metal dependencies: - APPLIANCE_IMAGE: agent-preinstall-image-builder + APPLIANCE_IMAGE: agent-release-iso-builder env: AGENT_E2E_TEST_BOOT_MODE: ISO_NO_REGISTRY DEVSCRIPTS_CONFIG: | @@ -76,6 +76,8 @@ tests: steps: allow_skip_on_success: true cluster_profile: packet-assisted + dependencies: + APPLIANCE_IMAGE: agent-release-iso-builder workflow: agent-e2e-appliance-ipv4 - always_run: false as: e2e-sno-dualstack-dhcp @@ -87,7 +89,7 @@ tests: allow_skip_on_success: true cluster_profile: packet-assisted dependencies: - APPLIANCE_IMAGE: agent-preinstall-image-builder + APPLIANCE_IMAGE: agent-release-iso-builder workflow: agent-e2e-appliance-dualstack zz_generated_metadata: branch: release-4.23 diff --git a/ci-operator/config/openshift/appliance/openshift-appliance-release-5.0.yaml b/ci-operator/config/openshift/appliance/openshift-appliance-release-5.0.yaml index fde84105d5a0..7d98d16249a0 100644 --- a/ci-operator/config/openshift/appliance/openshift-appliance-release-5.0.yaml +++ b/ci-operator/config/openshift/appliance/openshift-appliance-release-5.0.yaml @@ -15,7 +15,7 @@ images: to: ubi9-minimal-entitled - dockerfile_path: Dockerfile.openshift-appliance from: ubi9-minimal-entitled - to: agent-preinstall-image-builder + to: agent-release-iso-builder promotion: to: - excluded_images: @@ -60,7 +60,7 @@ tests: steps: cluster_profile: equinix-ocp-metal dependencies: - APPLIANCE_IMAGE: agent-preinstall-image-builder + APPLIANCE_IMAGE: agent-release-iso-builder env: AGENT_E2E_TEST_BOOT_MODE: ISO_NO_REGISTRY DEVSCRIPTS_CONFIG: | @@ -76,6 +76,8 @@ tests: steps: allow_skip_on_success: true cluster_profile: packet-assisted + dependencies: + APPLIANCE_IMAGE: agent-release-iso-builder workflow: agent-e2e-appliance-ipv4 - always_run: false as: e2e-sno-dualstack-dhcp @@ -87,7 +89,7 @@ tests: allow_skip_on_success: true cluster_profile: packet-assisted dependencies: - APPLIANCE_IMAGE: agent-preinstall-image-builder + APPLIANCE_IMAGE: agent-release-iso-builder workflow: agent-e2e-appliance-dualstack zz_generated_metadata: branch: release-5.0 diff --git a/ci-operator/config/openshift/appliance/openshift-appliance-release-5.1.yaml b/ci-operator/config/openshift/appliance/openshift-appliance-release-5.1.yaml index acf6013d9190..b09a42a434d9 100644 --- a/ci-operator/config/openshift/appliance/openshift-appliance-release-5.1.yaml +++ b/ci-operator/config/openshift/appliance/openshift-appliance-release-5.1.yaml @@ -15,7 +15,7 @@ images: to: ubi9-minimal-entitled - dockerfile_path: Dockerfile.openshift-appliance from: ubi9-minimal-entitled - to: agent-preinstall-image-builder + to: agent-release-iso-builder promotion: to: - disabled: true @@ -61,7 +61,7 @@ tests: steps: cluster_profile: equinix-ocp-metal dependencies: - APPLIANCE_IMAGE: agent-preinstall-image-builder + APPLIANCE_IMAGE: agent-release-iso-builder env: AGENT_E2E_TEST_BOOT_MODE: ISO_NO_REGISTRY DEVSCRIPTS_CONFIG: | @@ -77,6 +77,8 @@ tests: steps: allow_skip_on_success: true cluster_profile: packet-assisted + dependencies: + APPLIANCE_IMAGE: agent-release-iso-builder workflow: agent-e2e-appliance-ipv4 - always_run: false as: e2e-sno-dualstack-dhcp @@ -88,7 +90,7 @@ tests: allow_skip_on_success: true cluster_profile: packet-assisted dependencies: - APPLIANCE_IMAGE: agent-preinstall-image-builder + APPLIANCE_IMAGE: agent-release-iso-builder workflow: agent-e2e-appliance-dualstack zz_generated_metadata: branch: release-5.1 diff --git a/ci-operator/config/openshift/appliance/openshift-appliance-release-5.2.yaml b/ci-operator/config/openshift/appliance/openshift-appliance-release-5.2.yaml index 563d39137fbb..6f4bf51abcf4 100644 --- a/ci-operator/config/openshift/appliance/openshift-appliance-release-5.2.yaml +++ b/ci-operator/config/openshift/appliance/openshift-appliance-release-5.2.yaml @@ -15,7 +15,7 @@ images: to: ubi9-minimal-entitled - dockerfile_path: Dockerfile.openshift-appliance from: ubi9-minimal-entitled - to: agent-preinstall-image-builder + to: agent-release-iso-builder promotion: to: - excluded_images: @@ -60,7 +60,7 @@ tests: steps: cluster_profile: equinix-ocp-metal dependencies: - APPLIANCE_IMAGE: agent-preinstall-image-builder + APPLIANCE_IMAGE: agent-release-iso-builder env: AGENT_E2E_TEST_BOOT_MODE: ISO_NO_REGISTRY DEVSCRIPTS_CONFIG: | @@ -76,6 +76,8 @@ tests: steps: allow_skip_on_success: true cluster_profile: packet-assisted + dependencies: + APPLIANCE_IMAGE: agent-release-iso-builder workflow: agent-e2e-appliance-ipv4 - always_run: false as: e2e-sno-dualstack-dhcp @@ -87,7 +89,7 @@ tests: allow_skip_on_success: true cluster_profile: packet-assisted dependencies: - APPLIANCE_IMAGE: agent-preinstall-image-builder + APPLIANCE_IMAGE: agent-release-iso-builder workflow: agent-e2e-appliance-dualstack zz_generated_metadata: branch: release-5.2 diff --git a/ci-operator/jobs/openshift/appliance/openshift-appliance-agent-preinstall-image-builder-periodics.yaml b/ci-operator/jobs/openshift/appliance/openshift-appliance-agent-preinstall-image-builder-periodics.yaml new file mode 100644 index 000000000000..9cfd4ab492db --- /dev/null +++ b/ci-operator/jobs/openshift/appliance/openshift-appliance-agent-preinstall-image-builder-periodics.yaml @@ -0,0 +1,166 @@ +periodics: +- agent: kubernetes + cluster: build05 + cron: 00 00 */1 * 5 + decorate: true + decoration_config: + sparse_checkout_files: + - Dockerfile.openshift-appliance + extra_refs: + - base_ref: agent-preinstall-image-builder + org: openshift + repo: appliance + sparse_checkout_files: + - Dockerfile.openshift-appliance + labels: + capability/intranet: intranet + ci-operator.openshift.io/cloud: packet-edge + ci-operator.openshift.io/cloud-cluster-profile: packet-assisted + ci.openshift.io/generator: prowgen + pj-rehearse.openshift.io/can-be-rehearsed: "true" + name: periodic-ci-openshift-appliance-agent-preinstall-image-builder-e2e-sno-dualstack-dhcp-periodic + 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=e2e-sno-dualstack-dhcp-periodic + 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 +- agent: kubernetes + cluster: build01 + cron: 39 1 * * * + decorate: true + decoration_config: + sparse_checkout_files: + - Dockerfile.openshift-appliance + extra_refs: + - base_ref: agent-preinstall-image-builder + org: openshift + repo: appliance + sparse_checkout_files: + - Dockerfile.openshift-appliance + labels: + ci.openshift.io/generator: prowgen + pj-rehearse.openshift.io/can-be-rehearsed: "true" + name: periodic-ci-openshift-appliance-agent-preinstall-image-builder-publish + 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=publish + 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 diff --git a/ci-operator/jobs/openshift/appliance/openshift-appliance-agent-preinstall-image-builder-postsubmits.yaml b/ci-operator/jobs/openshift/appliance/openshift-appliance-agent-preinstall-image-builder-postsubmits.yaml new file mode 100644 index 000000000000..6f9b049f5b2c --- /dev/null +++ b/ci-operator/jobs/openshift/appliance/openshift-appliance-agent-preinstall-image-builder-postsubmits.yaml @@ -0,0 +1,63 @@ +postsubmits: + openshift/appliance: + - agent: kubernetes + always_run: true + branches: + - ^agent-preinstall-image-builder$ + cluster: build01 + decorate: true + decoration_config: + sparse_checkout_files: + - Dockerfile.openshift-appliance + labels: + ci-operator.openshift.io/is-promotion: "true" + ci.openshift.io/generator: prowgen + max_concurrency: 1 + name: branch-ci-openshift-appliance-agent-preinstall-image-builder-images + spec: + containers: + - args: + - --gcs-upload-secret=/secrets/gcs/service-account.json + - --image-import-pull-secret=/etc/pull-secret/.dockerconfigjson + - --image-mirror-push-secret=/etc/push-secret/.dockerconfigjson + - --promote + - --report-credentials-file=/etc/report/credentials + - --target=[images] + command: + - ci-operator + image: quay-proxy.ci.openshift.org/openshift/ci:ci_ci-operator_latest + imagePullPolicy: Always + name: "" + resources: + requests: + cpu: 10m + volumeMounts: + - 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/push-secret + name: push-secret + readOnly: true + - mountPath: /etc/report + name: result-aggregator + readOnly: true + serviceAccountName: ci-operator + volumes: + - name: manifest-tool-local-pusher + secret: + secretName: manifest-tool-local-pusher + - name: pull-secret + secret: + secretName: registry-pull-credentials + - name: push-secret + secret: + secretName: registry-push-credentials-ci-central + - name: result-aggregator + secret: + secretName: result-aggregator diff --git a/ci-operator/jobs/openshift/appliance/openshift-appliance-agent-preinstall-image-builder-presubmits.yaml b/ci-operator/jobs/openshift/appliance/openshift-appliance-agent-preinstall-image-builder-presubmits.yaml new file mode 100644 index 000000000000..f2cf2f8982cf --- /dev/null +++ b/ci-operator/jobs/openshift/appliance/openshift-appliance-agent-preinstall-image-builder-presubmits.yaml @@ -0,0 +1,359 @@ +presubmits: + openshift/appliance: + - agent: kubernetes + always_run: false + branches: + - ^agent-preinstall-image-builder$ + - ^agent-preinstall-image-builder- + cluster: build06 + context: ci/prow/e2e-compact-ipv4-static + decorate: true + decoration_config: + sparse_checkout_files: + - Dockerfile.openshift-appliance + labels: + capability/intranet: intranet + ci-operator.openshift.io/cloud: packet-edge + ci-operator.openshift.io/cloud-cluster-profile: packet-assisted + ci.openshift.io/generator: prowgen + pj-rehearse.openshift.io/can-be-rehearsed: "true" + name: pull-ci-openshift-appliance-agent-preinstall-image-builder-e2e-compact-ipv4-static + rerun_command: /test e2e-compact-ipv4-static + run_if_changed: ^(cmd/.*|data/.*|pkg/.*|Dockerfile\..*|Makefile|go\.mod|go\.sum)$ + 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=e2e-compact-ipv4-static + 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( | .* )e2e-compact-ipv4-static,?($|\s.*) + - agent: kubernetes + always_run: false + branches: + - ^agent-preinstall-image-builder$ + - ^agent-preinstall-image-builder- + cluster: build06 + context: ci/prow/e2e-sno-dualstack-dhcp + decorate: true + decoration_config: + sparse_checkout_files: + - Dockerfile.openshift-appliance + labels: + capability/intranet: intranet + ci-operator.openshift.io/cloud: packet-edge + ci-operator.openshift.io/cloud-cluster-profile: packet-assisted + ci.openshift.io/generator: prowgen + pj-rehearse.openshift.io/can-be-rehearsed: "true" + name: pull-ci-openshift-appliance-agent-preinstall-image-builder-e2e-sno-dualstack-dhcp + optional: true + rerun_command: /test e2e-sno-dualstack-dhcp + run_if_changed: ^(cmd/.*|data/.*|pkg/.*|Dockerfile\..*|Makefile|go\.mod|go\.sum)$ + 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=e2e-sno-dualstack-dhcp + 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( | .* )e2e-sno-dualstack-dhcp,?($|\s.*) + - agent: kubernetes + always_run: true + branches: + - ^agent-preinstall-image-builder$ + - ^agent-preinstall-image-builder- + cluster: build01 + context: ci/prow/images + decorate: true + decoration_config: + sparse_checkout_files: + - Dockerfile.openshift-appliance + labels: + ci.openshift.io/generator: prowgen + pj-rehearse.openshift.io/can-be-rehearsed: "true" + name: pull-ci-openshift-appliance-agent-preinstall-image-builder-images + rerun_command: /test images + spec: + containers: + - args: + - --gcs-upload-secret=/secrets/gcs/service-account.json + - --image-import-pull-secret=/etc/pull-secret/.dockerconfigjson + - --report-credentials-file=/etc/report/credentials + - --target=[images] + - --target=[release:latest] + command: + - ci-operator + image: quay-proxy.ci.openshift.org/openshift/ci:ci_ci-operator_latest + imagePullPolicy: Always + name: "" + resources: + requests: + cpu: 10m + volumeMounts: + - 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: 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( | .* )images,?($|\s.*) + - agent: kubernetes + always_run: true + branches: + - ^agent-preinstall-image-builder$ + - ^agent-preinstall-image-builder- + cluster: build01 + context: ci/prow/lint + decorate: true + decoration_config: + sparse_checkout_files: + - Dockerfile.openshift-appliance + labels: + ci.openshift.io/generator: prowgen + pj-rehearse.openshift.io/can-be-rehearsed: "true" + name: pull-ci-openshift-appliance-agent-preinstall-image-builder-lint + rerun_command: /test lint + spec: + containers: + - args: + - --gcs-upload-secret=/secrets/gcs/service-account.json + - --image-import-pull-secret=/etc/pull-secret/.dockerconfigjson + - --report-credentials-file=/etc/report/credentials + - --target=lint + 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: /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: 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( | .* )lint,?($|\s.*) + - agent: kubernetes + always_run: false + branches: + - ^agent-preinstall-image-builder$ + - ^agent-preinstall-image-builder- + cluster: build01 + context: ci/prow/unit-test + decorate: true + decoration_config: + sparse_checkout_files: + - Dockerfile.openshift-appliance + labels: + ci.openshift.io/generator: prowgen + pj-rehearse.openshift.io/can-be-rehearsed: "true" + name: pull-ci-openshift-appliance-agent-preinstall-image-builder-unit-test + rerun_command: /test unit-test + run_if_changed: ^(cmd/.*|data/.*|hack/.*|pkg/.*|Dockerfile\..*|Makefile|go\.mod|go\.sum)$ + spec: + containers: + - args: + - --gcs-upload-secret=/secrets/gcs/service-account.json + - --image-import-pull-secret=/etc/pull-secret/.dockerconfigjson + - --report-credentials-file=/etc/report/credentials + - --target=unit-test + 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: /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: 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( | .* )unit-test,?($|\s.*) diff --git a/ci-operator/jobs/openshift/appliance/openshift-appliance-master-periodics.yaml b/ci-operator/jobs/openshift/appliance/openshift-appliance-master-periodics.yaml index 1dfebd568f4a..06ff06af55c7 100644 --- a/ci-operator/jobs/openshift/appliance/openshift-appliance-master-periodics.yaml +++ b/ci-operator/jobs/openshift/appliance/openshift-appliance-master-periodics.yaml @@ -83,84 +83,3 @@ periodics: - name: result-aggregator secret: secretName: result-aggregator -- agent: kubernetes - cluster: build05 - cron: 11 3 * * * - decorate: true - decoration_config: - sparse_checkout_files: - - Dockerfile.openshift-appliance - extra_refs: - - base_ref: master - org: openshift - repo: appliance - sparse_checkout_files: - - Dockerfile.openshift-appliance - labels: - ci.openshift.io/generator: prowgen - pj-rehearse.openshift.io/can-be-rehearsed: "true" - name: periodic-ci-openshift-appliance-master-publish - 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=publish - 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 diff --git a/core-services/prow/02_config/openshift/appliance/_prowconfig.yaml b/core-services/prow/02_config/openshift/appliance/_prowconfig.yaml index 023a39d57e52..ef58f94c722b 100644 --- a/core-services/prow/02_config/openshift/appliance/_prowconfig.yaml +++ b/core-services/prow/02_config/openshift/appliance/_prowconfig.yaml @@ -55,3 +55,18 @@ tide: - needs-rebase repos: - openshift/appliance + - includedBranches: + - agent-preinstall-image-builder + labels: + - approved + - jira/valid-reference + - lgtm + missingLabels: + - backports/unvalidated-commits + - do-not-merge/hold + - do-not-merge/invalid-owners-file + - do-not-merge/work-in-progress + - jira/invalid-bug + - needs-rebase + repos: + - openshift/appliance