Skip to content

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

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

Limit Log Output

To show only the last N lines:

podman-compose logs --tail 50 control-plane

Checking Container Status

To see which containers are running and their current state:

podman-compose ps

Restarting 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=false and AUTH_ISSUER_URL set.
  • CLI: run dcm login or set DCM_TOKEN / --token.
  • If AUTH_JWT_AUDIENCE is set, the token aud claim 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