Author: eelco
Date: Tue May 10 13:52:10 2011
New Revision: 27214
URL: https://svn.nixos.org/websvn/nix/?rev=27214&sc=1
Log:
* Add an operation ‘--destroy’ to destroy all previously created cloud
machines.
Modified:
cloud/trunk/src/nixos-deploy-network.pl
Modified: cloud/trunk/src/nixos-deploy-network.pl
==============================================================================
--- cloud/trunk/src/nixos-deploy-network.pl Tue May 10 13:37:32 2011
(r27213)
+++ cloud/trunk/src/nixos-deploy-network.pl Tue May 10 13:52:10 2011
(r27214)
@@ -109,12 +109,26 @@
}
+# ‘--destroy’ destroys all VMs listed in the deployment state record,
+# i.e., the entire network previously deployed by
+# nixos-deploy-network.
+sub opDestroy {
+ readState();
+
+ foreach my $name (keys %{$state->{machines}}) {
+ my $machine = $state->{machines}->{$name};
+ killMachine($name, $machine);
+ }
+}
+
+
sub main {
my $op = \&opDeploy;
exit 1 unless GetOptions(
"state=s" => \$stateFile,
"info" => sub { $op = \&opInfo; },
+ "destroy" => sub { $op = \&opDestroy; },
"kill-obsolete!" => \$killObsolete,
);
@@ -199,6 +213,7 @@
}
delete $state->{machines}->{$name};
+ writeState;
}
@@ -265,13 +280,13 @@
foreach my $name (keys %{$state->{machines}}) {
next if defined $spec->{machines}->{$name};
my $machine = $state->{machines}->{$name};
- $machine->{obsolete} = 1;
if ($killObsolete) {
killMachine($name, $machine);
} else {
print STDERR "warning: VM ‘$name’ is obsolete; use
‘--kill-obsolete’ to get rid of it\n";
+ $machine->{obsolete} = 1;
+ writeState;
}
- writeState;
}
# Figure out how we're gonna SSH to each machine. Prefer IPv6
_______________________________________________
nix-commits mailing list
[email protected]
http://mail.cs.uu.nl/mailman/listinfo/nix-commits