Merge "pci device/NIC replacement without host reinstall"
This commit is contained in:
commit
7b14b24b7d
@ -12,8 +12,10 @@
|
||||
.. |prod-os| replace:: StarlingX OpenStack
|
||||
.. |prod-dc| replace:: Distributed Cloud
|
||||
.. |prod-p| replace:: StarlingX Platform
|
||||
.. |os-prod-hor-long| replace:: OpenStack Horizon Web Interface
|
||||
.. |os-prod-hor| replace:: OpenStack Horizon
|
||||
.. |prod-hor| replace:: Horizon
|
||||
.. |prod-hor-long| replace:: |prod-hor| Web Interface
|
||||
.. |os-prod-hor-long| replace:: OpenStack |prod-hor-long|
|
||||
.. |os-prod-hor| replace:: OpenStack |prod-hor|
|
||||
.. |prod-img| replace:: http://mirror.starlingx.cengn.ca/mirror/starlingx/
|
||||
.. |prod-abbr| replace:: StX
|
||||
|
||||
|
@ -0,0 +1,147 @@
|
||||
.. _fec-replacement-with-different-vendor-or-device-id-b1ab1440e15f:
|
||||
|
||||
===============================================================
|
||||
N3000 and ACC100 replacement with different vendor or device-id
|
||||
===============================================================
|
||||
|
||||
.. rubric:: |context|
|
||||
|
||||
The following procedure allows the replacement of a N3000 or ACC100 device on a
|
||||
host, without requiring a host or system (in case of |AIO-SX|) re-install and
|
||||
re-configuration, in the case of the replaced device having different vendor or
|
||||
device id info.
|
||||
|
||||
The normal approach to doing such a change would be to do a ``system
|
||||
host-delete``, a ``system host-add`` (re-install) and a re-configure of the
|
||||
host. In the case of an |AIO-SX| deployment, with only one host, this
|
||||
would result in a full system re-install and full system re-configuration.
|
||||
|
||||
In this procedure, to allow the system to update the |PCI| device database, you
|
||||
must remove the current device configuration before replacing the |PCI| card
|
||||
and adding in configuration for the new device.
|
||||
|
||||
.. note::
|
||||
The N3000 card comes with both NIC and |FEC| functionality and requires the
|
||||
procedure to be done for both types.
|
||||
|
||||
.. rubric:: |prereq|
|
||||
|
||||
Obtain the vendor and device-id of currently installed card with:
|
||||
|
||||
.. code-block::
|
||||
|
||||
(keystone_admin)]# system host-port-show <hostname> port-name
|
||||
(keystone_admin)]# system host-device-list <hostname>
|
||||
|
||||
For information on replacing an N3000 or ACC100 with the same model, see
|
||||
:ref:`n3000-and-acc100-replacement-with-the-same-vendor-and-device-id-cccabcdc5d43`
|
||||
|
||||
.. rubric:: |proc|
|
||||
|
||||
#. If the host in question is the single host of an |AIO-SX| subcloud
|
||||
deployment, set the subcloud as unmanaged.
|
||||
|
||||
.. code-block::
|
||||
|
||||
~(keystone_admin)]$ dcmanager subcloud unmanage <subcloud-name>
|
||||
|
||||
#. Lock the host.
|
||||
|
||||
.. code-block::
|
||||
|
||||
~(keystone_admin)]$ system host-lock <hostname>
|
||||
|
||||
#. Identify the current N3000 or ACC100 module.
|
||||
|
||||
.. code-block::
|
||||
|
||||
~(keystone_admin)]$ system host-device-list <hostname>
|
||||
|
||||
+------------------+--------------+----------+-----------+-----------+---------------------------+-------------------------+-------------------------------------+-----------+---------+
|
||||
| name | address | class id | vendor id | device id | class name | vendor name | device name | numa_node | enabled |
|
||||
+------------------+--------------+----------+-----------+-----------+---------------------------+-------------------------+-------------------------------------+-----------+---------+
|
||||
| pci_0000_02_00_0 | 0000:02:00.0 | 030000 | 1a03 | 2000 | VGA compatible controller | ASPEED Technology, Inc. | ASPEED Graphics Family | 0 | True |
|
||||
| pci_0000_3d_00_0 | 0000:3d:00.0 | 0b4000 | 8086 | 37c8 | Co-processor | Intel Corporation | C62x Chipset QuickAssist Technology | 0 | True |
|
||||
| pci_0000_3f_00_0 | 0000:3f:00.0 | 0b4000 | 8086 | 37c8 | Co-processor | Intel Corporation | C62x Chipset QuickAssist Technology | 0 | True |
|
||||
| pci_0000_b2_00_0 | 0000:b2:00.0 | 120000 | 8086 | 0b30 | Processing accelerators | Intel Corporation | Device 0b30 | 1 | True |
|
||||
| pci_0000_b4_00_0 | 0000:b4:00.0 | 120000 | 8086 | 0d8f | Processing accelerators | Intel Corporation | Device 0d8f | 1 | True |
|
||||
| pci_0000_da_00_0 | 0000:da:00.0 | 0b4000 | 8086 | 37c8 | Co-processor | Intel Corporation | C62x Chipset QuickAssist Technology | 1 | True |
|
||||
+------------------+--------------+----------+-----------+-----------+---------------------------+-------------------------+-------------------------------------+-----------+---------+
|
||||
|
||||
N3000 has vendor ID 8086 and device IDs 0b30 and 0d8f ACC100 has vendor ID
|
||||
8086 and device ID 0d5c.
|
||||
|
||||
#. Record the current device configuration.
|
||||
|
||||
.. code-block::
|
||||
|
||||
~(keystone_admin)]$ system host-device-show <hostname> <device-name>
|
||||
|
||||
+-----------------------+---------------------------------------------------------------------------------------------------------+
|
||||
| Property | Value |
|
||||
+-----------------------+---------------------------------------------------------------------------------------------------------+
|
||||
| name | pci_0000_b4_00_0 |
|
||||
| address | 0000:b4:00.0 |
|
||||
| class id | 120000 |
|
||||
| vendor id | 8086 |
|
||||
| device id | 0d8f |
|
||||
...
|
||||
| sriov_totalvfs | 8 |
|
||||
| sriov_numvfs | 8 |
|
||||
| sriov_vfs_pci_address | 0000:b4:00.1,0000:b4:00.2,0000:b4:00.3,0000:b4:00.4,0000:b4:00.5,0000:b4:00.6,0000:b4:00.7,0000:b4:01.0 |
|
||||
| sriov_vf_pdevice_id | 0d90 |
|
||||
...
|
||||
| driver | igb_uio |
|
||||
| sriov_vf_driver | vfio-pci |
|
||||
+-----------------------+---------------------------------------------------------------------------------------------------------+
|
||||
|
||||
|
||||
#. Remove the |VF| configuration (if any) for device 0d8f (N3000) or 0d5c
|
||||
(ACC100).
|
||||
|
||||
.. code-block::
|
||||
|
||||
~(keystone_admin)]$ system host-device-modify <hostname> <device-name-or-address> --vf-driver none -N 0
|
||||
|
||||
#. Remove the driver configuration (if any) for device 0d8f (N3000) or 0d5c
|
||||
(ACC100).
|
||||
|
||||
.. code-block::
|
||||
|
||||
~(keystone_admin)]$ system host-device-modify <hostname> <device-name-or-address> --driver none --enable false
|
||||
|
||||
#. Power down the host manually and replace the N3000 or ACC100 |PCI| card.
|
||||
|
||||
#. Power up the host.
|
||||
|
||||
#. Check the new device.
|
||||
|
||||
.. code-block::
|
||||
|
||||
~(keystone_admin)]$ system host-device-list <hostname>
|
||||
|
||||
#. Reconfigure the device 0d8f (N3000) or 0d5c (ACC100).
|
||||
|
||||
The new device’s number of |VFs| is limited by the parameter
|
||||
``sriov_totalvfs``.
|
||||
|
||||
.. code-block::
|
||||
|
||||
~(keystone_admin)]$ system host-device-modify <hostname> <name-or-address> --driver <vf-driver> --vf-driver <vf driver> -N <number-of-vfs> --enable true
|
||||
|
||||
#. If the replaced |PCI| card is an N3000 and its |FPGA| was not
|
||||
pre-loaded with an updated image, follow the steps described
|
||||
:ref:`index-intel-n3000-support`.
|
||||
|
||||
#. Unlock the host.
|
||||
|
||||
.. code-block::
|
||||
|
||||
~(keystone_admin)]$ system host-unlock <hostname>
|
||||
|
||||
#. If the host in question is the single host of an |AIO-SX| subcloud deployment,
|
||||
set the subcloud as managed.
|
||||
|
||||
.. code-block::
|
||||
|
||||
~(keystone_admin)]$ dcmanager subcloud manage <subcloud-name>
|
@ -0,0 +1,54 @@
|
||||
.. _n3000-and-acc100-replacement-with-the-same-vendor-and-device-id-cccabcdc5d43:
|
||||
|
||||
===============================================================
|
||||
N3000 and ACC100 replacement with the same vendor and device-id
|
||||
===============================================================
|
||||
|
||||
The following procedure allows the replacement of a N3000 or ACC100 device on a
|
||||
host, without requiring a host or system (in case of |AIO-SX|) re-install and
|
||||
re-configuration, in the case of the replaced device having the same vendor and
|
||||
device id info.
|
||||
|
||||
The normal approach to doing such a change would be to do a ``system
|
||||
host-delete``, a ``system host-add`` (re-install) and a re-configure of the
|
||||
host. In the case of an |AIO-SX| deployment, with only one host, this would
|
||||
result in a full system re-install and full system re-configuration.
|
||||
|
||||
.. note::
|
||||
The N3000 card comes with both NIC and |FEC| functionality and requires the
|
||||
procedure to be done for both types.
|
||||
|
||||
.. rubric:: |prereq|
|
||||
|
||||
The vendor and device-id of currently installed |PCI| card can be
|
||||
obtained with:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
(keystone_admin)]# system host-port-show <hostname> port-name
|
||||
(keystone_admin)]# system host-device-list <hostname>
|
||||
|
||||
For information on replacing an N3000 or ACC100 with a different model, see
|
||||
:ref:`fec-replacement-with-different-vendor-or-device-id-b1ab1440e15f`.
|
||||
|
||||
.. rubric:: |proc|
|
||||
|
||||
#. Lock the host.
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
~(keystone_admin)]$ system host-lock <hostname>
|
||||
|
||||
#. Power down the host manually and make the N3000 or ACC100 card replacement.
|
||||
|
||||
#. Power up the host.
|
||||
|
||||
#. After rebooting, if the replaced |PCI| card is an N3000 and its |FPGA| was
|
||||
not pre-loaded with an updated image, follow the steps described in
|
||||
:ref:`index_hardware-acceleration-devices`.
|
||||
|
||||
#. Unlock the host to make it available for use.
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
system host-unlock <hostname>
|
@ -202,6 +202,16 @@ Interface IP address provisioning
|
||||
|
||||
node_interfaces/interface-ip-address-provisioning-using-the-cli
|
||||
|
||||
***************
|
||||
NIC replacement
|
||||
***************
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
node_interfaces/replace-a-nic-with-a-different-vendor-or-device-id-b406c1c190a9
|
||||
node_interfaces/nic-replacement-with-the-same-vendor-and-device-id-32942b7b05e5
|
||||
|
||||
----
|
||||
LLDP
|
||||
----
|
||||
@ -278,10 +288,14 @@ Node inventory tasks
|
||||
node_inventory_tasks/starting-starlingx
|
||||
node_inventory_tasks/shutting-down-starlingx
|
||||
|
||||
.. _index_hardware-acceleration-devices:
|
||||
|
||||
-----------------------------
|
||||
Hardware acceleration devices
|
||||
-----------------------------
|
||||
|
||||
.. _index-intel-n3000-support:
|
||||
|
||||
************************
|
||||
Intel N3000 FPGA support
|
||||
************************
|
||||
@ -296,6 +310,7 @@ Intel N3000 FPGA support
|
||||
hardware_acceleration_devices/uploading-a-device-image
|
||||
hardware_acceleration_devices/common-device-management-tasks
|
||||
|
||||
|
||||
Common device management tasks
|
||||
******************************
|
||||
|
||||
@ -313,16 +328,27 @@ Common device management tasks
|
||||
***********************************************
|
||||
vRAN Accelerator ACC100 Adapter \(Mount Bryce\)
|
||||
***********************************************
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
hardware_acceleration_devices/enabling-mount-bryce-hw-accelerator-for-hosted-vram-containerized-workloads
|
||||
hardware_acceleration_devices/set-up-pods-to-use-sriov
|
||||
|
||||
****************************
|
||||
N3000 and ACC100 replacement
|
||||
****************************
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
hardware_acceleration_devices/fec-replacement-with-different-vendor-or-device-id-b1ab1440e15f
|
||||
hardware_acceleration_devices/n3000-and-acc100-replacement-with-the-same-vendor-and-device-id-cccabcdc5d43
|
||||
|
||||
*******************
|
||||
NVIDIA GPU Operator
|
||||
*******************
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
@ -342,6 +368,7 @@ Host hardware management
|
||||
host_hardware_management/changing-hardware-components-for-a-worker-host
|
||||
host_hardware_management/configuration-changes-requiring-re-installation
|
||||
|
||||
|
||||
-----------------------------------------
|
||||
Run the node feature discovery helm chart
|
||||
-----------------------------------------
|
||||
|
@ -0,0 +1,47 @@
|
||||
.. _nic-replacement-with-the-same-vendor-and-device-id-32942b7b05e5:
|
||||
|
||||
==================================================
|
||||
NIC replacement with the same vendor and device-id
|
||||
==================================================
|
||||
|
||||
The following procedure allows the replacement of a NIC on a host, without
|
||||
requiring a host or system (in case of |AIO-SX|) re-install and re-configuration,
|
||||
in the case of the replaced NIC having the same vendor or device id info.
|
||||
|
||||
The normal approach to doing such a change would be to do a ``system
|
||||
host-delete``, a ``system host-add`` (re-install) and a re-configure of the
|
||||
host. In the case of an |AIO-SX| deployment, with only one host, this would
|
||||
result in a full system re-install and full system re-configuration.
|
||||
|
||||
Since this procedure reuses same vendor and device id information and
|
||||
capabilities, the interface's new |MAC| will be updated internally and no
|
||||
reconfiguration is required. Assuming that the replacement will occur on
|
||||
the same |PCI| slot of the previous card, the procedure can be executed for all
|
||||
types of NIC classes (``pci-sriov``, ``data``, ``pci-passthrough``,
|
||||
``platform``).
|
||||
|
||||
.. rubric:: |proc|
|
||||
|
||||
#. Lock the host.
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
~(keystone_admin)]$ system host-lock <hostname>
|
||||
|
||||
#. Wait for the host to be reported as locked.
|
||||
|
||||
#. Power down the host manually and make the NIC card replacement.
|
||||
|
||||
#. Power up the host.
|
||||
|
||||
#. Unock the host.
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
~(keystone_admin)]$ system host-unlock <hostname>
|
||||
|
||||
.. rubric:: |result|
|
||||
|
||||
The host is rebooted, and its Availability State is reported as In-Test. After
|
||||
a few minutes, it is reported as Unlocked, Enabled, and Available.
|
||||
|
@ -0,0 +1,342 @@
|
||||
.. _replace-a-nic-with-a-different-vendor-or-device-id-b406c1c190a9:
|
||||
|
||||
==================================================
|
||||
Replace a NIC with a different vendor or device-id
|
||||
==================================================
|
||||
|
||||
.. rubric:: |context|
|
||||
|
||||
The following procedure allows the replacement of a NIC on a host, without
|
||||
requiring a host or system (in case of |AIO-SX|) re-install and
|
||||
re-configuration, in the case of the replaced NIC having the different vendor
|
||||
or device id info.
|
||||
|
||||
The normal approach to making such a change would be to do a ``system
|
||||
host-delete``, a ``system host-add`` (re-install) and a re-configure of the
|
||||
host. In the case of an |AIO-SX| deployment, with only one host, this would
|
||||
result in a full system re-install and full system re-configuration.
|
||||
|
||||
This procedure can be used either for a replacement on the same |PCI| slot or
|
||||
to a different one. You will first record the current configuration and then
|
||||
reapply it after replacing the NIC card.
|
||||
|
||||
* To replace a NIC with a different vendor or device-id, you must first remove
|
||||
the current configuration (if it exists) associated with the physical
|
||||
interface.
|
||||
|
||||
* If a backup was available prior to this operation, it is necessary to
|
||||
regenerate the backup after changing the NIC card as the |PCI| addresses will
|
||||
no longer match the saved database files.
|
||||
|
||||
* If the replacement affects the |OAM| interface, plan to have an alternative
|
||||
access path or keep the serial console access available.
|
||||
|
||||
* If the affected interface configuration was not removed prior to the NIC
|
||||
replacement, an alarm will be raised asking for the host locking, removal of
|
||||
dependent configuration, and host unlocking for the port database correction
|
||||
to take effect. After doing so, you must lock the host again to reconfigure
|
||||
the interface with the desired or previous configuration.
|
||||
|
||||
* If the affected interfaces are unconfigured (class is none and “used by i/f”
|
||||
is empty) the procedure described in
|
||||
:ref:`nic-replacement-with-the-same-vendor-and-device-id-32942b7b05e5` can be
|
||||
followed.
|
||||
|
||||
.. rubric:: |proc|
|
||||
|
||||
.. note::
|
||||
UUID values in the output shown below have been truncated for display
|
||||
purposes. When using a UUID value as input to a command, use the entire 36
|
||||
character string.
|
||||
|
||||
#. If the host in question is the single host of an |AIO-SX| subcloud deployment,
|
||||
set the subcloud as managed
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
~(keystone_admin)]$ dcmanager subcloud unmanage <subcloud-name>
|
||||
|
||||
#. Lock the host.
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
~(keystone_admin)]$ system host-lock <hostname>
|
||||
|
||||
#. Identify the port(s) to be replaced.
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
~(keystone_admin)]$ system host-port-list <hostname>
|
||||
|
||||
+--------------+----------+----------+--------------+--------+-----------+-------------+-------------------------------------------------------+
|
||||
| uuid | name | type | pci address | device | processor | accelerated | device type |
|
||||
+--------------+----------+----------+--------------+--------+-----------+-------------+-------------------------------------------------------+
|
||||
| f8c45520-... | eno1 | ethernet | 0000:03:00.0 | 0 | 0 | True | Ethernet Controller 10-Gigabit X540-AT2 [1528] |
|
||||
| c0532da6-... | eno2 | ethernet | 0000:03:00.1 | 0 | 0 | True | Ethernet Controller 10-Gigabit X540-AT2 [1528] |
|
||||
| a12a5046-... | ens787f0 | ethernet | 0000:81:00.0 | 0 | 1 | True | Ethernet Controller X710 for 10GbE SFP+ [1572] |
|
||||
| 54877560-... | ens787f1 | ethernet | 0000:81:00.1 | 0 | 1 | True | Ethernet Controller X710 for 10GbE SFP+ [1572] |
|
||||
| cc702aad-... | ens787f2 | ethernet | 0000:81:00.2 | 0 | 1 | True | Ethernet Controller X710 for 10GbE SFP+ [1572] |
|
||||
| b27d53ba-... | ens787f3 | ethernet | 0000:81:00.3 | 0 | 1 | True | Ethernet Controller X710 for 10GbE SFP+ [1572] |
|
||||
| 68e94c5c-... | ens802f0 | ethernet | 0000:83:00.0 | 0 | 1 | True | 82599ES 10-Gigabit SFI/SFP+ Network Connection [10fb] |
|
||||
| 38d28361-... | ens802f1 | ethernet | 0000:83:00.1 | 0 | 1 | True | 82599ES 10-Gigabit SFI/SFP+ Network Connection [10fb] |
|
||||
| c82dc9d0-... | ens803f0 | ethernet | 0000:86:00.0 | 0 | 1 | True | 82599ES 10-Gigabit SFI/SFP+ Network Connection [10fb] |
|
||||
| c6188d09-... | ens803f1 | ethernet | 0000:86:00.1 | 0 | 1 | True | 82599ES 10-Gigabit SFI/SFP+ Network Connection [10fb] |
|
||||
+--------------+----------+----------+--------------+--------+-----------+-------------+-------------------------------------------------------+
|
||||
|
||||
|
||||
#. Record the current port configuration.
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
~(keystone_admin)]$ system host-port-show <hostname> <affected-port-name>
|
||||
|
||||
#. Identify the interfaces that are using the port.
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
~(keystone_admin)]$ system host-if-list <hostname>
|
||||
|
||||
+--------------+----------+-----------------+----------+---------+---------------+---------------+-------------------------+------------+
|
||||
| uuid | name | class | type | vlan id | ports | uses i/f | used by i/f | attributes |
|
||||
+--------------+----------+-----------------+----------+---------+---------------+---------------+-------------------------+------------+
|
||||
| 0eb262fa-... | pthru0 | pci-passthrough | ethernet | None | [u'ens787f1'] | [] | [] | MTU=1500 |
|
||||
| 1f7fb5bb-... | oam0 | platform | ethernet | None | [u'eno1'] | [] | [] | MTU=1500 |
|
||||
| 2d08c554-... | sriov0 | pci-sriov | ethernet | None | [u'ens787f2'] | [] | [u'sriov1'] | MTU=1500 |
|
||||
| 39abaab8-... | pxeboot0 | platform | ethernet | None | [u'ens802f1'] | [] | [u'cluster0', u'mgmt0'] | MTU=1500 |
|
||||
| accadbd9-... | sriov1 | pci-sriov | vf | None | [] | [u'sriov0'] | [] | MTU=1500 |
|
||||
| b0129323-... | mgmt0 | platform | vlan | 39 | [] | [u'pxeboot0'] | [] | MTU=1500 |
|
||||
| b27d72e2-... | cluster0 | platform | vlan | 44 | [] | [u'pxeboot0'] | [] | MTU=1500 |
|
||||
+--------------+----------+-----------------+----------+---------+---------------+---------------+-------------------------+------------+
|
||||
|
||||
|
||||
#. Select the interface associated with the port to be replaced.
|
||||
|
||||
#. Check the column :guilabel:`used by i/f` to get the list of dependent
|
||||
interfaces (sub-interfaces) on the port.
|
||||
|
||||
#. Record the current configuration for the affected interfaces and
|
||||
sub-interfaces.
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
~(keystone_admin)]$ system host-if-show <hostname> <ifname-for-port>
|
||||
~(keystone_admin)]$ system host-if-show <hostname> <ifname-for-subinterface>
|
||||
|
||||
#. Record the list of addresses and routes on the controller.
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
~(keystone_admin)]$ system host-addr-list <hostname>
|
||||
|
||||
+--------------+----------+------------------------+--------+
|
||||
| uuid | ifname | address | prefix |
|
||||
+--------------+----------+------------------------+--------+
|
||||
| 02367673-... | cluster0 | aefd::2 | 64 |
|
||||
| b5589563-... | mgmt0 | fd01:8a::3 | 64 |
|
||||
| f5d42be7-... | oam0 | 2620:10a:a001:a103::41 | 64 |
|
||||
| 553b8c78-... | pxeboot0 | 192.168.202.2 | 24 |
|
||||
+--------------+----------+------------------------+--------+
|
||||
|
||||
~(keystone_admin)]$ system host-route-list <hostname>
|
||||
|
||||
+--------------+--------+-----------+--------+------------+--------+
|
||||
| uuid | ifname | network | prefix | gateway | metric |
|
||||
+--------------+--------+-----------+--------+------------+--------+
|
||||
| 548dfd96-... | mgmt0 | fd01:81:: | 64 | fd01:8a::1 | 1 |
|
||||
+--------------+--------+-----------+--------+------------+--------+
|
||||
|
||||
|
||||
#. Remove any affected sub-interfaces.
|
||||
|
||||
* If the sub-interface is of the class ``platform``, then remove the
|
||||
affected sub-interfaces from the associated interface-network.
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
~(keystone_admin)]$ system interface-network-list <hostname>
|
||||
|
||||
+--------------+--------------+----------+--------------+
|
||||
| hostname | uuid | ifname | network_name |
|
||||
+--------------+--------------+----------+--------------+
|
||||
| controller-0 | 6456a935-... | oam0 | oam |
|
||||
| controller-0 | 805d7f2c-... | cluster0 | cluster-host |
|
||||
| controller-0 | a86890d0-... | pxeboot0 | pxeboot |
|
||||
| controller-0 | b54bfac0-... | mgmt0 | mgmt |
|
||||
+--------------+--------------+----------+--------------+
|
||||
|
||||
~(keystone_admin)]$ system interface-network-remove <uuid>
|
||||
|
||||
* If the interface is of the class ``data``, ``pci-sriov`` or
|
||||
``pci-passthrough``, then remove the interface-datanetwork(s) associated
|
||||
with the affected sub-interface(s).
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
~(keystone_admin)]$ system interface-datanetwork-list <hostname>
|
||||
|
||||
+--------------+--------------+--------+------------------+
|
||||
| hostname | uuid | ifname | datanetwork_name |
|
||||
+--------------+--------------+--------+------------------+
|
||||
| controller-0 | 4fc6d3d4-... | sriov0 | group0-data0 |
|
||||
| controller-0 | 6712d006-... | pthru0 | group0-data0 |
|
||||
| controller-0 | b2d8f970-... | sriov1 | group0-data1 |
|
||||
+--------------+--------------+--------+------------------+
|
||||
|
||||
~(keystone_admin)]$ system interface-datanetwork-remove <uuid>
|
||||
|
||||
Remove the sub-interface.
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
~(keystone_admin)]$ system host-if-delete <hostname> <uuid-or-name>
|
||||
|
||||
#. If the interface is configured, re-configure the interface class to
|
||||
``none``.
|
||||
|
||||
#. If the interface is of the class ``platform``, then remove the
|
||||
interface-network(s) associated with the affected sub-interface(s).
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
~(keystone_admin)]$ system interface-network-list <hostname>
|
||||
~(keystone_admin)]$ system interface-network-remove <uuid>
|
||||
|
||||
#. If the interface is of the class ``data``, ``pci-sriov`` or
|
||||
``pci-passthrough``, then remove the interface-datanetwork(s) associated
|
||||
with the affected sub-interface(s).
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
~(keystone_admin)]$ system interface-datanetwork-list <hostname>
|
||||
~(keystone_admin)]$ system interface-datanetwork-remove <uuid>
|
||||
|
||||
#. Modify the interface.
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
~(keystone_admin)]$ system host-if-modify <hostname> <ifname> -c none
|
||||
|
||||
#. Confirm that the interface does not have sub-interfaces referenced in
|
||||
the :guilabel:`used by i/f` column.
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
~(keystone_admin)]$ system host-if-list <hostname>
|
||||
|
||||
#. Power down the host manually and make the NIC card replacement.
|
||||
|
||||
#. Power up the host.
|
||||
|
||||
#. After rebooting, check the new port's inventoried data:
|
||||
|
||||
.. code-block::
|
||||
|
||||
~(keystone_admin)]$ system host-port-list <hostname>
|
||||
~(keystone_admin)]$ system host-if-list <hostname> –a
|
||||
|
||||
The old interface will no longer be available, replaced by a new one with
|
||||
the same name assigned to the new port.
|
||||
|
||||
#. Reconfigure the base interface associated with the port.
|
||||
|
||||
.. note::
|
||||
It is recommended that you reuse the previous interface names.
|
||||
|
||||
If the old interface was of class ``pci-sriov``, do the following:
|
||||
|
||||
#. Check the port capabilities, particularly that it has the required value
|
||||
for ``sriov_totalvfs``. If not, plan the interface and sub-interface
|
||||
reconfiguration accordingly.
|
||||
|
||||
.. code-block::
|
||||
|
||||
~(keystone_admin)]$ system host-port-show <hostname> <port-name>
|
||||
~(keystone_admin)]$ system host-if-modify <hostname> <ifname> -c pci-sriov -n <previous-configured-name> <previous-interface-parameters>
|
||||
|
||||
#. If the old interface was of class ``data``, ``platform``, or
|
||||
``pci-passthrough``, modify the new interface back to the previous
|
||||
configuration.
|
||||
|
||||
.. code-block::
|
||||
|
||||
~(keystone_admin)]$ system host-if-modify <hostname> <ifname> -c <class> -n <previous-configured-name> <previous-interface-parameters>
|
||||
|
||||
#. Reconnect the interface to any previously connected network.
|
||||
|
||||
#. For a platform class interface, select the respective network that
|
||||
supports the desired new interface.
|
||||
|
||||
.. code-block::
|
||||
|
||||
~(keystone_admin)]$ system network-list
|
||||
~(keystone_admin)]$ system interface-network-assign <hostname> <ifname-or-uuid> <>network-name-or-uuid>
|
||||
|
||||
#. For ``data``, ``pci-sriov``, and ``pci-passthrough`` class interfaces,
|
||||
select the respective datanetwork that supports the desired new
|
||||
interface.
|
||||
|
||||
.. code-block::
|
||||
|
||||
~(keystone_admin)]$ system datanetwork-list
|
||||
~(keystone_admin)]$ system interface-datanetwork-assign <hostname> <ifname-or-uuid> <datanetwork-name-or-uuid>
|
||||
|
||||
#. Add the necessary sub-interfaces.
|
||||
|
||||
#. Recreate all necessary sub-interfaces that existed prior to the NIC
|
||||
replacement.
|
||||
|
||||
It is recommended to use the previous sub-interface names.
|
||||
|
||||
.. code-block::
|
||||
|
||||
~(keystone_admin)]$ system host-if-add <hostname> <previous-sub-interface-name> <iftype [ae,vlan,vf,ethernet]> <interface-name> <previous-parameters>
|
||||
|
||||
|
||||
#. Reconnect the sub-interface with desired network (if it was previously
|
||||
connected).
|
||||
|
||||
#. For a platform class interface, select the respective network that supports the desired new sub-interface.
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
~(keystone_admin)]$ system network-list
|
||||
~(keystone_admin)]$ system interface-network-assign <hostname> <sub-interface-name-or-uuid> <>network-name-or-uuid>
|
||||
|
||||
#. For ``data``, ``pci-sriov``, and ``pci-passthrough`` class interfaces,
|
||||
select the respective datanetwork that supports the desired new
|
||||
sub-interface.
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
~(keystone_admin)]$ system datanetwork-list
|
||||
~(keystone_admin)]$ system interface-datanetwork-assign <hostname> <sub-interface or uuid> <network-name-or-uuid>
|
||||
|
||||
#. Check addresses and routes on the affected interfaces.
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
~(keystone_admin)]$ system host-addr-list <hostname>
|
||||
~(keystone_admin)]$ system host-route-list <hostname>
|
||||
|
||||
#. Recreate static addresses and routes using the affected interfaces or
|
||||
sub-interfaces.
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
~(keystone_admin)]$ system host-addr-add <hostname> <interface-name> <address> <prefix-length>
|
||||
~(keystone_admin)]$ system host-route-add <hostname> <interface-name> <network-address> <prefix-length> <gateway-address> <metric>
|
||||
|
||||
#. Unlock the controller.
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
~(keystone_admin)]$ system host-unlock <hostname>
|
||||
|
||||
#. If the host in question is the single host of an |AIO-SX| subcloud deployment,
|
||||
set the subcloud as managed
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
~(keystone_admin)]$ dcmanager subcloud manage <subcloud-name>
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user