Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
emulab
emulab-devel
Commits
f57c3f31
Commit
f57c3f31
authored
Oct 26, 2015
by
Leigh B Stoller
Browse files
Watch for nodes stuck in BOOTING for too long (in the same place we watch
for VNODEBOOTSTART hangs).
parent
96793a56
Changes
1
Hide whitespace changes
Inline
Side-by-side
protogeni/lib/GeniAggregate.pm.in
View file @
f57c3f31
...
...
@@ -1842,22 +1842,27 @@ sub WaitForNodes($$@)
next;
}
#
# Watch for a node stuck in VNODEBOOTSTART; this happens a lot with
# XEN VMs, a reboot typically solves it.
# Watch for a node stuck in VNODEBOOTSTART or BOOTING. For VMs,
# this happens a lot, a reboot typically solves it. For physnodes,
# we just fail.
#
if ($
node->isvirtnode()
&&
$op_mod
e eq TBDB_NODE
OPMOD
E_NO
RMALv2 &&
$state eq TBDB_NODESTATE_
VNODEBOOTSTART
&&
if ($
op_mode eq TBDB_NODEOPMODE_NORMALv2
&&
($stat
e eq TBDB_NODE
STAT
E_
V
NO
DEBOOTSTART ||
$state eq TBDB_NODESTATE_
BOOTING)
&&
$state eq $node->_laststate() &&
time() - $node->_laststatestamp() >
18
0) {
time() - $node->_laststatestamp() >
24
0) {
my $giveup = $node->_retried();
# physnode, give up right away.
$giveup = 1
if (!$node->isvirtnode());
if ($giveup) {
print STDERR
"
$
node_id
still
stuck
in
BOOTING
,
giving
up
.\
n
";
"
$
node_id
still
stuck
in
$
state
,
giving
up
.\
n
";
}
else {
print STDERR
"
$
node_id
is
stuck
in
BOOTING
,
restarting
it
.\
n
";
"
$
node_id
is
stuck
in
$
state
,
restarting
it
.\
n
";
$node->_retried(1);
system("
$
NODEREBOOT
$
node_id
");
$giveup = 1
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment