Skip to content

Commit ee652cb

Browse files
committed
[skip ci] Document running mixed-version tests locally
1 parent 43f1b72 commit ee652cb

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

CONTRIBUTING.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,27 @@ Or, with Nu shell:
7979
with-env {'RABBITMQ_METADATA_STORE': 'khepri'} { gmake ct-quorum_queue }
8080
```
8181

82+
### Running Mixed Version Tests
83+
84+
For some components, it's important to run tests in a mixed-version cluster, to make sure the upgrades
85+
are handled correctly. For example, you may want to make sure that the quorum_queue suite passes, when
86+
there's a mix of RabbitMQ 4.1 and 4.2 nodes in the cluster.
87+
88+
Here's how you can do that:
89+
90+
```shell
91+
# download the older version, eg:
92+
https://github.com/rabbitmq/rabbitmq-server/releases/download/v4.1.1/rabbitmq-server-generic-unix-4.1.1.tar.xz
93+
94+
# unpack it
95+
tar xf rabbitmq-server-generic-unix-4.1.1.tar.xz
96+
97+
# run the test with SECONDARY_DIST pointing at the extracted folder
98+
SECONDARY_DIST=rabbitmq_server-4.1.1 make -C deps/rabbit ct-quorum_queue
99+
```
100+
101+
Odd-numbered nodes (eg. 1 and 3) will be started using the main repository, while even-numbered nodes (eg. node 2)
102+
will run the older version.
82103

83104
## Running Single Nodes from Source
84105

0 commit comments

Comments
 (0)