This page details how to migrate NCNs from depending on their onboard NICs for PXE booting, and booting over the spine switches.
This applies to Newer systems (Spring 2020 or newer) where onboard NICs are still used.
This presents a need for migration for systems still using the legacy, preview topology. Specifically, systems with onboard connections to their leaf switches and NCNs need to disable/remove that connection.
This onboard NCN port came from before spine-switches were added to the shasta-network topology. The onboard connection was responsible for every network (MTL/NMN/HMN/CAN) and was the sole driver of PXE booting for. Now, NCNs use bond interfaces and spine switches for those networks, however some older systems still have this legacy connection to their leaf switches and solely use it for PXE booting. This NIC is not used during runtime, and NCNs in this state should enable PXE within their PCIe devices’ OpROMs and disable/remove this onboard connection.
This uses the Mellanox CLI Tools for configuring UEFI PXE from the Linux command line.
On any NCN (using 0.0.10 k8s, or 0.0.8 Ceph anything built on ncn-0.0.21 or higher) can run this to begin interacting with Mellanox cards: If you are recovering NCNs with an earlier image without the mellanox tools, please refer to the section on the bottom of the Mellanox this segment.
ncn# mst start
Now mst status
and other commands like mlxfwmanager
or mlxconfig
will work, and devices required for these commands will be created in /dev/mst
.
UEFI: all boots are UEFI, this needs to be enabled for access to the UEFI OpROM for configuration and for usage of UEFI firmwares. SR_IOV: This is currently DISABLED because it can attribute to longer POSTs on HPE blades (Gen10+, i.e. DL325 or DL385) with Mellanox ConnectX-5 PCIe cards. The technology is not yet enabled for virtualization usage, but may be in the future.
Use this snippet to print out device name and current UEFI PXE state.
ncn# mst status
for MST in $(ls /dev/mst/*); do
mlxconfig -d ${MST} q | egrep "(Device|EXP_ROM|SRIOV_EN)"
done
Use this snippet to enable and dump UEFI PXE state.
for MST in $(ls /dev/mst/*); do
echo ${MST}
mlxconfig -d ${MST} -y set EXP_ROM_UEFI_x86_ENABLE=1
mlxconfig -d ${MST} -y set EXP_ROM_PXE_ENABLE=1
mlxconfig -d ${MST} -y set SRIOV_EN=0
mlxconfig -d ${MST} q | egrep "EXP_ROM"
done
For worker nodes with High-Speed network attachments, the PXE and SR-IOV features should be disabled.
Run mlxfwmanager
to probe and dump your Mellanox PCIe cards
ncn# mlxfwmanager
Find the device path for the HSN card, assuming it is a ConnectX-5 or other 100GB card this should be easy to pick out.
Run this, swapping the MST
variable for your actual card path
# Set UEFI to YES
ncn# MST=/dev/mst/mt4119_pciconf1
ncn# mlxconfig -d ${MST} -y set EXP_ROM_UEFI_ARM_ENABLE=0
ncn# mlxconfig -d ${MST} -y set EXP_ROM_UEFI_x86_ENABLE=0
ncn# mlxconfig -d ${MST} -y set EXP_ROM_PXE_ENABLE=0
ncn# mlxconfig -d ${MST} -y set SRIOV_EN=0
ncn# mlxconfig -d ${MST} q | egrep "EXP_ROM"
Your Mellanox HSN card is now neutralized, and will only be usable in a booted system.
mft
is installed in 1.4 NCN images, for 1.3 systems they will need to obtain the tools by hand:
linux# wget https://www.mellanox.com/downloads/MFT/mft-4.15.1-9-x86_64-rpm.tgz
linux# tar -xzvf mft-4.15.1-9-x86_64-rpm.tgz
linux# cd mft-4.15.1-9-x86_64-rpm/RPMS
linux# rpm -ivh ./mft-4.15.1-9.x86_64.rpm
linux# cd
linux# mst start
These should already be configured for PXE booting.
KMP modules for Qlogic are installed:
See [#casm-triage][2] if this is not the case.
The onboard connection can be disabled a few ways, short of removing the physical connection one may shutdown the switchport as well.
If you can remove the physical connection, this is preferred and can be done so after enabling PXE on the PCIe cards.
If you want to disable the connection, you will need to login to your respective leaf switch.
Select one of the connection options below. The IP addresses and device names may vary in the commands below. ```bash # SSH over METAL MANAGEMENT pit# ssh admin@10.1.0.4 # SSH over NODE MANAGEMENT pit# ssh admin@10.252.0.4 # SSH over HARDWARE MANAGEMENT pit# ssh admin@10.254.0.4
# or.. serial (device name will vary).
pit# minicom -b 115200 -D /dev/tty.USB1
```
sw-leaf-001> configure terminal
sw-leaf-001(config)#>
sw-leaf-001(config)#> interface range 1/1/2-1/1/10
sw-leaf-001(config)#> shutdown
sw-leaf-001(config)#> write memory
You can enable them again at anytime by switching the shutdown
command out for no shutdown
.