mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-09-17 10:37:45 +03:00
nixos/tests/machinectl: add import-tar test
This commit is contained in:
parent
aefaae0c9d
commit
20e50bbb92
@ -25,6 +25,25 @@ let
|
|||||||
containerName = "container";
|
containerName = "container";
|
||||||
containerRoot = "/var/lib/machines/${containerName}";
|
containerRoot = "/var/lib/machines/${containerName}";
|
||||||
|
|
||||||
|
containerTarball = pkgs.callPackage ../lib/make-system-tarball.nix {
|
||||||
|
storeContents = [
|
||||||
|
{
|
||||||
|
object = containerSystem;
|
||||||
|
symlink = "/nix/var/nix/profiles/system";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
contents = [
|
||||||
|
{
|
||||||
|
source = containerSystem + "/etc/os-release";
|
||||||
|
target = "/etc/os-release";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
source = containerSystem + "/init";
|
||||||
|
target = "/sbin/init";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
name = "systemd-machinectl";
|
name = "systemd-machinectl";
|
||||||
@ -40,7 +59,7 @@ in
|
|||||||
# auto-start container
|
# auto-start container
|
||||||
systemd.targets.machines.wants = [ "systemd-nspawn@${containerName}.service" ];
|
systemd.targets.machines.wants = [ "systemd-nspawn@${containerName}.service" ];
|
||||||
|
|
||||||
virtualisation.additionalPaths = [ containerSystem ];
|
virtualisation.additionalPaths = [ containerSystem containerTarball ];
|
||||||
|
|
||||||
systemd.tmpfiles.rules = [
|
systemd.tmpfiles.rules = [
|
||||||
"d /var/lib/machines/shared-decl 0755 root root - -"
|
"d /var/lib/machines/shared-decl 0755 root root - -"
|
||||||
@ -144,5 +163,13 @@ in
|
|||||||
# Show to to delete the container
|
# Show to to delete the container
|
||||||
machine.succeed("chattr -i ${containerRoot}/var/empty");
|
machine.succeed("chattr -i ${containerRoot}/var/empty");
|
||||||
machine.succeed("rm -rf ${containerRoot}");
|
machine.succeed("rm -rf ${containerRoot}");
|
||||||
|
|
||||||
|
# Test import tarball, start, stop and remove
|
||||||
|
machine.succeed("machinectl import-tar ${containerTarball}/tarball/*.tar* ${containerName}");
|
||||||
|
machine.succeed("machinectl start ${containerName}");
|
||||||
|
machine.wait_until_succeeds("systemctl -M ${containerName} is-active default.target");
|
||||||
|
machine.succeed("machinectl stop ${containerName}");
|
||||||
|
machine.wait_until_succeeds("test $(systemctl is-active systemd-nspawn@${containerName}) = inactive");
|
||||||
|
machine.succeed("machinectl remove ${containerName}");
|
||||||
'';
|
'';
|
||||||
})
|
})
|
||||||
|
Loading…
Reference in New Issue
Block a user