For this task in v2.0, we plan to use the operator function to help automate the migration steps when testing this in k8s lab with a few channels. Note: with
FAB-16644, we automated migration test with few channels; however, there we only run invokes before and after the kafka-2-raft migration (not during maintenance mode). As such, all the transactions were expected to succeed. After we convert that and all other existing tests to use go test driver with FAB-16064, we should use this task to enhance the testcase to run traffic DURING the migration (The script converts each channel one at a time, with others being usable; when one is in maintenance mode, transactions on that channel should be rejected).
Once completed, verify the following: Send new transactions to verify invokes and queries on migrated channels.
For reference: The following description below was in the original issue
FAB-15779 which was used for testing this in v1.4.2.
- Create a network with 5 orderers, 5 kafka brokers, 3 zookeepers and 1 org with 1 peer
- Create 100 channels, join peer to channel, install and instantiate samplecc and start sending invokes
- While traffic is running, then migrate kafka to raft by following steps on orderer system channel and all 100 application channels:
- Config update to change state from NORMAL to MAINTENANCE with kafka consensus type and leaving metadata to null
- Config update with etcdraft as consensus type and raft metadata
- Restart Ordering nodes and verify orderer logs for leader election
- Config update to change state back to NORMAL from MAINTENANCE