Skip to content

Commit eb90e73

Browse files
author
Digimer
committed
* Updated the logic on how to reset the BMC after reconfig during an install to handle cold-reseting Dell BMCs.
Signed-off-by: Digimer <digimer@alteeve.ca>
1 parent be100cf commit eb90e73

File tree

2 files changed

+15
-8
lines changed

2 files changed

+15
-8
lines changed

AN/Tools.pm

+1-1
Original file line numberDiff line numberDiff line change
@@ -1523,7 +1523,7 @@ sub _load_fcntl
15231523
return (0);
15241524
}
15251525

1526-
# This loads the 'Math::BigInt' module.
1526+
# This loads the 'IO::Handle' module.
15271527
sub _load_io_handle
15281528
{
15291529
my $self = shift;

AN/Tools/InstallManifest.pm

+14-7
Original file line numberDiff line numberDiff line change
@@ -3586,8 +3586,9 @@ sub configure_ipmi_on_node
35863586
}, file => $THIS_FILE, line => __LINE__});
35873587
if ($return_code eq "0")
35883588
{
3589-
my $reset_bmc = 0;
3590-
my $shell_call = $an->data->{path}{dmidecode}." --string system-manufacturer";
3589+
my $reset_bmc = "";
3590+
my $reset_delay = 60;
3591+
my $shell_call = $an->data->{path}{dmidecode}." --string system-manufacturer";
35913592
$an->Log->entry({log_level => 2, message_key => "an_variables_0002", message_variables => {
35923593
name1 => "target", value1 => $target,
35933594
name2 => "shell_call", value2 => $shell_call,
@@ -3606,7 +3607,14 @@ sub configure_ipmi_on_node
36063607

36073608
if (lc($line) eq "hp")
36083609
{
3609-
$reset_bmc = 1;
3610+
$reset_bmc = "warm";
3611+
$an->Log->entry({log_level => 2, message_key => "an_variables_0001", message_variables => {
3612+
name1 => "reset_bmc", value1 => $reset_bmc,
3613+
}, file => $THIS_FILE, line => __LINE__});
3614+
}
3615+
elsif ($line =~ /dell/i)
3616+
{
3617+
$reset_bmc = "cold";
36103618
$an->Log->entry({log_level => 2, message_key => "an_variables_0001", message_variables => {
36113619
name1 => "reset_bmc", value1 => $reset_bmc,
36123620
}, file => $THIS_FILE, line => __LINE__});
@@ -3622,7 +3630,7 @@ sub configure_ipmi_on_node
36223630
$an->Log->entry({log_level => 1, message_key => "log_0004", file => $THIS_FILE, line => __LINE__});
36233631

36243632
# Do the reset.
3625-
my $shell_call = $an->data->{path}{ipmitool}." bmc reset warm";
3633+
my $shell_call = $an->data->{path}{ipmitool}." bmc reset ".$reset_bmc;
36263634
$an->Log->entry({log_level => 2, message_key => "an_variables_0002", message_variables => {
36273635
name1 => "target", value1 => $target,
36283636
name2 => "shell_call", value2 => $shell_call,
@@ -3641,9 +3649,8 @@ sub configure_ipmi_on_node
36413649
}
36423650

36433651
# Sleep for a minute to give time for the BMC to reset.
3644-
my $sleep = 60;
3645-
$an->Log->entry({log_level => 1, message_key => "log_0005", message_variables => { 'sleep' => $sleep }, file => $THIS_FILE, line => __LINE__});
3646-
sleep $sleep;
3652+
$an->Log->entry({log_level => 1, message_key => "log_0005", message_variables => { 'sleep' => $reset_delay }, file => $THIS_FILE, line => __LINE__});
3653+
sleep $reset_delay;
36473654
}
36483655
}
36493656

0 commit comments

Comments
 (0)