Author: eelco
Date: Thu Apr 28 15:44:41 2011
New Revision: 27035
URL: https://svn.nixos.org/websvn/nix/?rev=27035&sc=1
Log:
* Support multiple network configurations stacked on top of each
other, as in r27028.
Modified:
cloud/trunk/src/eval-machine-info.nix
cloud/trunk/src/nixos-deploy-network.pl
Modified: cloud/trunk/src/eval-machine-info.nix
==============================================================================
--- cloud/trunk/src/eval-machine-info.nix Thu Apr 28 14:57:45 2011
(r27034)
+++ cloud/trunk/src/eval-machine-info.nix Thu Apr 28 15:44:41 2011
(r27035)
@@ -1,7 +1,7 @@
{ nixpkgs ? builtins.getEnv "NIXPKGS_ALL"
, nixos ? builtins.getEnv "NIXOS"
, system ? builtins.currentSystem
-, networkExpr
+, networkExprs
}:
with import "${nixos}/lib/testing.nix" { inherit nixpkgs system; };
@@ -10,19 +10,21 @@
rec {
- network = import networkExpr;
+ networks = map (networkExpr: import networkExpr) networkExprs;
+ network = zipAttrs networks;
+
nodes =
listToAttrs (map (configurationName:
let
- configuration = getAttr configurationName network;
+ modules = getAttr configurationName network;
in
{ name = configurationName;
value = import "${nixos}/lib/eval-config.nix" {
inherit nixpkgs;
modules =
- [ configuration
- # Slurp in the required configuration for machines in the adhoc
cloud.
+ modules ++
+ [ # Slurp in the required configuration for machines in the adhoc
cloud.
/home/eelco/Dev/configurations/tud/cloud/cloud-vm.nix
# Provide a default hostname and deployment target equal
# to the attribute name of the machine in the model.
Modified: cloud/trunk/src/nixos-deploy-network.pl
==============================================================================
--- cloud/trunk/src/nixos-deploy-network.pl Thu Apr 28 14:57:45 2011
(r27034)
+++ cloud/trunk/src/nixos-deploy-network.pl Thu Apr 28 15:44:41 2011
(r27035)
@@ -42,7 +42,7 @@
sub evalMachineInfo {
my $machineInfoXML =
- `nix-instantiate --eval-only --xml --strict ./eval-machine-info.nix
--argstr networkExpr $networkExpr -A machineInfo`;
+ `nix-instantiate --eval-only --xml --strict ./eval-machine-info.nix
--arg networkExprs '[ $networkExpr ]' -A machineInfo`;
die "evaluation of $networkExpr failed" unless $? == 0;
#print $machineInfoXML, "\n";
@@ -92,7 +92,7 @@
sub buildConfigs {
print STDERR "building all machine configurations...\n";
- $outPath = `nix-build ./eval-machine-info.nix --argstr networkExpr
$networkExpr -A machines`;
+ $outPath = `nix-build ./eval-machine-info.nix --arg networkExprs '[
$networkExpr ]' -A machines`;
die "unable to build all machine configurations" unless $? == 0;
chomp $outPath;
}
_______________________________________________
nix-commits mailing list
[email protected]
http://mail.cs.uu.nl/mailman/listinfo/nix-commits