Debug an Astro Private Cloud migration
Use this guide when your Astro Private Cloud (APC) control plane or data plane Pods are not progressing to a healthy state after installation.
JetStream Pods stuck in Pending or CrashLoopBackOff
- Cause: STAN volume claims or PVCs not deleted before migration.
- Solution: Delete existing PVCs for STAN manually with the following code:
prisma migrate deploy or database migration job timing out
- Cause: Database locks or concurrent transactions, often because of Prometheus or monitoring jobs.
- Solution:
- Check for locks:
- Terminate long-running transactions:
Houston Worker logs show NATS: connection timeout
- Cause: Houston tries to connect to STAN before JetStream is ready.
- Solution: Restart the Houston Worker Pod to reconnect to JetStream:
Airflow 3 Pods fail with ModuleNotFoundError: airflow.providers.cncf
- Cause: Cluster configuration override missing or not applied.
- Solution:
- Reapply the override function in the Migration guide.
- Ensure
minimumAstroRuntimeVersionis set to3.1-2or higher in the override config.
Airflow deployments not coming up due to postgres connection errors after upgrade (missing database name)
- Cause: The
astronomer-bootstrapsecretconnectionstring does not include a database name suffix (for example,/mainon AWS RDS or/postgreson AKS), causing connection failures. Verify the correct database name by logging in to your database. - Solution:
- Patch the
astronomer-bootstrapsecret soconnectionends with/<database_name>, then run a Helm upgrade. - The secret is in the
astronomernamespace (or the namespace where you install APC). - In CP/DP mode, patch in both the Control Plane and Data Plane clusters.
- Patch the
Partially applied database migration
- Cause: Prisma migration interrupted during the JetStream upgrade.
- Solution:
- Run migration manually.
- Verify the
ClusterandDeploymenttables exist.