commit
3275c08534
@ -0,0 +1,24 @@ |
||||
storage_pools: |
||||
- name: default |
||||
driver: dir |
||||
config: |
||||
source: /var/lxd-pool |
||||
|
||||
networks: |
||||
- name: lxdbr0 |
||||
type: bridge |
||||
config: |
||||
ipv4.address: auto |
||||
ipv6.address: none |
||||
|
||||
profiles: |
||||
- name: default |
||||
devices: |
||||
eth0: |
||||
name: eth0 |
||||
network: lxdbr0 |
||||
type: nic |
||||
root: |
||||
path: / |
||||
pool: default |
||||
type: disk |
@ -1,89 +0,0 @@ |
||||
# This test ensures that the nixOS lxd images builds and functions properly |
||||
# It has been extracted from `lxd.nix` to seperate failures of just the image and the lxd software |
||||
|
||||
import ./make-test-python.nix ({ pkgs, ...} : let |
||||
release = import ../release.nix { |
||||
/* configuration = { |
||||
environment.systemPackages = with pkgs; [ stdenv ]; # inject stdenv so rebuild test works |
||||
}; */ |
||||
}; |
||||
|
||||
metadata = release.lxdMeta.${pkgs.system}; |
||||
image = release.lxdImage.${pkgs.system}; |
||||
|
||||
lxd-config = pkgs.writeText "config.yaml" '' |
||||
storage_pools: |
||||
- name: default |
||||
driver: dir |
||||
config: |
||||
source: /var/lxd-pool |
||||
|
||||
networks: |
||||
- name: lxdbr0 |
||||
type: bridge |
||||
config: |
||||
ipv4.address: auto |
||||
ipv6.address: none |
||||
|
||||
profiles: |
||||
- name: default |
||||
devices: |
||||
eth0: |
||||
name: eth0 |
||||
network: lxdbr0 |
||||
type: nic |
||||
root: |
||||
path: / |
||||
pool: default |
||||
type: disk |
||||
''; |
||||
in { |
||||
name = "lxd-image"; |
||||
|
||||
meta = with pkgs.lib.maintainers; { |
||||
maintainers = [ mkg20001 ]; |
||||
}; |
||||
|
||||
nodes.machine = { lib, ... }: { |
||||
virtualisation = { |
||||
# disk full otherwise |
||||
diskSize = 2048; |
||||
|
||||
lxc.lxcfs.enable = true; |
||||
lxd.enable = true; |
||||
}; |
||||
}; |
||||
|
||||
testScript = '' |
||||
machine.wait_for_unit("sockets.target") |
||||
machine.wait_for_unit("lxd.service") |
||||
machine.wait_for_file("/var/lib/lxd/unix.socket") |
||||
|
||||
# It takes additional second for lxd to settle |
||||
machine.sleep(1) |
||||
|
||||
# lxd expects the pool's directory to already exist |
||||
machine.succeed("mkdir /var/lxd-pool") |
||||
|
||||
machine.succeed( |
||||
"cat ${lxd-config} | lxd init --preseed" |
||||
) |
||||
|
||||
# TODO: test custom built container aswell |
||||
|
||||
with subtest("importing container works"): |
||||
machine.succeed("lxc image import ${metadata}/*/*.tar.xz ${image}/*/*.tar.xz --alias nixos") |
||||
|
||||
with subtest("launching container works"): |
||||
machine.succeed("lxc launch nixos machine -c security.nesting=true") |
||||
# make sure machine boots up properly |
||||
machine.sleep(5) |
||||
|
||||
with subtest("container shell works"): |
||||
machine.succeed("echo true | lxc exec machine /run/current-system/sw/bin/bash -") |
||||
machine.succeed("lxc exec machine /run/current-system/sw/bin/true") |
||||
|
||||
# with subtest("rebuilding works"): |
||||
# machine.succeed("lxc exec machine /run/current-system/sw/bin/nixos-rebuild switch") |
||||
''; |
||||
}) |
Loading…
Reference in new issue