diff --git a/nixos/release-combined.nix b/nixos/release-combined.nix index d299ead82a1b..2289d9156d0d 100644 --- a/nixos/release-combined.nix +++ b/nixos/release-combined.nix @@ -87,6 +87,7 @@ rec { (onFullSupported "nixos.tests.containers-ip") (onSystems [ "x86_64-linux" ] "nixos.tests.docker") (onFullSupported "nixos.tests.env") + (onSystems [ "x86_64-linux" "aarch64-linux" ] "nixos.tests.ec2-userdata") # Way too many manual retries required on Hydra. # Apparently it's hard to track down the cause. diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 1eed27e00a54..187fdb17a0ad 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -489,9 +489,8 @@ in early-mount-options = runTest ./early-mount-options.nix; earlyoom = runTestOn [ "x86_64-linux" ] ./earlyoom.nix; easytier = runTest ./easytier.nix; - ec2-config = (handleTestOn [ "x86_64-linux" ] ./ec2.nix { }).boot-ec2-config or { }; ec2-image = runTest ./ec2-image.nix; - ec2-nixops = (handleTestOn [ "x86_64-linux" ] ./ec2.nix { }).boot-ec2-nixops or { }; + ec2-userdata = (handleTestOn [ "x86_64-linux" ] ./ec2.nix { }).ec2-userdata or { }; echoip = runTest ./echoip.nix; ejabberd = runTest ./xmpp/ejabberd.nix; elk = handleTestOn [ "x86_64-linux" ] ./elk.nix { }; diff --git a/nixos/tests/ec2.nix b/nixos/tests/ec2.nix index ae9a79db5403..c8c26be813cd 100644 --- a/nixos/tests/ec2.nix +++ b/nixos/tests/ec2.nix @@ -18,12 +18,6 @@ let ../modules/testing/test-instrumentation.nix ../modules/profiles/qemu-guest.nix { - # Hack to make the partition resizing work in QEMU. - boot.initrd.postDeviceCommands = mkBefore '' - ln -s vda /dev/xvda - ln -s vda1 /dev/xvda1 - ''; - amazonImage.format = "qcow2"; # In a NixOS test the serial console is occupied by the "backdoor" @@ -31,30 +25,6 @@ let # the configuration in virtualisation/amazon-image.nix. systemd.services."serial-getty@ttyS0".enable = mkForce false; - # Needed by nixos-rebuild due to the lack of network - # access. Determined by trial and error. - system.extraDependencies = with pkgs; [ - # Needed for a nixos-rebuild. - busybox - cloud-utils - desktop-file-utils - libxslt.bin - mkinitcpio-nfs-utils - stdenv - stdenvNoCC - texinfo - unionfs-fuse - lndir - - # These are used in the configure-from-userdata tests - # for EC2. Httpd and valgrind are requested by the - # configuration. - apacheHttpd - apacheHttpd.doc - apacheHttpd.man - valgrind.doc - ]; - nixpkgs.pkgs = pkgs; } ]; @@ -68,8 +38,8 @@ let in { - boot-ec2-nixops = makeEc2Test { - name = "nixops-userdata"; + ec2-userdata = makeEc2Test { + name = "ec2-userdata"; meta.timeout = 600; inherit image; sshPublicKey = snakeOilPublicKey; # That's right folks! My user's key is also the host key! @@ -116,49 +86,4 @@ in machine.wait_for_file("/etc/ec2-metadata/user-data") ''; }; - - boot-ec2-config = makeEc2Test { - name = "config-userdata"; - meta.broken = true; # amazon-init wants to download from the internet while building the system - inherit image; - sshPublicKey = snakeOilPublicKey; - - # ### https://channels.nixos.org/nixos-unstable nixos - userData = '' - { pkgs, ... }: - - { - imports = [ - - - - ]; - environment.etc.testFile = { - text = "whoa"; - }; - - networking.hostName = "ec2-test-vm"; # required by services.httpd - - services.httpd = { - enable = true; - adminAddr = "test@example.org"; - virtualHosts.localhost.documentRoot = "''${pkgs.valgrind.doc}/share/doc/valgrind/html"; - }; - networking.firewall.allowedTCPPorts = [ 80 ]; - } - ''; - script = '' - machine.start() - - # amazon-init must succeed. if it fails, make the test fail - # immediately instead of timing out in wait_for_file. - machine.wait_for_unit("amazon-init.service") - - machine.wait_for_file("/etc/testFile") - assert "whoa" in machine.succeed("cat /etc/testFile") - - machine.wait_for_unit("httpd.service") - assert "Valgrind" in machine.succeed("curl http://localhost") - ''; - }; }