Skip to content

Commit 0650fda

Browse files
authored
Merge pull request #93012 from johnwilkins/HCIDOCS-249
HCIDOCS-249: Metal3 Support for Network Controller Sideband Interface (NC-SI)
2 parents 7e51247 + 1b6666e commit 0650fda

File tree

4 files changed

+127
-2
lines changed

4 files changed

+127
-2
lines changed

installing/installing_bare_metal/ipi/ipi-install-post-installation-configuration.adoc

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,13 @@ include::modules/bmo-editing-a-baremetalhost-resource.adoc[leveloffset=+2]
3737
include::modules/bmo-troubleshooting-latency-when-deleting-a-baremetalhost-resource.adoc[leveloffset=+2]
3838
// Attaching a non-bootable ISO to a bare-metal node
3939
include::modules/bmo-attaching-a-non-bootable-iso-to-a-bare-metal-node.adoc[leveloffset=+2]
40+
// Configuring NC-SI and DisablePowerOff for shared NICs
41+
include::modules/bmo-configuring-ncsi-disable-poweroff.adoc[leveloffset=+2]
42+
[role="_additional-resources"]
43+
.Additional resources
44+
45+
* xref:../../../installing/installing_bare_metal/ipi/ipi-install-installation-workflow.adoc#bmc-addressing_ipi-install-installation-workflow[BMC addressing]
46+
4047
// About the HostFirmwareSettings resource
4148
include::modules/bmo-about-the-hostfirmwaresettings-resource.adoc[leveloffset=+2]
4249
// Getting the HostFirmwareSettings resource

installing/installing_bare_metal/ipi/ipi-install-prerequisites.adoc

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ toc::[]
88

99
Installer-provisioned installation of {product-title} requires:
1010

11-
ifdef::openshift-origin[. One provisioner node with {op-system-first} installed. The provisioner can be removed after installation.]
11+
ifdef::openshift-origin[. One provisioner node with {op-system-first} installed. You can remove the provisioner node after installation.]
1212
ifndef::openshift-origin[. One provisioner node with {op-system-base-full} {op-system-version} installed. The provisioner can be removed after installation.]
1313
. Three control plane nodes
1414
. Baseboard management controller (BMC) access to each node
@@ -37,7 +37,14 @@ include::modules/ipi-install-firmware-requirements-for-installing-with-virtual-m
3737
[role="_additional-resources"]
3838
.Additional resources
3939

