Cluster test: proper initialization at unit startup.
This commit is contained in:
parent
67133d2f48
commit
4c04744734
@ -8,13 +8,6 @@ if {$::simulate_error} {
|
||||
}
|
||||
}
|
||||
|
||||
test "Cluster nodes are reachable" {
|
||||
foreach_redis_id id {
|
||||
# Every node should just know itself.
|
||||
assert {[R $id ping] eq {PONG}}
|
||||
}
|
||||
}
|
||||
|
||||
test "Different nodes have different IDs" {
|
||||
set ids {}
|
||||
set numnodes 0
|
||||
@ -29,32 +22,6 @@ test "Different nodes have different IDs" {
|
||||
assert {$numids == $numnodes}
|
||||
}
|
||||
|
||||
test "Check if nodes auto-discovery works" {
|
||||
# Join node 0 with 1, 1 with 2, ... and so forth.
|
||||
# If auto-discovery works all nodes will know every other node
|
||||
# eventually.
|
||||
set ids {}
|
||||
foreach_redis_id id {lappend ids $id}
|
||||
for {set j 0} {$j < [expr [llength $ids]-1]} {incr j} {
|
||||
set a [lindex $ids $j]
|
||||
set b [lindex $ids [expr $j+1]]
|
||||
set b_port [get_instance_attrib redis $b port]
|
||||
R $a cluster meet 127.0.0.1 $b_port
|
||||
}
|
||||
|
||||
foreach_redis_id id {
|
||||
wait_for_condition 1000 50 {
|
||||
[llength [get_cluster_nodes $id]] == [llength $ids]
|
||||
} else {
|
||||
fail "Cluster failed to join into a full mesh."
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
test "Before slots allocation, all nodes report cluster failure" {
|
||||
assert_cluster_state fail
|
||||
}
|
||||
|
||||
test "It is possible to perform slot allocation" {
|
||||
cluster_allocate_slots 5
|
||||
}
|
||||
|
@ -11,3 +11,43 @@ test "(init) Restart killed instances" {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
test "Cluster nodes are reachable" {
|
||||
foreach_redis_id id {
|
||||
# Every node should just know itself.
|
||||
assert {[R $id ping] eq {PONG}}
|
||||
}
|
||||
}
|
||||
|
||||
test "Cluster nodes hard reset" {
|
||||
foreach_redis_id id {
|
||||
R $id flushall
|
||||
R $id cluster reset hard
|
||||
}
|
||||
}
|
||||
|
||||
test "Cluster Join and auto-discovery test" {
|
||||
# Join node 0 with 1, 1 with 2, ... and so forth.
|
||||
# If auto-discovery works all nodes will know every other node
|
||||
# eventually.
|
||||
set ids {}
|
||||
foreach_redis_id id {lappend ids $id}
|
||||
for {set j 0} {$j < [expr [llength $ids]-1]} {incr j} {
|
||||
set a [lindex $ids $j]
|
||||
set b [lindex $ids [expr $j+1]]
|
||||
set b_port [get_instance_attrib redis $b port]
|
||||
R $a cluster meet 127.0.0.1 $b_port
|
||||
}
|
||||
|
||||
foreach_redis_id id {
|
||||
wait_for_condition 1000 50 {
|
||||
[llength [get_cluster_nodes $id]] == [llength $ids]
|
||||
} else {
|
||||
fail "Cluster failed to join into a full mesh."
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
test "Before slots allocation, all nodes report cluster failure" {
|
||||
assert_cluster_state fail
|
||||
}
|
||||
|
@ -363,7 +363,7 @@ proc kill_instance {type id} {
|
||||
# Return true of the instance of the specified type/id is killed.
|
||||
proc instance_is_killed {type id} {
|
||||
set pid [get_instance_attrib $type $id pid]
|
||||
return $pid == -1
|
||||
expr {$pid == -1}
|
||||
}
|
||||
|
||||
# Restart an instance previously killed by kill_instance
|
||||
|
Loading…
x
Reference in New Issue
Block a user