Commit e2ba5e3b authored by Leigh B. Stoller's avatar Leigh B. Stoller
Browse files

Make sure failed vnodes go into the DOWN allocstate so they get

freed up. Not strictly necessary, but a good idea. In any event,
if any vnodes fail to come up, do not retry. In most cases, its going
to fail again, so do not bother.
parent 3eadd25e
......@@ -65,6 +65,7 @@ my $vnode_setup = "$TB/sbin/vnode_setup";
my $osselect = "$TB/bin/os_select";
my $dbg = 0;
my $failed = 0;
my $failedvnodes= 0;
my %nodes = ();
my %vnodes = ();
my %vnodephosts = ();
......@@ -663,9 +664,9 @@ elsif (@vnodelist) {
}
SetNodeBootStatus($node, NODEBOOTSTATUS_FAILED);
TBSetNodeAllocState($node, TBDB_ALLOCSTATE_DOWN());
print "*** WARNING: $node may be down.\n".
" This has been reported to testbed-ops.\n";
print "*** WARNING: $node may be down.\n";
if ($canfail{$node}) {
# Send mail to testbed-ops and to the user about it.
......@@ -688,21 +689,25 @@ elsif (@vnodelist) {
print "*** Continuing with experiment setup anyway ...\n";
next;
}
print "*** Experiment will be terminated automatically.\n";
$failed++;
$failedvnodes++;
}
TBDebugTimeStamp("Virtual node waiting finished");
}
print "OS Setup Done. There were $failed failed nodes.\n";
print "OS Setup Done.\n";
print " *** There were $failed failed nodes\n"
if ($failed);
print " *** There were $failed failed virtual nodes\n"
if ($failedvnodes);
TBDebugTimeStamp("os_setup finished");
if ($failed > 0) {
exit 1;
} else {
exit 0;
}
# No retry if vnodes failed. Indicates a fatal problem.
exit(-1)
if ($failedvnodes);
exit(1)
if ($failed);
exit 0;
#
# Map an OSID to an imageid for a node type.
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment