6188d6ff52
It has a few implications to launch a raft peer when you wanted to do crdt and vice-versa. Same when exporting and exporting states. Users starting cluster peers should be explicit about their consensus choice. Also, if we ever want to make `crdt` the default, we can't do that before making `raft` non-default first. I don't like to break things but otherwise the experience for new users wanting to try crdts might be aweful.
40 lines
1.6 KiB
Bash
Executable File
40 lines
1.6 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
test_description="Test service state import"
|
|
|
|
. lib/test-lib.sh
|
|
|
|
test_ipfs_init
|
|
test_cluster_init
|
|
|
|
test_expect_success IPFS,CLUSTER "state cleanup refreshes state on restart" '
|
|
cid=`docker exec ipfs sh -c "echo test_54 | ipfs add -q"` &&
|
|
ipfs-cluster-ctl pin add "$cid" && sleep 5 &&
|
|
ipfs-cluster-ctl pin ls "$cid" | grep -q "$cid" &&
|
|
ipfs-cluster-ctl status "$cid" | grep -q -i "PINNED" &&
|
|
[ 1 -eq "$(ipfs-cluster-ctl --enc=json status | jq ". | length")" ] &&
|
|
cluster_kill && sleep 5 &&
|
|
ipfs-cluster-service --debug --config "test-config" state cleanup --consensus crdt -f &&
|
|
cluster_start && sleep 5 &&
|
|
[ 0 -eq "$(ipfs-cluster-ctl --enc=json status | jq ". | length")" ]
|
|
'
|
|
|
|
test_expect_success IPFS,CLUSTER "export + cleanup + import == noop" '
|
|
cid=`docker exec ipfs sh -c "echo test_54 | ipfs add -q"` &&
|
|
ipfs-cluster-ctl pin add "$cid" && sleep 5 &&
|
|
[ 1 -eq "$(ipfs-cluster-ctl --enc=json status | jq ". | length")" ] &&
|
|
cluster_kill && sleep 5 &&
|
|
ipfs-cluster-service --debug --config "test-config" state export --consensus crdt -f import.json &&
|
|
ipfs-cluster-service --debug --config "test-config" state cleanup --consensus crdt -f &&
|
|
ipfs-cluster-service --debug --config "test-config" state import --consensus crdt -f import.json &&
|
|
cluster_start && sleep 5 &&
|
|
ipfs-cluster-ctl pin ls "$cid" | grep -q "$cid" &&
|
|
ipfs-cluster-ctl status "$cid" | grep -q -i "PINNED" &&
|
|
[ 1 -eq "$(ipfs-cluster-ctl --enc=json status | jq ". | length")" ]
|
|
'
|
|
|
|
test_clean_ipfs
|
|
test_clean_cluster
|
|
|
|
test_done
|