summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorJulia Kreger <juliaashleykreger@gmail.com>2020-10-09 17:12:07 -0700
committerBob Fournier <bfournie@redhat.com>2020-12-17 11:23:09 -0500
commitab08c200209aa852897b3a936bcaed9928b8b3fe (patch)
tree50948f76f8774acfe0d0a015dbeed0d47271ff6c /doc
parent0f438e7d8de9b689ebb2f239c5003afbf69dade2 (diff)
downloadironic-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.rst43
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