Dev Spaces must-gather is a tool to collect diagnostic information about the Red Hat OpenShift Dev Spaces (downstream of Eclipse Che) operator and workspace environment. It is built on top of OpenShift must-gather.
oc adm must-gather --image=quay.io/<your-org>/dev-spaces-must-gather:latestThe command above will create a local directory with a dump of the Dev Spaces state in your OpenShift cluster.
⚠️ This must-gather focuses on Dev Spaces and related components. To collect full cluster data, run oc adm must-gather without specifying a custom image.
Cluster-admin permissions are required to run this must-gather. The tool needs elevated privileges to:
- Execute
oc adm inspectcommands - Read resources across all namespaces
- Access cluster-scoped resources (CRDs, Nodes, PersistentVolumes, StorageClasses, ClusterVersion, Webhooks)
To verify you have the required permissions:
oc auth can-i '*' '*' --all-namespacesThis must-gather collects both operator-specific and cluster-level diagnostic data to enable effective troubleshooting.
- All Dev Spaces and DevWorkspace CRDs and their definitions
- All Dev Spaces-related custom resources across namespaces
- Devfile-related resources
- Workspace namespaces and all objects within them (pods, PVCs, configmaps, etc.)
- No secrets are collected
- Dev Spaces and DevWorkspace operator namespaces (including pods, logs, and events)
- Subscription, ClusterServiceVersion (CSV), and InstallPlan resources
- Operator logs and controller state
- Admission webhooks:
- MutatingWebhookConfiguration
- ValidatingWebhookConfiguration
- Storage configuration:
- StorageClasses
- PersistentVolumes
- Cluster version information
- Node information:
- Node status, capacity, and conditions
- Cluster-wide events (warnings and errors)
- Scheduling and infrastructure-related signals
This must-gather is useful for diagnosing:
- Workspace startup failures
- DevWorkspace reconciliation issues
- Operator deployment or upgrade failures
- Webhook misconfigurations or certificate issues
- PersistentVolumeClaim (PVC) binding problems
- Pod scheduling failures due to cluster capacity or node conditions
- Secrets: Metadata is collected, but data fields are redacted by
oc adm inspect(only byte length shown, not actual values). - Some rapidly changing resources (e.g., logs, events) may differ slightly between runs.
- The scope is intentionally expanded beyond operator resources to include cluster-level diagnostics required for root cause analysis.
- Dynamic detection: No hardcoded namespaces - the tool automatically discovers operator and workspace namespaces regardless of installation method.
For building and pushing the image:
make helpTo push a custom image:
make REGISTRY_USERNAME=<your-org> CONTAINER_IMAGE_TAG=latest pushUsing the latest tag is recommended during development, as it avoids caching on OpenShift nodes.
- An OpenShift cluster with the Dev Spaces operator installed
ocCLI configured and logged inomc(OpenShift Must Gather) - Required for validating must-gather output
Download the latest binary from the omc releases page.
-
Collect must-gather data:
# Using a test image oc adm must-gather --image=<TEST_IMAGE> # Or run the script directly for local testing ./gather_dev_spaces.sh
-
Validate the output:
# Test the collected data ./test_must_gather.sh # Or specify a custom directory LOGS_DIR=must-gather.local.<timestamp> ./test_must_gather.sh
The test script validates that:
- The must-gather archive is readable by
omc - All expected CRD resources are present and queryable
- All additional collected files (webhooks, storage, nodes, events, etc.) exist and are not empty