Skip to content

Create gs-baremetal Agent-Based Install workflow#76365

Draft
sg-rh wants to merge 1 commit intoopenshift:mainfrom
sg-rh:abi-ocp-bm
Draft

Create gs-baremetal Agent-Based Install workflow#76365
sg-rh wants to merge 1 commit intoopenshift:mainfrom
sg-rh:abi-ocp-bm

Conversation

@sg-rh
Copy link
Contributor

@sg-rh sg-rh commented Mar 17, 2026

Add Agent-Based Installation (ABI) workflow for bare metal (metal-redhat-gs)
Adds step-registry support for Agent-Based Installation on bare metal using the metal-redhat-gs cluster profile, without a bastion. Day 0/1/2 behavior is driven by YAML script blocks supplied via job env vars (or secrets), not hardcoded in the step registry.

Changes

  1. New: ABI steps (ci-operator/step-registry/abi/bm/)
  • abi-bm-day0 – Runs scripts from OCP__ABI__DAY0_SCRIPTS_YAML (e.g. copy hosts, verify connectivity, fetch tools).
  • abi-bm-day1 – Runs scripts from OCP__ABI__DAY1_SCRIPTS_YAML (e.g. start HTTP server, trigger BMCs, wait for install-complete). 2h timeout, 600s grace period.
  • abi-bm-day2 – Runs scripts from OCP__ABI__DAY2_SCRIPTS_YAML (e.g. cluster health, gather).

Each step loads BuildCustomScriptsFromYAML.sh from OpenShift-LP-QE--Tools and executes the script blocks defined in the corresponding env var. Script URL can be overridden with OCP_ABI_TOOLS_SCRIPT_URL. Base image: baremetal-qe-base.

  1. New: gs-baremetal-agent-install workflow (ci-operator/step-registry/gs-baremetal/agent-install/)
  • Pre: abi-bm-day0 → abi-bm-day1 → abi-bm-day2
  • Test: cucushift-installer-check-cluster-health
  • Cluster profile: metal-redhat-gs
  • Capability: intranet
  • Post: allow best-effort post steps

Documentation

gs-baremetal/README.md – Describes the workflow, the three script env vars, YAML Scripts: format, optional env vars, Day 0 example, hosts.yaml expectations, and conventions (install-status.txt, host-id.txt, virtual_media_mount_failure). Removed the Chisel LP CP/DP section (relay setup stays in job/secret).

How to use
Set OCP__ABI__DAY0_SCRIPTS_YAML, OCP__ABI__DAY1_SCRIPTS_YAML, and OCP__ABI__DAY2_SCRIPTS_YAML in the job (or via secret). Each value is YAML with a top-level Scripts: key (array or map of script blocks). See the Day 0 example in gs-baremetal/README.md and the step ref docs for details.

@sg-rh sg-rh marked this pull request as draft March 17, 2026 02:51
@openshift-ci openshift-ci bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Mar 17, 2026
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Mar 17, 2026

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: sg-rh

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci openshift-ci bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Mar 17, 2026
@openshift-ci-robot
Copy link
Contributor

[REHEARSALNOTIFIER]
@sg-rh: no rehearsable tests are affected by this change

Note: If this PR includes changes to step registry files (ci-operator/step-registry/) and you expected jobs to be found, try rebasing your PR onto the base branch. This helps pj-rehearse accurately detect changes when the base branch has moved forward.

@openshift-ci-robot openshift-ci-robot added the rehearsals-ack Signifies that rehearsal jobs have been acknowledged label Mar 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. rehearsals-ack Signifies that rehearsal jobs have been acknowledged

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants