Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@gurevichmark
Copy link
Contributor

@gurevichmark gurevichmark commented Apr 6, 2017

Helps resolve #2706

Under certain conditions we can get a transient 00 BMC ready code before BMC starts rebooting itself.
This pull request makes sure BMC 00 ready code stays on for a little more than one minute before assuming that BMC is ready.
-V flag will display additional debugging information while waiting for BMC to be ready:

-bash-4.2$  rflash c460c116 /root/hpm/garrison/8335GTB_820.1642.20170327n_update.hpm -V
c460c116: rflash started, please wait.......
c460c116: rflashing ... See the detail progress : "tail -f /var/log/xcat/rflash/c460c116.log"
c460c116: (0) BMC ready code - 00
c460c116: (1) BMC ready code - 00
c460c116: (2) BMC ready code - 00
c460c116: Resetting counter because BMC ready code - Error: Unable to establish IPMI v2 / RMCP+ session
c460c116: (0) BMC ready code - 00
c460c116: (1) BMC ready code - 00
c460c116: (2) BMC ready code - 00
c460c116: (3) BMC ready code - 00
c460c116: (4) BMC ready code - 00
c460c116: (5) BMC ready code - 00
c460c116: (6) BMC ready code - 00
c460c116: (7) BMC ready code - 00
c460c116: (8) BMC ready code - 00
c460c116: (9) BMC ready code - 00
c460c116: (10) BMC ready code - 00
c460c116: (11) BMC ready code - 00
c460c116: (12) BMC ready code - 00
c460c116: (13) BMC ready code - 00
c460c116: (14) BMC ready code - 00
c460c116: (15) BMC ready code - 00
c460c116: Received BMC ready code 00 for 16 iterations - BMC is ready.
c460c116: Success to update firmware. FRU information will be populated in a few minutes.
-bash-4.2$

@chenglch
Copy link
Contributor

chenglch commented Apr 7, 2017

Thanks @gurevichmark , looks good to me.

my $sessdata = shift;
my $ret;
my $ipmitool_ver;
my $verbose = 0;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@gurevichmark the way this is written. We won't check the verbose option until before the hpm upgrade step so the first call to check ready status after mc reset cold will have verbose level of 0, regardless of whether -V was passed in, correct?

for my $opt (@{$sessdata->{'extraargs'}}) {
if ($opt =~ /-V{1,4}/) {
$cmd .= lc($opt);
$verbose = 1;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this setting here will not take effect on the other calls above for check_bmc_status_with_ipmitool(), we might want to have a similar check earlier in the code path to build up the verbose option. Does the -vvvv need to be passed to ipmitool at the end?

Looks like we can also search the extraargs for things like --buffersize=XXXXXX to control overriding the buffersize since this seems to come into play the last few days...

Copy link
Member

@whowutwut whowutwut left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

my comments are not critical, we can merge this first and prepare a RC build to continue the testing tomorrow.. We still need to talk to FW team about the possibility of the buffersize change anyway..

@zet809
Copy link

zet809 commented Apr 7, 2017

The modification looks good, @gurevichmark, thx very much!

@zet809 zet809 merged commit 1fc4904 into xcat2:master Apr 7, 2017
@gurevichmark gurevichmark deleted the rflash_wait_for_00 branch April 17, 2017 17:47
@whowutwut whowutwut added this to the 2.13.3 milestone Jan 5, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

can't use rflash if node fails to boot after using rflash.

4 participants