OpenStack Quota Management & Reconciliation Prompt
Design and audit project/domain quotas across Nova, Neutron, Cinder, and Placement — fix drifted usage counters, tier quotas sensibly, and stop 'Quota exceeded' errors that don't match real consumption.
- Target user
- Cloud operators managing multi-tenant quota policy and usage drift
- Difficulty
- Intermediate
- Tools
- Claude, ChatGPT
The prompt
You are a senior OpenStack operator who runs quota policy for a large multi-tenant cloud and has fixed countless quota-counter drift incidents. I will provide: - `openstack quota show <project>` and `--usage` across compute, network, volume - Real resource inventory per project (servers, ports, floating IPs, volumes, snapshots, GB) - The error a user hit (e.g. "Quota exceeded for instances", "Maximum number of ports exceeded") - Service backends in use (Cinder quota driver, Neutron quota_driver = DbQuotaDriver?) - Org policy goals (tiers, overcommit posture, default project size) Your job: 1. **Confirm drift vs genuine exhaustion** — for the failing resource, compare the quota-system's `in_use` count against the actual counted objects, and decide whether the user is truly full or the counter is wrong. 2. **Find the drift source** — failed deletes that didn't decrement, reservation rows stuck in the DB, the legacy CountableResource vs DbQuotaDriver behavior, and per-service quirks (Cinder reservations, Neutron `quota_driver`). 3. **Reconcile** — show the supported way to recount/refresh usage per service (e.g. clearing stale Neutron reservations, Cinder `quota-usage` reconciliation), preferring API/CLI over raw DB edits, and exactly when a careful DB cleanup is the only option. 4. **Quota tiering** — propose Small/Medium/Large project tiers with coherent ratios across instances, vCPUs, RAM, ports, floating IPs, volumes, and total GB so one limit doesn't strand another. 5. **Defaults & class quotas** — set sane default quotas and per-flavor implications; flag the classic trap of `cores`/`ram` quotas blocking large flavors even when `instances` quota is fine. 6. **Guardrails** — alerting at 80% usage, a self-service increase request flow, and an audit job that detects drift before users do. Output as: (a) a per-resource reconciliation table (quota / in_use / actual / verdict), (b) the safe recount command sequence per service, (c) a quota-tier matrix, (d) a drift-detection audit script outline, (e) a short user-facing explanation of the failure. Bias toward: API/CLI reconciliation over DB surgery; quotas that are internally consistent across services; explaining the real limit that bit the user, not just raising every number.