Merge pull request #285698 from adamcstephens/lxc/test-sleep

nixos/tests/incus: check system is running for verifying up
This commit is contained in:
Martin Weinelt 2024-02-02 18:07:16 +01:00 committed by GitHub
commit d435c2d39f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 5 additions and 11 deletions

View file

@ -31,7 +31,7 @@ in
testScript = '' testScript = ''
def instance_is_up(_) -> bool: def instance_is_up(_) -> bool:
status, _ = machine.execute("incus exec container --disable-stdin --force-interactive /run/current-system/sw/bin/true") status, _ = machine.execute("incus exec container --disable-stdin --force-interactive /run/current-system/sw/bin/systemctl -- is-system-running")
return status == 0 return status == 0
def set_container(config): def set_container(config):
@ -81,11 +81,7 @@ in
assert meminfo_bytes == "125000 kB", f"Wrong amount of memory reported from /proc/meminfo, want: '125000 kB', got: '{meminfo_bytes}'" assert meminfo_bytes == "125000 kB", f"Wrong amount of memory reported from /proc/meminfo, want: '125000 kB', got: '{meminfo_bytes}'"
with subtest("lxc-container generator configures plain container"): with subtest("lxc-container generator configures plain container"):
machine.execute("incus delete --force container") # reuse the existing container to save some time
machine.succeed("incus launch nixos container")
with machine.nested("Waiting for instance to start and be usable"):
retry(instance_is_up)
machine.succeed("incus exec container test -- -e /run/systemd/system/service.d/zzz-lxc-service.conf") machine.succeed("incus exec container test -- -e /run/systemd/system/service.d/zzz-lxc-service.conf")
with subtest("lxc-container generator configures nested container"): with subtest("lxc-container generator configures nested container"):
@ -103,8 +99,6 @@ in
machine.succeed("incus launch nixos container --config security.privileged=true") machine.succeed("incus launch nixos container --config security.privileged=true")
with machine.nested("Waiting for instance to start and be usable"): with machine.nested("Waiting for instance to start and be usable"):
retry(instance_is_up) retry(instance_is_up)
# give generator an extra second to run
machine.sleep(1)
machine.succeed("incus exec container test -- -e /run/systemd/system/service.d/zzz-lxc-service.conf") machine.succeed("incus exec container test -- -e /run/systemd/system/service.d/zzz-lxc-service.conf")
''; '';

View file

@ -77,11 +77,11 @@ import ../make-test-python.nix (
return ("inactive" in output) return ("inactive" in output)
def lxd_instance_is_up(_) -> bool: def lxd_instance_is_up(_) -> bool:
status, _ = machine.execute("lxc exec container --disable-stdin --force-interactive /run/current-system/sw/bin/true") status, _ = machine.execute("lxc exec container --disable-stdin --force-interactive /run/current-system/sw/bin/systemctl -- is-system-running")
return status == 0 return status == 0
def incus_instance_is_up(_) -> bool: def incus_instance_is_up(_) -> bool:
status, _ = machine.execute("incus exec container --disable-stdin --force-interactive /run/current-system/sw/bin/true") status, _ = machine.execute("incus exec container --disable-stdin --force-interactive /run/current-system/sw/bin/systemctl -- is-system-running")
return status == 0 return status == 0
with machine.nested("initialize lxd and resources"): with machine.nested("initialize lxd and resources"):

View file

@ -36,7 +36,7 @@ in
testScript = '' testScript = ''
def instance_is_up(_) -> bool: def instance_is_up(_) -> bool:
status, _ = machine.execute("incus exec ${instance-name} --disable-stdin --force-interactive /run/current-system/sw/bin/true") status, _ = machine.execute("incus exec ${instance-name} --disable-stdin --force-interactive /run/current-system/sw/bin/systemctl -- is-system-running")
return status == 0 return status == 0
machine.wait_for_unit("incus.service") machine.wait_for_unit("incus.service")