2021-03-29 13:52:02 +03:00
|
|
|
source "../../../tests/support/cli.tcl"
|
|
|
|
|
2021-04-13 00:00:57 +03:00
|
|
|
proc config_set_all_nodes {keyword value} {
|
|
|
|
foreach_redis_id id {
|
|
|
|
R $id config set $keyword $value
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2021-03-29 13:52:02 +03:00
|
|
|
proc fix_cluster {addr} {
|
|
|
|
set code [catch {
|
|
|
|
exec ../../../src/redis-cli {*}[rediscli_tls_config "../../../tests"] --cluster fix $addr << yes
|
|
|
|
} result]
|
2021-03-30 23:33:01 +03:00
|
|
|
if {$code != 0} {
|
2021-04-06 11:57:57 +03:00
|
|
|
puts "redis-cli --cluster fix returns non-zero exit code, output below:\n$result"
|
2021-03-29 13:52:02 +03:00
|
|
|
}
|
2021-04-06 11:57:57 +03:00
|
|
|
# Note: redis-cli --cluster fix may return a non-zero exit code if nodes don't agree,
|
|
|
|
# but we can ignore that and rely on the check below.
|
2021-03-29 13:52:02 +03:00
|
|
|
assert_cluster_state ok
|
2021-03-30 23:33:01 +03:00
|
|
|
wait_for_condition 100 100 {
|
|
|
|
[catch {exec ../../../src/redis-cli {*}[rediscli_tls_config "../../../tests"] --cluster check $addr} result] == 0
|
2021-03-29 13:52:02 +03:00
|
|
|
} else {
|
2021-04-06 11:57:57 +03:00
|
|
|
puts "redis-cli --cluster check returns non-zero exit code, output below:\n$result"
|
2021-03-29 13:52:02 +03:00
|
|
|
fail "Cluster could not settle with configuration"
|
|
|
|
}
|
|
|
|
}
|