mcpbeat

Rhdh Ocp Pool

openshift/rhdh-ocp-pool

>- 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

4k tokens
context cost
the whole folder, loaded on every use
5
files
ships runnable scripts
0
copies elsewhere
how many repositories repackaged it
325
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/openshift/release --skill rhdh-ocp-pool

What comes with it

9 046 bytes besides the instruction
OWNERS
scripts/OWNERS
scripts/generate-cluster-pool.sh
scripts/list-cluster-pools.sh

What it tells the agent to use

found in the instruction text
Bash runs shell commands — read the instruction before connecting

The instruction itself

14 sections, as written by the author

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

How to use it

Copy the folder

Take openshift/rhdh-ocp-pool from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.