Commit d11e9993 authored by Mike Hibler's avatar Mike Hibler

Force a reboot from PXEWAIT state if the ExternalManagement feature is on.

parent cc34a49a
...@@ -124,6 +124,7 @@ sub New($$$@) ...@@ -124,6 +124,7 @@ sub New($$$@)
$self->noretry(0); $self->noretry(0);
$self->canceled(0); $self->canceled(0);
$self->aborted(0); $self->aborted(0);
$self->realreboot(0);
if (EmulabFeatures->FeatureEnabled("NewOsload",$user, if (EmulabFeatures->FeatureEnabled("NewOsload",$user,
$self->{'GROUP'},$experiment)) { $self->{'GROUP'},$experiment)) {
...@@ -709,6 +710,7 @@ sub LightUpNodes($@) ...@@ -709,6 +710,7 @@ sub LightUpNodes($@)
$reboot_args{'debug'} = $self->debug(); $reboot_args{'debug'} = $self->debug();
$reboot_args{'waitmode'} = 0; $reboot_args{'waitmode'} = 0;
$reboot_args{'asyncmode'} = 1; $reboot_args{'asyncmode'} = 1;
$reboot_args{'rebootmode'} = $self->realreboot();
$reboot_args{'nodelist'} = [ @list ]; $reboot_args{'nodelist'} = [ @list ];
my $pid = nodereboot(\%reboot_args, $reboot_failures); my $pid = nodereboot(\%reboot_args, $reboot_failures);
...@@ -728,6 +730,7 @@ sub LightUpNodes($@) ...@@ -728,6 +730,7 @@ sub LightUpNodes($@)
$reboot_args{'debug'} = $self->debug(); $reboot_args{'debug'} = $self->debug();
$reboot_args{'waitmode'} = 0; $reboot_args{'waitmode'} = 0;
$reboot_args{'asyncmode'} = 1; $reboot_args{'asyncmode'} = 1;
$reboot_args{'rebootmode'} = $self->realreboot();
$reboot_args{'reconfig'} = 1; $reboot_args{'reconfig'} = 1;
$reboot_args{'nodelist'} = [ @list ]; $reboot_args{'nodelist'} = [ @list ];
......
...@@ -177,6 +177,17 @@ else { ...@@ -177,6 +177,17 @@ else {
$MyStruct->plabinelab(0); $MyStruct->plabinelab(0);
} }
#
# External node management means that someone else is going to be
# answering DHCP after nodes reboot. For nodes in PXEWAIT, we need
# to make sure they are really rebooted and not just told to check
# in with bootinfo again.
#
if (FeatureEnabled("ExternalNodeManagement", $experiment->GetSwapper(),
$experiment->GetProject(), $experiment)) {
$MyStruct->realreboot(1);
}
# #
# First pass to check that all local files exist. This should probably # First pass to check that all local files exist. This should probably
# happen earlier in the swap path. # happen earlier in the swap path.
......
Markdown is supported
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