summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tests/integration_tests/bugs/test_lp1900837.py2
-rw-r--r--tests/integration_tests/instances.py11
2 files changed, 12 insertions, 1 deletions
diff --git a/tests/integration_tests/bugs/test_lp1900837.py b/tests/integration_tests/bugs/test_lp1900837.py
index 3fe7d0d0..18b00475 100644
--- a/tests/integration_tests/bugs/test_lp1900837.py
+++ b/tests/integration_tests/bugs/test_lp1900837.py
@@ -22,7 +22,7 @@ class TestLogPermissionsNotResetOnReboot:
assert "600" == _get_log_perms(client)
# Reboot
- client.instance.restart()
+ client.restart()
# Check that permissions are not reset on reboot
assert "600" == _get_log_perms(client)
diff --git a/tests/integration_tests/instances.py b/tests/integration_tests/instances.py
index 8f6573cd..c68ee753 100644
--- a/tests/integration_tests/instances.py
+++ b/tests/integration_tests/instances.py
@@ -35,6 +35,17 @@ class IntegrationInstance:
def destroy(self):
self.instance.delete()
+ def restart(self):
+ """Restart this instance (via cloud mechanism) and wait for boot.
+
+ This wraps pycloudlib's `BaseInstance.restart` to pass
+ `raise_on_cloudinit_failure=False` to `BaseInstance.wait`, mirroring
+ our launch behaviour.
+ """
+ self.instance.restart(wait=False)
+ log.info("Instance restarted; waiting for boot")
+ self.instance.wait(raise_on_cloudinit_failure=False)
+
def execute(self, command, *, use_sudo=True) -> Result:
if self.instance.username == 'root' and use_sudo is False:
raise Exception('Root user cannot run unprivileged')