diff options
author | Julia Kreger <juliaashleykreger@gmail.com> | 2020-10-09 17:12:07 -0700 |
---|---|---|
committer | Bob Fournier <bfournie@redhat.com> | 2020-12-17 11:23:09 -0500 |
commit | ab08c200209aa852897b3a936bcaed9928b8b3fe (patch) | |
tree | 50948f76f8774acfe0d0a015dbeed0d47271ff6c /doc | |
parent | 0f438e7d8de9b689ebb2f239c5003afbf69dade2 (diff) | |
download | ironic-ab08c200209aa852897b3a936bcaed9928b8b3fe.tar.gz |
IPMI: Handle vendor set boot device differences
Supermicro machines, when in UEFI mode, have a different
device number, in binary, to represent the hard disk from
other vendors such as Fujitsu which actually has somewhat
similar code in their driver.
This means we need to be somewhat cognizent of the vendor of
the BMC and possibly update the device mapping based upon that
vendor.
This may ultimately fix a number of IPMI related problems, because
there is a reliance upon the text output of ipmitool, which only
reads the bytes retured by the BMC, which may not be reality after
the next reset, espescialy if ipmitool doesn't know of the UEFI
operating difference.
Change-Id: Ie19db9e0cf1eafdfc9bb46248f4d457337821f94
Story: 2008241
Task: 41085
(cherry picked from commit a7ac9ce8cd53fdebdf0d9aaeaf439da08a0b3ec8)
Remove detect_vendor decorator
And move a lock creation to vendor storage, which... should be
okay.
mgoddard reported issues in one of his projects where ironic was
reporting that there were errors on the power sync process,
ultimately due to the decorator from the very first iteration of
the detect vendor code.
Change-Id: Icd0dc3fe59a3815d6f78d881eb280f406e7d0c69
(cherry picked from commit 9a858ad4ff092e371d6a1113b03b6099eac7397e)
Diffstat (limited to 'doc')
-rw-r--r-- | doc/source/admin/drivers/ipmitool.rst | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/doc/source/admin/drivers/ipmitool.rst b/doc/source/admin/drivers/ipmitool.rst index b9cca3e4a..2cc0cd859 100644 --- a/doc/source/admin/drivers/ipmitool.rst +++ b/doc/source/admin/drivers/ipmitool.rst @@ -198,6 +198,49 @@ See :ref:`static-boot-order`. .. TODO(lucasagomes): Write about privilege level .. TODO(lucasagomes): Write about force boot device +Vendor Differences +~~~~~~~~~~~~~~~~~~ + +While the Intelligent Platform Management Interface (IPMI) interface is based +upon a defined standard, the Ironic community is aware of at least one vendor +which utilizes a non-standard boot device selector. In essence, this could be +something as simple as different interpretation of the standard. + +As of October 2020, the known difference is with Supermicro hardware where +a selector of ``0x24``, signifying a *REMOTE* boot device in the standard, +must be used when a boot operation from the local disk subsystem is requested +**in UEFI mode**. This is contrary to BIOS mode where the same BMC's expect +the selector to be a value of ``0x08``. + +Because the BMC does not respond with any sort of error, nor do we want to +risk BMC connectivity issues by explicitly querying all BMCs what vendor it may +be before every operation, the vendor can automatically be recorded in the +``properties`` field ``vendor``. When this is set to a value of +``supermicro``, Ironic will navigate the UEFI behavior difference enabling +the UEFI to be requested with boot to disk. + +Example:: + + baremetal node set <UUID or name> \ + --properties vendor="supermicro" + +Luckily, Ironic will attempt to perform this detection in power +synchronization process, and record this value if not already set. + +While similar issues may exist when setting the boot mode and target +boot device in other vendors' BMCs, we are not aware of them at present. +Should you encounter such an issue, please feel free to report this via +`Storyboard <https://storyboard.openstack.org>`_, and be sure to include +the ``chassis bootparam get 5`` output value along with the ``mc info`` +output from your BMC. + +Example:: + + ipmitool -I lanplus -H <BMC ADDRESS> -U <Username> -P <Password> \ + mc info + ipmitool -I lanplus -H <BMC ADDRESS> -U <Username> -P <Password> \ + chassis bootparam get 5 + .. _IPMItool: https://sourceforge.net/projects/ipmitool/ .. _IPMI: https://en.wikipedia.org/wiki/Intelligent_Platform_Management_Interface .. _BMC: https://en.wikipedia.org/wiki/Intelligent_Platform_Management_Interface#Baseboard_management_controller |