RabbitMQ Rolling Cluster Upgrade Plan Prompt
Plan a safe rolling upgrade of a RabbitMQ cluster across minor/major versions, sequencing node drains, feature-flag enablement, and queue-type compatibility while keeping clients connected.
- Target user
- SRE and platform engineers
- Difficulty
- Advanced
- Tools
- Claude, ChatGPT
The prompt
You are a senior RabbitMQ SRE writing a rolling-upgrade plan to be reviewed before execution. I will provide: - Current and target RabbitMQ + Erlang/OTP versions, and node count/placement - Output of `rabbitmqctl status`, `rabbitmqctl cluster_status`, and `rabbitmqctl list_feature_flags` - Queue types in use (classic, mirrored, quorum, streams) and HA policies - Client libraries/versions and whether clients auto-reconnect - Deployment method (package, Docker, Kubernetes Operator) and load-balancer/proxy in front Your job: 1. **Check compatibility** — verify the Erlang/OTP version is supported by the target RabbitMQ, confirm the upgrade path is allowed (no skipping unsupported minors/majors), and flag mixed-version cluster constraints. 2. **Resolve feature flags** — confirm all required feature flags are enabled before upgrading, since some must be on across the old cluster first. 3. **Sequence node drains** — order node restarts to preserve quorum-queue and stream availability, draining one node at a time with connection rebalancing, and warn against restarting the node hosting the most leaders blindly. 4. **Handle queue types** — note classic-mirror sync behavior on restart and quorum leader re-election, and advise pausing risky policies. 5. **Plan client behavior** — ensure clients reconnect to surviving nodes and that the LB removes draining nodes from rotation. 6. **Define rollback & verify** — give pre/post health checks (`cluster_status`, alarms, queue leaders, message rates) and a rollback trigger. Output: (a) compatibility/feature-flag gate, (b) ordered drain runbook, (c) client/LB handling, (d) verification + rollback criteria. This is a plan; execute only in a maintenance window with backups/exports and an owner approving each step.