Mini-design for streamline the rflash procedure to run unattended
Background
OpenBMC implemented a flash for their FW process that allows for great flexibility, but with that, introduces complexity that most system admins may not want to deal with. While a system admin could upload the FW files to the BMC before a maintenance window, the upload step doesn't take hours, so the savings in time vs the added steps may not be worth it for some. In the past, BMCs also provided a single image with BMC+PNOR or a utility to perform the correct actions on the target node to ensure that the software updates with minimal issues. None of this is currently provided by OpenBMC So for OpenBMC, we can streamline the firmware flash process to do the necessary steps against the target node to help ensure that the BMC and PNOR are updated correctly and the BMC and Host are rebooted for the update to apply.
Interface
In the past, [-d|--delete]
is to delete update image from BMC.
In this enhancement, keeping --delete
to delete update image as original function, while using -d <path-to-directory>
to specify BMC+PNOR tar ball directory. If disable reboot host, using --no-host-reboot
option like this:
rflash <noderange> -d /path-to-directory/
rflash <noderange> -d /path-to-directory/ --no-host-reboot
Plugin file
/opt/xcat/lib/perl/xCAT_plugin/openbmc.pm
/opt/xcat/lib/perl/xCAT/OPENBMC.pm
The main function logic
- Parse input argument -d
- Look in the tar ball path-to-directory
- do some error checking, only 1 PNOR and 1 BMC are allowed
- If there is only 1 tar ball file, suggest : user put both 1 PNOR and 1 BMC in this directory or using -a option, exit command
- upload the 2 tar ball files
- Activate the BMC
- Activate the PNOR
- Wait here until the BMC and PNOR become Active
- Once both active:
- Reboot the bmc
- Wait for BMC to become BMCReady (takes 4-5 minutes or so...
- Power reset the Host
- Exit command.
Status Machine
LOGIN
|
RFLASH_FILE_UPLOAD_REQUEST -------> upload bmc+pnor tar ball
|
RFLASH_FILE_UPLOAD_RESPONSE
|
RFLASH_UPDATE_CHECK_ID_REQUEST
|
RFLASH_UPDATE_CHECK_ID_RESPONSE
|
RFLASH_UPDATE_ACTIVATE_REQUEST -------> update and activate bmc
|
RFLASH_UPDATE_ACTIVATE_RESPONSE
|
RFLASH_UPDATE_HOST_ACTIVATE_REQUEST -------> update and activate pnor
|
RFLASH_UPDATE_HOST_ACTIVATE_RESPONSE
|
RFLASH_UPDATE_CHECK_STATE_REQUEST
|
RFLASH_UPDATE_CHECK_STATE_RESPONSE
|
RPOWER_BMCREBOOT_REQUEST -------> if BMCReady, reboot bmc
|
RPOWER_RESET_RESPONSE
|
RPOWER_OFF_REQUEST -------> power off host
|
RPOWER_OFF_RESPONSE
|
RPOWER_ON_REQUEST -------> power on host
|
RPOWER_ON_RESPONSE
News
- Apr 22, 2016: xCAT 2.11.1 released.
- Mar 11, 2016: xCAT 2.9.3 (AIX only) released.
- Dec 11, 2015: xCAT 2.11 released.
- Nov 11, 2015: xCAT 2.9.2 (AIX only) released.
- Jul 30, 2015: xCAT 2.10 released.
- Jul 30, 2015: xCAT migrates from sourceforge to github
- Jun 26, 2015: xCAT 2.7.9 released.
- Mar 20, 2015: xCAT 2.9.1 released.
- Dec 12, 2014: xCAT 2.9 released.
- Sep 5, 2014: xCAT 2.8.5 released.
- May 23, 2014: xCAT 2.8.4 released.
- Jan 24, 2014: xCAT 2.7.8 released.
- Nov 15, 2013: xCAT 2.8.3 released.
- Jun 26, 2013: xCAT 2.8.2 released.
- May 17, 2013: xCAT 2.7.7 released.
- May 10, 2013: xCAT 2.8.1 released.
- Feb 28, 2013: xCAT 2.8 released.
- Nov 30, 2012: xCAT 2.7.6 released.
- Oct 29, 2012: xCAT 2.7.5 released.
- Aug 27, 2012: xCAT 2.7.4 released.
- Jun 22, 2012: xCAT 2.7.3 released.
- May 25, 2012: xCAT 2.7.2 released.
- Apr 20, 2012: xCAT 2.7.1 released.
- Mar 19, 2012: xCAT 2.7 released.
- Mar 15, 2012: xCAT 2.6.11 released.
- Jan 23, 2012: xCAT 2.6.10 released.
- Nov 15, 2011: xCAT 2.6.9 released.
- Sep 30, 2011: xCAT 2.6.8 released.
- Aug 26, 2011: xCAT 2.6.6 released.
- May 20, 2011: xCAT 2.6 released.
- Feb 14, 2011: Watson plays on Jeopardy and is managed by xCAT!
- xCAT Release Notes Summary
- xCAT OS And Hw Support Matrix
- xCAT Test Environment Summary
History
- Oct 22, 2010: xCAT 2.5 released.
- Apr 30, 2010: xCAT 2.4 is released.
- Oct 31, 2009: xCAT 2.3 released.
xCAT's 10 year anniversary! - Apr 16, 2009: xCAT 2.2 released.
- Oct 31, 2008: xCAT 2.1 released.
- Sep 12, 2008: Support for xCAT 2
can now be purchased! - June 9, 2008: xCAT breaths life into
(at the time) the fastest
supercomputer on the planet - May 30, 2008: xCAT 2.0 for Linux
officially released! - Oct 31, 2007: IBM open sources
xCAT 2.0 to allow collaboration
among all of the xCAT users. - Oct 31, 1999: xCAT 1.0 is born!
xCAT started out as a project in
IBM developed by Egan Ford. It
was quickly adopted by customers
and IBM manufacturing sites to
rapidly deploy clusters.