40-
xref:../../../installing/installing_bare_metal/ipi/ipi-install-troubleshooting.adoc#unable-to-discover-new-bare-metal-hosts-using-the-bmc_ipi-install-troubleshooting[Unable to discover new bare metal hosts using the BMC]
40+
xref:../../../installing/installing_bare_metal/ipi/ipi-install-troubleshooting.adoc#unable-to-discover-new-bare-metal-hosts-using-the-bmc_ipi-install-troubleshooting[Unable to discover new bare-metal hosts by using the BMC]
41+
42+
include::modules/ipi-install-nc-si-hardware-requirements-for-bare-metal.adoc[leveloffset=+1]
43+
44+
[role="_additional-resources"]
45+
.Additional resources
46+
* link:https://specs.openstack.org/openstack/ironic-specs/specs/approved/nc-si.html[Ironic NC-SI Specification]
47+
* link:https://www.dmtf.org/sites/default/files/standards/documents/DSP0222_1.1.1.pdf[DMTF: Network Controller Sideband Interface (NC-SI) Specification]
4148
4249
include::modules/ipi-install-network-requirements.adoc[leveloffset=+1]
4350

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
// Module included in the following assemblies:
2+
//
3+
// * installing/installing_bare_metal_ipi/ipi-install-post-installation-configuration.adoc
4+
5+
:_mod-docs-content-type: PROCEDURE
6+
[id="bmo-configuring-ncsi-disable-poweroff_{context}"]
7+
= Configuring NC-SI and DisablePowerOff for shared NICs
8+
9+
The Network Controller Sideband Interface (NC-SI) enables the Baseboard Management Controller (BMC) to share a system network interface card (NIC) with the host for management traffic, using protocols like Redfish, IPMI, or vendor-specific interfaces. The `DisablePowerOff` feature prevents hard power-offs, ensuring soft reboots to maintain BMC connectivity.
10+
11+
*Prerequisites*
12+
13+
* NC-SI-capable hardware and NICs.
14+
* BMC configured with an IP address and network connection.
15+
* Administrative access to the BMC.
16+
* Access to the OpenShift cluster with `cluster-admin` privileges.
17+
18+
*Procedure*
19+
20+
. Configure the BMC to enable NC-SI for a shared NIC.
21+
22+
. Verify BMC connectivity using Redfish or IPMI by running one of the following commands:
23+
+
24+
[source,terminal]
25+
----
26+
$ curl -k https://<bmc_ip>/redfish/v1/Systems/1
27+
----
28+
+
29+
[source,terminal]
30+
----
31+
$ ipmitool -I lanplus -H <bmc_ip> -U <user> -P <pass> power status
32+
----
33+
34+
. Enable the `DisablePowerOff` feature by editing the `BareMetalHost` resource in the `openshift-machine-api` namespace:
35+
+
36+
[source,yaml]
37+
----
38+
apiVersion: metal3.io/v1alpha1
39+
kind: BareMetalHost
40+
metadata:
41+
name: example-host
42+
namespace: openshift-machine-api
43+
spec:
44+
online: true
45+
bmc:
46+
address: <protocol>://<bmc_ip>/<bmc_address_format>
47+
credentialsName: bmc-secret
48+
disablePowerOff: true
49+
----
50+
+
51+
See the "BMC addressing" sections for details on supported protocols and BMC address formats.
52+
53+
. Apply the changes by running the following command:
54+
+
55+
[source,terminal]
56+
----
57+
$ oc apply -f <filename>.yaml
58+
----
59+
60+
.Verification
61+
62+
* Check the `BareMetalHost` status by running the following command:
63+
+
64+
[source,terminal]
65+
----
66+
$ oc get baremetalhost example-host -n openshift-machine-api -o yaml
67+
----
68+
+
69+
Confirm that `disablePowerOff: true` is in the `spec` section.
70+
71+
* Test a reboot by restarting a node pod and verify that BMC connectivity remains active.
72+
* Attempt to set `BareMetalHost.spec.online=false`. It should fail with an error indicating power-off is disabled.
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
// Module included in the following assemblies:
2+
//
3+
// * installing/installing_bare_metal_ipi/ipi-install-prerequisites.adoc
4+
5+
:_mod-docs-content-type: CONCEPT
6+
[id="ncsi-hardware-requirements-for-bare-metal_{context}"]
7+
= NC-SI hardware requirements for bare metal
8+
9+
To deploy {product-title} 4.19 and later with a Network Controller Sideband Interface (NC-SI) on bare metal, you must use hardware with baseboard management controllers (BMCs) and network interface cards (NICs) that support NC-SI. NC-SI enables the BMC to share a system NIC with the host, requiring the `DisablePowerOff` feature to prevent loss of BMC connectivity during power-offs.
10+
11+
.Server compatibility for NC-SI
12+
[cols="1,1,2,3",options="header"]
13+
|====
14+
| Vendor | Models | Generation | Management
15+
| Dell | PowerEdge | 14th generation and later | iDRAC 9 and later (Redfish, IPMI, racadm, WS-MAN)
16+
| HPE | ProLiant | 10th generation and later | iLO 5 and later (Redfish, IPMI, iLO RESTful API)
17+
| Lenovo | ThinkSystem SR | 1st generation and later | XClarity Controller (Redfish, IPMI, proprietary APIs)
18+
| Supermicro | SuperServer | X11 series and later | Supermicro BMC (Redfish, IPMI, proprietary web/CLI)
19+
| Intel | Server Systems | S2600BP and later | Intel BMC (Redfish, IPMI, proprietary APIs)
20+
| Fujitsu | PRIMERGY | M4 series and later | iRMC S5 and later (Redfish, IPMI, proprietary web/CLI)
21+
| Cisco | UCS C-Series | M5 series and later | Cisco IMC (Redfish, IPMI, proprietary XML API)
22+
|====
23+
24+
.Compatible Network Interface Cards (NICs) for NC-SI
25+
[cols="1,2,2",options="header"]
26+
|====
27+
| Vendor | Models | Specifications
28+
| Broadcom | NetXtreme BCM5720, BCM57416, BCM57504 | Gigabit and 10/25/100GbE, RMII sideband, supports Redfish, IPMI, and vendor protocols.
29+
| Intel | I210, X710, XXV710, E810 | Gigabit to 100GbE, RMII and SMBus sideband, supports Redfish, IPMI, and vendor protocols.
30+
| NVIDIA | ConnectX-5, ConnectX-6, ConnectX-7 | 25/50/100/200/400GbE, RMII sideband, supports Redfish, IPMI, and NVIDIA BMC APIs.
31+
| NVIDIA | BlueField-2 and later | 200/400GbE, supports Redfish, IPMI, and NVIDIA BMC APIs.
32+
| Marvell/Cavium | ThunderX CN88xx, FastLinQ QL41000 | 10/25/50GbE, RMII sideband, supports Redfish, IPMI, and vendor protocols.
33+
| Mellanox (NVIDIA) | MCX4121A-ACAT, MCX512A-ACAT | 10/25/50GbE, RMII sideband, supports Redfish, IPMI, and Mellanox APIs.
34+
|====
35+
36+
[NOTE]
37+
====
38+
Verify NC-SI support with vendor documentation, because compatibility depends on BMC, NIC, and firmware configurations. NC-SI NICs require a compatible BMC to enable shared NIC functionality.
39+
====

0 commit comments

Comments
 (0)