summary refs log tree commit diff
path: root/nixos/lib
diff options
context:
space:
mode:
authorEelco Dolstra <edolstra@gmail.com>2018-02-22 17:28:51 +0100
committerEelco Dolstra <edolstra@gmail.com>2018-02-22 17:28:51 +0100
commitd12c9911dfcb336243c9d13b8bc7042be3f3d4b2 (patch)
treeb689c775feef38ad8c315999e0a761dfa694eb1e /nixos/lib
parentfab12188b855d9ac1f64f486ee38f1cf7d53c8f4 (diff)
parent186c76539855a8d1a3e76af0ff95b5de50aa48f8 (diff)
downloadnixlib-d12c9911dfcb336243c9d13b8bc7042be3f3d4b2.tar
nixlib-d12c9911dfcb336243c9d13b8bc7042be3f3d4b2.tar.gz
nixlib-d12c9911dfcb336243c9d13b8bc7042be3f3d4b2.tar.bz2
nixlib-d12c9911dfcb336243c9d13b8bc7042be3f3d4b2.tar.lz
nixlib-d12c9911dfcb336243c9d13b8bc7042be3f3d4b2.tar.xz
nixlib-d12c9911dfcb336243c9d13b8bc7042be3f3d4b2.tar.zst
nixlib-d12c9911dfcb336243c9d13b8bc7042be3f3d4b2.zip
Merge remote-tracking branch 'origin/master' into nix-2.0
Diffstat (limited to 'nixos/lib')
-rw-r--r--nixos/lib/build-vms.nix4
-rw-r--r--nixos/lib/make-disk-image.nix4
-rw-r--r--nixos/lib/testing.nix16
3 files changed, 18 insertions, 6 deletions
diff --git a/nixos/lib/build-vms.nix b/nixos/lib/build-vms.nix
index 4685fe6914a2..e14105f5f011 100644
--- a/nixos/lib/build-vms.nix
+++ b/nixos/lib/build-vms.nix
@@ -51,7 +51,7 @@ rec {
             let
               interfacesNumbered = zipLists config.virtualisation.vlans (range 1 255);
               interfaces = flip map interfacesNumbered ({ fst, snd }:
-                nameValuePair "eth${toString snd}" { ip4 =
+                nameValuePair "eth${toString snd}" { ipv4.addresses =
                   [ { address = "192.168.${toString fst}.${toString m.snd}";
                       prefixLength = 24;
                   } ];
@@ -64,7 +64,7 @@ rec {
                   networking.interfaces = listToAttrs interfaces;
 
                   networking.primaryIPAddress =
-                    optionalString (interfaces != []) (head (head interfaces).value.ip4).address;
+                    optionalString (interfaces != []) (head (head interfaces).value.ipv4.addresses).address;
 
                   # Put the IP addresses of all VMs in this machine's
                   # /etc/hosts file.  If a machine has multiple
diff --git a/nixos/lib/make-disk-image.nix b/nixos/lib/make-disk-image.nix
index 6269e4279380..4da863469032 100644
--- a/nixos/lib/make-disk-image.nix
+++ b/nixos/lib/make-disk-image.nix
@@ -85,7 +85,7 @@ let format' = format; in let
   nixpkgs = cleanSource pkgs.path;
 
   # FIXME: merge with channel.nix / make-channel.nix.
-  channelSources = pkgs.runCommand "nixos-${config.system.nixosVersion}" {} ''
+  channelSources = pkgs.runCommand "nixos-${config.system.nixos.version}" {} ''
     mkdir -p $out
     cp -prd ${nixpkgs} $out/nixos
     chmod -R u+w $out/nixos
@@ -93,7 +93,7 @@ let format' = format; in let
       ln -s . $out/nixos/nixpkgs
     fi
     rm -rf $out/nixos/.git
-    echo -n ${config.system.nixosVersionSuffix} > $out/nixos/.version-suffix
+    echo -n ${config.system.nixos.versionSuffix} > $out/nixos/.version-suffix
   '';
 
   binPath = with pkgs; makeBinPath (
diff --git a/nixos/lib/testing.nix b/nixos/lib/testing.nix
index cf213d906f58..efcafbaa5554 100644
--- a/nixos/lib/testing.nix
+++ b/nixos/lib/testing.nix
@@ -29,7 +29,7 @@ rec {
         cp ${./test-driver/Logger.pm} $libDir/Logger.pm
 
         wrapProgram $out/bin/nixos-test-driver \
-          --prefix PATH : "${lib.makeBinPath [ qemu vde2 netpbm coreutils ]}" \
+          --prefix PATH : "${lib.makeBinPath [ qemu_test vde2 netpbm coreutils ]}" \
           --prefix PERL5LIB : "${with perlPackages; lib.makePerlPath [ TermReadLineGnu XMLWriter IOTty FileSlurp ]}:$out/lib/perl5/site_perl"
       '';
   };
@@ -78,7 +78,19 @@ rec {
     } @ t:
 
     let
-      testDriverName = "nixos-test-driver-${name}";
+      # A standard store path to the vm monitor is built like this:
+      #   /tmp/nix-build-vm-test-run-$name.drv-0/vm-state-machine/monitor
+      # The max filename length of a unix domain socket is 108 bytes.
+      # This means $name can at most be 50 bytes long.
+      maxTestNameLen = 50;
+      testNameLen = builtins.stringLength name;
+
+      testDriverName = with builtins;
+        if testNameLen > maxTestNameLen then
+          abort ("The name of the test '${name}' must not be longer than ${toString maxTestNameLen} " +
+            "it's currently ${toString testNameLen} characters long.")
+        else
+          "nixos-test-driver-${name}";
 
       nodes = buildVirtualNetwork (
         t.nodes or (if t ? machine then { machine = t.machine; } else { }));