| name | rhdh-ocp-pool |
| description | List existing RHDH OCP Hive ClusterPool configurations and generate new pool YAML for a target OCP version, with imageSetRef aligned from other pools in the openshift/release repository. Covers OCP pools only, not K8s platforms |
| allowed-tools | Read, Bash(bash *list-cluster-pools.sh*), Bash(bash *generate-cluster-pool.sh*), Bash(rm clusters/hosted-mgmt/hive/pools/rhdh/*_clusterpool.yaml) |
RHDH OCP Cluster Pool Management
List and manage OCP Hive ClusterPool configurations for RHDH in the openshift/release repository. This skill covers OCP cluster pools only — K8s platform clusters (AKS, EKS, GKE) are provisioned via MAPT and OSD-GCP via a separate claim workflow.
When to Use
Use this skill when you need to:
- List current RHDH cluster pools and their OCP versions
- Generate a new cluster pool YAML for a new OCP version
- Review cluster pool capacity (size, maxSize, runningCount)
- Remove a cluster pool for an end-of-life OCP version
Prerequisites
yq (v4+) must be available for YAML parsing
- Working directory must be the root of the
openshift/release repository
CLAUDE_SKILL_DIR is set automatically by the Claude Code skill loader. For manual invocation, set it to this skill's directory (e.g., CLAUDE_SKILL_DIR=ci-operator/config/redhat-developer/rhdh/.claude/skills/rhdh-ocp-pool)
Listing Cluster Pools
Run the bundled script from the repository root:
bash "${CLAUDE_SKILL_DIR}/scripts/list-cluster-pools.sh"
Output format
The script outputs a table with columns:
| Column | Description |
|---|
| VERSION | OCP minor version (e.g., 4.18) |
| POOL_NAME | Hive ClusterPool resource name |
| SIZE | Desired pool size |
| MAX | Maximum pool size |
| RUNNING | Number of clusters kept running (hibernation bypass) |
| IMAGE_SET | ClusterImageSet reference name |
| FILENAME | Pool YAML filename |
Generating a New Cluster Pool
Use the bundled generation script:
bash "${CLAUDE_SKILL_DIR}/scripts/generate-cluster-pool.sh" --version 4.22
With a specific reference pool
bash "${CLAUDE_SKILL_DIR}/scripts/generate-cluster-pool.sh" --version 4.22 --reference 4.21
Preview without writing (dry-run)
bash "${CLAUDE_SKILL_DIR}/scripts/generate-cluster-pool.sh" --version 4.22 --dry-run
With --dry-run, the script outputs the generated YAML to stdout but does not write the file to disk. Use this to review the output before committing to the change.
What the script does
- Looks up the
imageSetRef by scanning ALL cluster pools across the entire clusters/hosted-mgmt/hive/pools/ directory (not just RHDH pools). This ensures alignment with other teams' pools for the same OCP version.
- Copies an existing RHDH pool as a structural template (defaults to the latest, or use
--reference to pick one).
- Updates version-specific fields:
version, version_lower, version_upper, pool name, and imageSetRef.
- Sets conservative sizing:
size: 1, maxSize: 2, no runningCount.
- Writes the file directly to
clusters/hosted-mgmt/hive/pools/rhdh/.
- Prints the generated YAML to stdout for review.
Error cases
- If no existing pool in the repo uses the target OCP version, the script errors out rather than guessing a patch version. This means the OCP version hasn't been released yet or image sets haven't been added to the repo.
- If an RHDH pool for the target version already exists, the script errors out.
imageSetRef alignment
The imageSetRef.name follows the pattern:
ocp-release-<major>.<minor>.<patch>-multi-for-<major>.<minor>.0-0-to-<next_major>.<next_minor>.0-0
The patch version (e.g., 4.14.63) is determined by what other pools in the repo already use, not by guessing. All pools for a given OCP version across all teams use the same imageSetRef.
Removing a Cluster Pool
To remove a cluster pool for an end-of-life OCP version:
- Delete the
*_clusterpool.yaml file
- Verify no CI jobs still reference this pool's version via
cluster_claim.version
- Use the
rhdh-ocp-tests skill to check for and remove any remaining OCP test entries
File Layout
All cluster pool files live in:
clusters/hosted-mgmt/hive/pools/rhdh/
├── OWNERS # Approvers/reviewers
├── admins_rhdh-cluster-pool_rbac.yaml # RBAC for pool admins
├── rhdh-aws-us-east-2.yaml # Install config secret template
└── rhdh-ocp-<major>-<minor>-0-amd64-aws-us-east-2_clusterpool.yaml # One per OCP version
Key Details
- Region: All RHDH pools use
us-east-2
- Architecture:
amd64
- Base domain:
rhdh-qe.devcluster.openshift.com
- Worker nodes:
m6i.2xlarge (configured in rhdh-aws-us-east-2 install config)
- Credentials:
rhdh-aws-credentials secret
- Namespace:
rhdh-cluster-pool