···
client2.succeed("[ $(consul kv get testkey) == 42 ]")
148
-
def rolling_reboot_test(proper_rolling_procedure=True):
148
+
def rolling_restart_test(proper_rolling_procedure=True):
Tests that the cluster can tolearate failures of any single server,
following the recommended rolling upgrade procedure from
···
162
+
server.systemctl("stop consul")
164
+
# Make sure the stopped peer is recognized as being down
165
+
client1.wait_until_succeeds(
166
+
f"[ $(consul members | grep {server.name} | grep -o -E 'failed|left' | wc -l) == 1 ]"
# For each client, wait until they have connection again
# using `kv get -recurse` before issuing commands.
···
client2.succeed("[ $(consul kv get testkey) == 43 ]")
client2.succeed("consul kv delete testkey")
173
-
# Restart crashed machine.
180
+
server.systemctl("start consul")
if proper_rolling_procedure:
···
207
+
server.systemctl("stop --no-block consul")
210
+
# --no-block is async, so ensure it has been stopped by now
211
+
server.wait_until_fails("systemctl is-active --quiet consul")
213
+
server.systemctl("start consul")
wait_for_healthy_servers()
···
220
-
print("rolling_reboot_test()")
221
-
rolling_reboot_test()
230
+
print("rolling_restart_test()")
231
+
rolling_restart_test()
print("all_servers_crash_simultaneously_test()")
all_servers_crash_simultaneously_test()
226
-
print("rolling_reboot_test(proper_rolling_procedure=False)")
227
-
rolling_reboot_test(proper_rolling_procedure=False)
236
+
print("rolling_restart_test(proper_rolling_procedure=False)")
237
+
rolling_restart_test(proper_rolling_procedure=False)