Scheduler-Only → Common Mistakes
Common Mistakes
Real failures from the Summit 2026 migration. If provisioning fails or ArgoCD never syncs, check these first.
| Mistake | Symptom | Fix |
|---|---|---|
config: openshift-workloads instead of config: namespace |
Fails before provisioning starts — deployer cannot connect to cluster | Use config: namespace for all shared cluster / Sandbox API catalog items |
Missing scm_ref: in __meta__.deployer |
Fails before provisioning starts — Babylon cannot determine which AgnosticD branch to run | Always add scm_ref: main (or your branch) to the deployer block |
var: sandbox_user on sandbox entry + clusters: block |
Variables are prefixed (sandbox_user.sandbox_openshift_api_url) and not injected correctly with config: namespace |
Remove var: and clusters:. Use sandbox_openshift_api_url and cluster_admin_agnosticd_sa_token directly |
Duplicate YAML key in common.yaml |
yamllint error: duplication of key — order rejected at validation | Search for the key name — one definition should be a comment, remove the duplicate active line |
catch_all: true for LiteMaaS on a shared cluster |
Destroy deletes all other tenants' LiteMaaS keys | Always ocp4_workload_litellm_virtual_keys_catch_all: false |
catch_all: false set as a role var instead of in __meta__ |
Sandbox API ignores the role var — other tenants' LiteMaaS keys deleted on destroy | Set catch_all: false under __meta__.sandbox_api.actions.destroy, not as ocp4_workload_litellm_virtual_keys_catch_all |
Missing cloud: tag in cloud_selector |
Sandbox API finds no matching cluster — order fails immediately | All three tags are required: cloud: cnv-dedicated-shared, demo: your-lab, purpose: prod |
| Showroom fails with "invalid value bearer" | OCP console integration role fails in config: namespace |
Remove the OCP integration role. ocp4_workload_ocp_console_embed is already in the cluster provisioner — do not add to tenant workloads. Add openshift_cluster_admin_token: "{{ cluster_admin_agnosticd_sa_token }}" |
Catalog item in summit-2026/ using a shared cluster |
Order fails — summit-2026/account.yaml sets reservation: pgpu-event which excludes shared pools. Empty string override is not supported by AgV. |
Move the catalog item to agd_v2/. The summit-2026/ directory is for Summit event clusters only — shared cluster labs belong in agd_v2/. |
dev.yaml duplicating collections, workloads, and catalog from common.yaml |
Any change must be made in two files — easy to get out of sync | dev.yaml should only contain purpose: development and __meta__ overrides. Everything else inherits from common.yaml |
| ArgoCD Application syncs before Gitea repo is migrated | ArgoCD fails first sync — repo not found. Comes up eventually after retries. | The tenant_gitea role now waits for repoMigrationComplete status before exporting the repo URL. Make sure you are on the latest main (merged ✓) branch. |
Showroom tabs show wrong URLs — LibreChat and Gitea links have empty hostname (librechat-librechat-.apps...) |
${USER} in ui-config.yml is always empty in single-user deployments — the showroom Helm chart sets user: "" |
Use user_data variables directly in ui-config.yml: ${LIBRECHAT_URL}, ${GITEA_URL}, ${OPENSHIFT_CONSOLE_URL}. These are exported by their workloads and resolve correctly. Requires ocp4_workload_gitops_bootstrap userinfo gathering — available once Judd's PR merges into main. |
openshift_cluster_ingress_domain is undefined in ocp4_workload_gitops_bootstrap |
Many roles require this: ocp4_workload_gitops_bootstrap, ocp4_workload_showroom, ocp4_workload_authentication, ocp4_workload_gitea_operator and more. All fail if it is undefined. |
Ensure ocp4_workload_tenant_keycloak_user runs before ocp4_workload_gitops_bootstrap in workloads:. If not using that role: add openshift_cluster_ingress_domain: "{{ sandbox_openshift_ingress_domain }}" to common.yaml |
Converting an existing lab? Read the Migration Guide.
If you are converting an existing lab to this pattern, the Migration Guide documents every challenge encountered during the Summit 2026 MCP lab migration — including all the above mistakes and how they were resolved.
Red Hat Demo Platform (RHDP) — Internal developer reference — Back to overview — GitHub