Cluster Provision
Provision an ephemeral OpenShift cluster from a Hive ClusterPool via the OpenShift CI Gangway REST API.
Arguments
Parse $ARGUMENTS into at most two values before invoking Bash:
- Arg 1: KUBECONFIG path (default:
/tmp/k) - Arg 2: OCP version (default:
4.18)
Set variables from $ARGUMENTS:
KUBECONFIG_PATH = first arg or /tmp/k
OCP_VERSION = second arg or 4.18
Step 1: Provision the cluster
bash .claude/scripts/cluster-provision.sh up "$KUBECONFIG_PATH" "$OCP_VERSION"
The script handles everything: triggering the Gangway API, polling for readiness, downloading the kubeconfig, and validating connectivity. Wait for the === Cluster Ready === output.
Step 2: Verify
oc --kubeconfig="$KUBECONFIG_PATH" whoami
oc --kubeconfig="$KUBECONFIG_PATH" get nodes
Step 3: Report
Summarize connection status and remind user:
- The cluster is ready
- Kubeconfig path
- Cluster server URL
- Cluster auto-expires in ~4 hours
- Prow job URL for reference
Status
bash .claude/scripts/cluster-provision.sh status
Teardown
bash .claude/scripts/cluster-provision.sh down
Troubleshooting
| Error | Fix |
|---|---|
GANGWAY_TOKEN is not set |
Run: oc login https://api.ci.l2s4.p1.openshiftapps.com:6443 --web && export GANGWAY_TOKEN=$(oc whoami -t) |
HTTP 401 |
Token expired — re-authenticate with oc login |
KUBECONFIG_ENCRYPTION_KEY is not set |
Contact the CI team for the decryption passphrase |
| Timeout after 40 min | Pool exhausted or job stuck — check the Prow job URL |