Troubleshooting
Tips for diagnosing issues with your local DCM deployment.
Viewing Container Logs
To view logs for a specific service:
podman-compose logs <service-name>For example, to check the control-plane logs:
podman-compose logs control-planeAvailable service names: control-plane, postgres, nats, dcm-ui,
kubevirt-service-provider.
Follow Logs in Real Time
Use the -f flag to stream logs as they are produced:
podman-compose logs -f control-planeLimit Log Output
To show only the last N lines:
podman-compose logs --tail 50 control-planeChecking Container Status
To see which containers are running and their current state:
podman-compose psRestarting a Service
If a service is unhealthy or not responding:
podman-compose restart <service-name>Authentication
If API calls or the CLI return 401 Unauthorized, see
Authentication for enabling auth, obtaining tokens, and
issuer configuration.
Common checks:
- Control plane has
AUTH_DISABLED=falseandAUTH_ISSUER_URLset. - CLI: run
dcm loginor setDCM_TOKEN/--token. - If
AUTH_JWT_AUDIENCEis set, the tokenaudclaim must match; when unset, audience validation is disabled on the control plane. - Keycloak (or your IdP) is running and reachable from the control plane.
When auth is enabled, unauthenticated curl calls to protected endpoints fail
by design. The health endpoint remains open:
curl http://localhost:8080/api/v1alpha1/health