...
- design an algorithm matching the above requirements;
- implement this algorithm and unit tests;
- test it manually using different initial assignments;
Rebalance command
New command "--rebalance" is proposed to be added.
The usage scenario is same as for "--generate" except new command is called "--rebalance".
Scenario:
1. User generates reassignment configuration by running:
--rebalance --topics-to-move-json-file topics.json --broker-list 0,1,2 --zookeeper zk:2181
2. User copies proposed reassignment configuration to reassignment.json file
3. User executes reassignment by running:
--execute --reassignment-json-file reassignment.json --zookeeper zk:2181
4. User verifies status of reassignment by running:
--verify --reassignment-json-file reassignment.json --zookeeper zk:2181
Decommission broker command
...