@ -11,7 +11,6 @@ let
modules = [
../maintainers/scripts/ec2/amazon-image.nix
../modules/testing/test-instrumentation.nix
../modules/profiles/minimal.nix
../modules/profiles/qemu-guest.nix
{ ec2 . hvm = true ;
@ -30,9 +29,8 @@ let
metaData = pkgs . stdenv . mkDerivation {
name = " m e t a d a t a " ;
buildCommand = ''
mkdir - p $ out/2011-01-01
ln - s $ { pkgs . writeText " u s e r D a t a " userData } $ out/2011-01-01/user-data
mkdir - p $ out/1.0/meta-data
ln - s $ { pkgs . writeText " u s e r D a t a " userData } $ out/1.0/user-data
echo " ${ hostname } " > $ out/1.0/meta-data/hostname
echo " ( u n k n o w n ) " > $ out/1.0/meta-data/ami-manifest-path
'' + o p t i o n a l S t r i n g ( s s h P u b l i c K e y ! = n u l l ) ''
@ -48,7 +46,7 @@ let
my $ imageDir = ( $ ENV { ' TMPDIR' } // " / t m p " ) . " / v m - s t a t e - m a c h i n e " ;
mkdir $ imageDir , 0700 ;
my $ diskImage = " $ i m a g e D i r / m a c h i n e . q c o w 2 " ;
system ( " q e m u - i m g c r e a t e - f q c o w 2 - o b a c k i n g _ f i l e = ${ image } / n i x o s . i m g $ d i s k I m a g e " ) == 0 or die ;
system ( " q e m u - i m g c r e a t e - f q c o w 2 - o b a c k i n g _ f i l e = ${ image } / n i x o s . q c o w 2 $ d i s k I m a g e " ) == 0 or die ;
system ( " q e m u - i m g r e s i z e $ d i s k I m a g e 1 0 G " ) == 0 or die ;
# Note: we use net=169.0.0.0/8 rather than
@ -91,7 +89,7 @@ in {
'' ;
script = ''
$ machine- > start ;
$ machine- > waitForFile ( " / r o o t / u s e r - d a t a " ) ;
$ machine- > waitForFile ( " / e t c / e c 2 - m e t a d a t a / u s e r - d a t a " ) ;
$ machine- > waitForUnit ( " s s h d . s e r v i c e " ) ;
$ machine- > succeed ( " g r e p u n k n o w n / e t c / e c 2 - m e t a d a t a / a m i - m a n i f e s t - p a t h " ) ;
@ -121,7 +119,7 @@ in {
# Just to make sure resizing is idempotent.
$ machine- > shutdown ;
$ machine- > start ;
$ machine- > waitForFile ( " / r o o t / u s e r - d a t a " ) ;
$ machine- > waitForFile ( " / e t c / e c 2 - m e t a d a t a / u s e r - d a t a " ) ;
'' ;
} ;
@ -135,6 +133,7 @@ in {
imports = [
<nixpkgs/nixos/modules/virtualisation/amazon-image.nix>
<nixpkgs/nixos/modules/testing/test-instrumentation.nix>
<nixpkgs/nixos/modules/profiles/qemu-guest.nix>
] ;
environment . etc . testFile = {
text = " w h o a " ;