Update upstream node management

There are some files that was added new content.

Signed-off-by: Rafael Jardim <rafaeljordao.jardim@windriver.com>
Change-Id: I5489abf08647014030f53849120c1c42a798cdfe
This commit is contained in:
Rafael Jardim 2021-03-03 18:19:05 -03:00
parent 61fc56eaa3
commit 480c499d21
35 changed files with 1087 additions and 137 deletions

View File

@ -8,6 +8,17 @@ Change the Hyper-threading Status
The hyper-threading status is controlled by the BIOS settings of the host.
.. warning::
Some applications may benefit from hyperthreading. For applications that
require deterministic performance, it is recommended to run with
hyperthreading disabled. If hyperthreading is enabled, the application
\(either running on bare metal or in a container\) must check the CPU
topology for the CPUs and affine tasks appropriately to HT siblings. For
example, "/proc/cpuinfo" and
"/sys/devices/system/cpu/cpuX/topology/thread\_siblings\*" can be used to
identify HT siblings of the same core.
.. rubric:: |proc|
.. _changing-the-hyper-threading-status-steps-v2v-cv3-dt:

View File

@ -45,7 +45,7 @@ CPU cores from the Horizon Web interface.
:widths: auto
+-------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| **On a worker node or AIO node** | You can assign cores to specific functions, as illustrated above. Unassigned cores are available for allocation to hosted applications; for example containers or, in the case of the |prod-os| OpenStack application, virtual machines. |
| **On a worker node or AIO node** | You can assign cores to specific functions, as illustrated above. Unassigned cores are available for allocation to hosted applications; for example containers or, in the case of the |prod-os| application, virtual machines. |
+-------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| **On a controller or storage node** | Only the Platform function is shown, and all available cores are automatically assigned as platform cores. |
+-------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@ -71,45 +71,18 @@ CPU cores from the Horizon Web interface.
management to allow high-performance, low-latency applications to run
with optimal efficiency.
.. xbooklink For more information on core isolation, see |admintasks-doc|: `Kubernetes CPU Manager Static Policy <isolating-cpu-cores-to-enhance-application-performance>`.
.. From **Isolated**
.. xbooklink For more information on core isolation, see |admin-doc|:
`Kubernetes CPU Manager Static Policy
<isolating-cpu-cores-to-enhance-application-performance>`.
To use this feature, you must also assign the node label
kube-cpu-mgr-policy the value **static**. For information about
labels, see :ref:`Configure Node Labels Using Horizon <configuring-node-labels-using-horizon>`.
It is not permitted to have Isolated and vSwitch cores on the same
node.
.. only:: partner
**vSwitch**
.. note::
vSwitch is only applicable when running the |prod-os| OpenStack
application.
Virtual Switch cores can be configured for each processor
independently. This means that the single logical vSwitch running
on a worker node can make use of cores in multiple processors, or
|NUMA| nodes. Optimal data path
performance is achieved when all vSwitch cores, the physical ports,
and the containers that use them are running on the same processor
You can affine containers to |NUMA|
nodes with vSwitch cores. Alternatively, having vSwitch cores on all
processors ensures that all containers, regardless of the core they
run on, are efficiently serviced. The example allocates two cores
from processor 1 to the vSwitch threads.
It is not permitted to have Isolated and vSwitch cores on the same
node.
.. note::
When allocating vSwitch cores, consider optimizing the processing
of packets to and from physical ports used for data interfaces.
.. note::
If the vSwitch type is set to **None**, newly installed worker
hosts will start with 0 vSwitch CPUs. vSwitch CPUs can only be set
to 0 through the system :command:`host-cpu-modify` command or
Horizon.
../../_includes/configure-cpu-core-vswitch.rest
**Shared**
Not currently supported.

Binary file not shown.

After

Width:  |  Height:  |  Size: 147 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

View File

@ -0,0 +1,39 @@
.. fna1613683064051
.. _common-device-management-tasks:
==============================
Common Device Management Tasks
==============================
Some common device management tasks are listed in this section.
For a list of tasks see:
.. _common-device-management-tasks-ul-rzm-cpw-r4b:
- :ref:`Listing Uploaded Device Images <listing-uploaded-device-images>`
- :ref:`Listing Device Labels <listing-device-labels>`
- :ref:`Removing a Device Image <removing-a-device-image>`
- :ref:`Removing a Device Label <removing-a-device-label>`
- :ref:`Initiating a Device Image Update for a Host <initiating-a-device-image-update-for-a-host>`
- :ref:`Displaying the Status of Device Images <displaying-the-status-of-device-images>`
- :ref:`Listing Uploaded Device Images <listing-uploaded-device-images>`
- :ref:`Listing Device Labels <listing-device-labels>`
- :ref:`Removing a Device Image <removing-a-device-image>`
- :ref:`Removing a Device Label <removing-a-device-label>`
- :ref:`Initiating a Device Image Update for a Host <initiating-a-device-image-update-for-a-host>`
- :ref:`Displaying the Status of Device Images <displaying-the-status-of-device-images>`

View File

@ -0,0 +1,133 @@
.. zad1611611564761
.. enabling-mount-bryce-hw-accelerator-for-hosted-vram-containerized-workloads:
===========================================================================
Enable Mount Bryce HW Accelerator for Hosted vRAN Containerized Workloads
===========================================================================
You can enable and access Mount Bryce ACC100 eASIC card from Intel® such that
it can be used as a HW accelerator by hosted vRAN containerized workloads on
|prod-long|.
.. rubric:: |context|
The following procedure shows an example of configuring an AIO-SX system such
that it can support hosting a |DPDK| FlexRAN-reference-architecture container
image that uses the Mount Bryce HW accelerator. The procedure enables the
required |SRIOV| drivers, CPU policies and memory of controller-0, and then
enables the Mount Bryce device.
.. rubric:: |prereq|
.. enabling-mount-bryce-hw-accelerator-for-hosted-vram-containerized-workloads-ul-i3g-gh2-l4b:
- The system has been provisioned and unlocked.
.. rubric:: |proc|
#. Source the platform environment.
.. code-block:: none
$ source /etc/platform/openrc
~(keystone_admin)$
#. Lock controller-0.
.. code-block:: none
~(keystone_admin)$ system host-lock controller-0
#. Assign labels to controller-0.
.. code-block:: none
~(keystone_admin)$ system host-label-assign controller-0 sriovdp=enabled
~(keystone_admin)$ system host-label-assign controller-0 kube-cpu-mgr-policy=static
~(keystone_admin)$ system host-label-assign controller-0 kube-topology-mgr-policy=restricted
#. Modify the CPU.
.. code-block:: none
~(keystone_admin)$ system host-cpu-modify -f application-isolated -p0 12 controller-0
#. Modify the memory.
.. code-block:: none
~(keystone_admin)$ system host-memory-modify controller-0 0 -1G 12
#. List and enable the device.
.. code-block:: none
~(keystone_admin)$ system host-device-list -a controller-0
+------------------+--------------+----------+-----------+..
| name | address | class id | vendor id |
+------------------+--------------+----------+-----------+
| pci_0000_00_16_0 | 0000:00:16.0 | 78000 | 8086 |
| pci_0000_00_16_1 | 0000:00:16.1 | 78000 | 8086 |
| pci_0000_00_1a_0 | 0000:00:1a.0 | c0300 | 8086 |
| pci_0000_00_1d_0 | 0000:00:1d.0 | c0300 | 8086 |
| pci_0000_00_1f_2 | 0000:00:1f.2 | 10600 | 8086 |
| pci_0000_00_1f_3 | 0000:00:1f.3 | c0500 | 8086 |
| pci_0000_04_00_0 | 0000:04:00.0 | 10700 | 8086 |
| pci_0000_04_00_3 | 0000:04:00.3 | c0500 | 8086 |
| pci_0000_04_00_4 | 0000:04:00.4 | c0500 | 8086 |
| pci_0000_05_00_0 | 0000:05:00.0 | 30200 | 10de |
| pci_0000_0a_00_0 | 0000:0a:00.0 | 30000 | 102b |
| pci_0000_85_00_0 | 0000:85:00.0 | 120001 | 8086 |
+------------------+--------------+----------+-----------+..
+-----------+---------------------------------+---------------------+..
| device id | class name | vendor name |
+-----------+-----------+---------------------+---------------------+
| 1d3a | Communication controller | Intel Corporation |
| 1d3b | Communication controller | Intel Corporation |
| 1d2d | USB controller | Intel Corporation |
| 1d26 | USB controller | Intel Corporation |
| 1d02 | |SATA| controller | Intel Corporation |
| 1d22 | SMBus | Intel Corporation |
| 1d68 | Serial Attached SCSI controller | Intel Corporation |
| 1d70 | SMBus | Intel Corporation |
| 1d71 | SMBus | Intel Corporation |
| 1eb8 | 3D controller | NVIDIA Corporation |
| 0522 | VGA compatible controller | Matrox Electronics..|
| 0d5c | Processing accelerators | Intel Corporation |
+-----------+---------------------------------+---------------------+..
+----------------------------------------------------------+-----------+---------+
| device name | numa_node | enabled |
+----------------------------------------------------------+-----------+---------+
| C600/X79 series chipset MEI Controller #1 | 0 | False |
| C600/X79 series chipset MEI Controller #2 | 0 | False |
| C600/X79 series chipset USB2 Enhanced Host Controller #2 | 0 | False |
| C600/X79 series chipset USB2 Enhanced Host Controller #1 | 0 | False |
| C600/X79 series chipset 6-Port |SATA| AHCI Controller | 0 | False |
| C600/X79 series chipset SMBus Host Controller | 0 | False |
| C606 chipset Dual 4-Port |SATA|/|SAS| Storage Control uni| 0 | False |
| C600/X79 series chipset SMBus Controller 0 | 0 | False |
| C608/C606/X79 series chipset SMBus Controller 1 | 0 | False |
| Device 1eb8 | 0 | False |
| MGA G200e [Pilot] ServerEngines (SEP1) | 0 | False |
| Device 0d5c | 1 | True |
+----------------------------------------------------------+-----------+---------+
#. Modify device 0000:85:00.0 as listed in the table above.
.. code-block:: none
~(keystone_admin)$ system host-device-modify controller-0 pci_0000_85_00_0 -e true --driver igb_uio --vf-driver igb_uio -N 16
#. Unlock the host.
.. code-block:: none
~(keystone_admin)$ system host-unlock controller-0
.. rubric:: |result|
To set up pods using |SRIOV|, see, :ref:`Setting Up Pods to Use SRIOV <set-up-pods-to-use-sriov>`.

View File

@ -0,0 +1,81 @@
.. ggs1611608368857
.. _set-up-pods-to-use-sriov:
============================
Set Up Pods to Use SRIOV
============================
You can configure pods with |SRIOV| access to a Mount Bryce device by adding the
appropriate 'resources' request in the pod specification.
.. rubric:: |context|
The following procedure shows an example of launching a container image with
'resources' request for a |VF| to the Mount Bryce device.
.. rubric:: |proc|
#. Source the platform environment.
.. code-block:: none
$ source /etc/platform/openrc ~(keystone_admin)$
#. Create a pod.yml file.
.. code-block:: none
~(keystone_admin)$ cat >> pod0.yml << EOF
apiVersion: v1
kind: Pod
metadata:
name: pod0
spec:
restartPolicy: Never
containers:
- name: pod0
image: "windse/pktgen-testpmd-bbdev:d1911r4p1912" volumeMounts: -
mountPath: /mnt/huge-1048576kB
name: hugepage
- mountPath: /sys/devices
name: uio
command: ["/bin/bash", "-ec", "sleep infinity"] securityContext:
privileged: false capabilities:
add:
["IPC_LOCK", "SYS_ADMIN"]
resources:
requests:
hugepages-1Gi: 4Gi memory: 4Gi intel.com/intel_acc100_fec: '16'
windriver.com/isolcpus: '24'
limits:
hugepages-1Gi: 4Gi memory: 4Gi intel.com/intel_acc100_fec: '16'
windriver.com/isolcpus: '24'
volumes: - name: hugepage
emptyDir:
medium: HugePages
- name: uio
hostPath:
path: /sys/devices
EOF
#. Start the pod.
.. code-block:: none
~(keystone_admin)$ kubectl create -f pod0.yml
#. Wait for the pod to start and execute the following command:
.. code-block:: none
~(keystone_admin)$ kubectl exec -it pod0 -- bash echo
$PCIDEVICE_INTEL_COM_INTEL_ACC100_FEC
The following PCI addresses corresponding to the |SRIOVs| are displayed:
.. code-block:: none
0000:86:01.1,0000:86:01.0,0000:86:01.7,0000:86:01.4,0000:86:00.3,0000:86:00.1,0000:86:00.5,0000:86:00.7,0000:86:00.2,0000:86:00.4,0000:86:01.5,0000:86:01.6,0000:86:01.2,0000:86:00.0,0000:86:00.6,0000:86:01.3

View File

@ -9,6 +9,8 @@ Change Hardware Components for a Storage Host
You can add or replace storage disks or swap a storage node while the system
is running, even if the storage resources are in active use.
.. rubric:: |context|
You can add disks to a storage node to increase capacity, and you can replace
a faulty host.
@ -74,7 +76,10 @@ can reproduce them later.
#. Power up the host.
If the host has been deleted from the Host Inventory, the host software
is reinstalled.
is reinstalled.
.. From Power up the host
.. xbookref For details, see :ref:`|inst-doc| <platform-installation-overview>`.
Wait for the host to be reported as **Locked**, **Disabled**, and
**Online**.
@ -102,3 +107,5 @@ can reproduce them later.
.. From If required, allocate the |OSD| and journal disk storage.
.. xbooklinkFor more information, see |stor-doc|: `Provision Storage on a Storage Host <provisioning-storage-on-a-controller-or-storage-host-using-horizon>`.

View File

@ -30,7 +30,7 @@ Some configuration changes require a system or host re-installation.
+--------------------------------------------------------------+-----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Controller filesystem size decrease | System | To decrease the controller filesystem size, you must perform a system reinstallation. |
+--------------------------------------------------------------+-----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Root disk replacement | Host \(re-add\) | To install |prod-os| OpenStack software on a new disk, the host must be deleted and re-added \(not merely reinstalled\). |
| Root disk replacement | Host \(re-add\) | To install the OpenStack application on a new disk, the host must be deleted and re-added \(not merely reinstalled\). |
+--------------------------------------------------------------+-----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Management NIC MAC address change | Host \(re-add\) | .. note:: |
| | | To register the new MAC address for Host Inventory management, the host must be deleted and re-added \(not merely reinstalled\). |

View File

@ -39,3 +39,6 @@ The following information is presented:
**Enabled**
Whether exposure to applications is enabled for the device.
.. xbookref For a list of devices supported by |prod|, refer to the :ref:`|rn-doc|
<release-notes-overview>`.

View File

@ -241,5 +241,9 @@ A sample **Hosts** tab is illustrated below:
Initiates any pending software update operations. Once successfully
executed, the host returns back to the locked state.
.. xbookref See |updates-doc|:
:ref:`Managing Software Updates <managing-software-updates>` for
details.
This option is only available if there are software update operations
pending for the host.

View File

@ -19,7 +19,7 @@ logical interfaces, for example, if the cluster host network is internal
and additional ports are configured for connecting to external networks.
.. note::
When running the |prod-os| OpenStack application, you can optimize
When running the |prod-os| application, you can optimize
vSwitch processing of packets to and from physical ports for data
interfaces by using only ports that are connected to processors with
vSwitch cores attached to data networks.
@ -77,7 +77,7 @@ Information about interfaces is presented in several columns, as follows:
interface is shared.
**Data Networks**
This option is relevant for the |prod-os| OpenStack application only,
This option is relevant for the |prod-os| application only,
and specifically for the openstack-compute labeled worker nodes only, and
for interfaces of the data interface class. It lists the data networks
associated with the data interface.

View File

@ -6,17 +6,24 @@
About Host Memory Provisioning
==============================
For each |NUMA| node on a host, you can
adjust the amount of memory reserved for platform use, and the size and
number of memory pages allocated for use by applications and the virtual
switch \(vSwitch\). vSwitch is only applicable on an openstack-compute
labeled worker node, when running the |prod-os| OpenStack application.
.. only:: starlingx
For each |NUMA| node on a host, you can adjust the amount of memory
reserved for platform use, and the size and number of memory pages
allocated for use by applications.
.. only:: partner
.. include:: ../../../_includes/about-host-memory-provisioning.rest
:start-after: introduction-text-begin
:end-before: introduction-text-end
Due to limitations in Kubernetes, only a single huge page size can be used
per host.
The amount of platform memory reserved differs between
|AIO| and standard configurations.
The amount of platform memory reserved differs between |AIO| and standard
configurations.
.. note::
For |prod| Simplex deployments implemented on an Intel Xeon D-based
@ -25,17 +32,21 @@ The amount of platform memory reserved differs between
can increase the allotment if required to restore the default maximum
number of worker threads.
Memory not reserved for platform and vSwitch use is made available as
application memory. By default, no application memory is reserved. You can
provision individual |NUMA| nodes to use
either 2 MiB or 1 GiB hugepages. Using larger pages can reduce page
management overhead and improve system performance for systems with large
amounts of virtual memory and many running instances.
.. only:: starlingx
For an openstack-compute labeled worker node, the vSwitch memory is
partitioned using 1 GiB huge pages by default. You can change this for
individual |NUMA| nodes to use 2 MiB huge
pages for systems without 1 GiB huge page support.
Memory not reserved for platform use is made available as application
memory. You can provision individual |NUMA| nodes to use either 2 MiB or 1
GiB hugepages. Due to limitations in Kubernetes, only a single huge page
size can be used per host. Using larger pages can reduce page management
overhead and improve system performance for systems with large amounts of
virtual memory and many running instances.
.. only:: partner
.. include:: ../../../_includes/about-host-memory-provisioning.rest
:start-after: memory-text-begin
:end-before: memory-text-end
You can use the :command:`system host-memory-list` and
:command:`system host-memory-show` commands to see how much memory is
@ -48,3 +59,5 @@ OpenStack\), you can specify which page size is required.
.. only:: partner
.. include:: ../../../_includes/about-host-memory-provisioning.rest
:start-after: memory-text-end

View File

@ -6,18 +6,32 @@
Allocate Host Memory Using Horizon
==================================
You can edit the platform, vSwitch, and Application page memory allocations
for a |NUMA| node from the Horizon Web
interface using the **Memory** tab on the Host Inventory pane.
.. only:: starlingx
You can edit the platform and Application page memory allocations for a
|NUMA| node from the Horizon Web interface using the **Memory** tab on the
Host Inventory pane.
.. only:: partner
.. include:: ../../../_includes/avs-note.rest
:start-after: introduction-text-begin
:end-before: introduction-text-end
Due to limitations in Kubernetes, only a single huge page size can be used
per host.
A node may only allocate huge pages for a single size, either 2MiB or 1GiB.
Since the vSwitch uses 1GiB huge page by default, the application will
typically also use 1GiB huge pages. However, the vSwitch page size can be
changed to 2MiB, in which case the application would also use 2MiB huge
pages.
.. only:: starlingx
A node may only allocate huge pages for a single size, either 2MiB or 1GiB.
.. only:: partner
.. include:: ../../../_includes/avs-note.rest
:start-after: usage-text-begin
:end-before: usage-text-end
You must also provision one 1GiB huge page per |NUMA| node prior to unlocking a
worker or an |AIO| controller.
@ -44,9 +58,19 @@ informative message is displayed.
#. Use the Update Memory Allocation dialog box to set the memory allocations
for each |NUMA| node.
For each available |NUMA| node, five
fields are available, as illustrated in the following example screen for
two |NUMA| nodes.
.. only:: starlingx
For each available |NUMA| node, five fields are available, as illustrated
in the following example screen for two |NUMA| nodes. Due to limitations
in Kubernetes, only a single huge page size can be used per host, across
Application memory.
.. only:: partner
.. include:: ../../../_includes/allocating-host-memory-using-horizon.rest
:start-after: limitation-text-begin
:end-before: limitation-text-end
.. figure:: ../figures/yfv1567176747837.png
:scale: 100%
@ -61,22 +85,50 @@ informative message is displayed.
:scale: 100%
**\# of Application 2M Hugepages Node n**
.. only:: starlingx
The number of 2 MiB huge pages to reserve for application use on the
|NUMA| Node. If no 2 MiB pages are
required, type 0.
|NUMA| Node. If no 2 MiB pages are required, type 0. Due to
limitations in Kubernetes, only a single huge page size can be used per
host, across Application memory.
.. only:: partner
.. include:: ../../../_includes/allocating-host-memory-using-horizon.rest
:start-after: application-2m-text-begin
:end-before: application-2m-text-end
**\# of Application 1G Hugepages Node n**
.. only:: starlingx
The number of 1 GiB huge pages to reserve for application use on the
|NUMA| Node. If no 1 GiB pages are
required, type 0.
|NUMA| Node. If no 1 GiB pages are required, type 0. Due to
limitations in Kubernetes, only a single huge page size can be used per
host, across Application memory.
.. only:: partner
**\# of vSwitch 1G Hugepages Node n**
The number of 1 GiB huge pages to reserve for vS2witch use on the
|NUMA| Node. If no 1 GiB pages are
required, type 0.
.. include:: ../../../_includes/allocating-host-memory-using-horizon.rest
:start-after: application-1g-text-begin
:end-before: application-1g-text-end
**vSwitch Hugepage Size Node n**
Select the hugepage size to use for the node.
.. only:: partner
.. include:: ../../../_includes/allocating-host-memory-using-horizon.rest
:start-after: vswitch-hugepage-1g-text-begin
:end-before: vswitch-hugepage-1g-text-end
.. only:: partner
.. include:: ../../../_includes/allocating-host-memory-using-horizon.rest
:start-after: vswitch-hugepage-size-node-text-begin
:end-before: vswitch-hugepage-size-node-text-end
To see how many huge pages of a given size you can successfully request
on a node \(assuming that pages of another size are not also requested\),
@ -95,3 +147,4 @@ informative message is displayed.
.. only:: partner
.. include:: ../../../_includes/avs-note.rest

View File

@ -6,16 +6,31 @@
Allocate Host Memory Using the CLI
==================================
You can edit the platform, vSwitch and huge page memory allocations for a
|NUMA| node from the CLI.
.. only:: starlingx
You can edit the platform and huge page memory allocations for a |NUMA|
node from the CLI.
.. only:: partner
.. include:: ../../../_includes/allocating-host-memory-using-the-cli.rest
:start-after: introduction-text-begin
:end-before: introduction-text-end
Due to limitations in Kubernetes, only a single huge page size can be used
per host.
A node may only allocate huge pages for a single size, either 2MiB or 1GiB.
Since the vSwitch uses 1GiB huge page by default, the application will
typically also use 1GiB huge pages. However, the vSwitch page size can be
changed to 2MiB, in which case the application would also use 2MiB huge pages.
.. only:: starlingx
A node may only allocate huge pages for a single size, either 2MiB or 1GiB.
.. only:: partner
.. include:: ../../../_includes/allocating-host-memory-using-the-cli.rest
:start-after: usage-text-begin
:end-before: usage-text-end
You must also provision one 1GiB huge page per |NUMA| node prior to unlocking a
worker or an |AIO| controller.
@ -70,6 +85,8 @@ worker or an |AIO| controller.
given processor.
For example:
.. only:: starlingx
.. code-block:: none
@ -81,10 +98,6 @@ worker or an |AIO| controller.
| Platform (MiB) | 4600 |
| Available (MiB) | 13831 |
| Huge Pages Configured | True |
| vSwitch Huge Pages: Size (MiB) | 2 |
| Total | 0 |
| Available | 0 |
| Required | None |
| Application Pages (4K): Total | 3540736 |
| Application Huge Pages (2M): Total | 0 |
| Available | 0 |
@ -97,6 +110,13 @@ worker or an |AIO| controller.
| updated_at | 2020-01-14T18:49:26.388919+00:00 |
+-------------------------------------+--------------------------------------+
.. only:: partner
.. include:: ../../../_includes/allocating-host-memory-using-the-cli.rest
:start-after: memory-table-begin
:end-before: memory-table-end
#. Lock the affected host.
.. code-block:: none
@ -124,20 +144,52 @@ worker or an |AIO| controller.
memory reserved for platform use, in MiB.
**function**
Use with the optional ``-f`` argument. This option specifies the intended
function for hugepage allocation, either vswitch or application.
vSwitch is only applicable on an openstack-compute labeled worker
node, when running the |prod-os| OpenStack application.
.. only:: starlingx
Use with the optional ``-f`` argument. This option specifies the
intended function for hugepage allocation on application.
.. only:: partner
.. include:: ../../../_includes/allocating-host-memory-using-the-cli.rest
:start-after: function-text-begin
:end-before: function-text-end
The default function is **application**.
**2Mpages**
Use with the optional ``-2M`` argument. This option specifies the number
of 2 MiB huge pages to make available.
.. only:: starlingx
Use with the optional ``-2M`` argument. This option specifies the
number of 2 MiB huge pages to make available. Due to limitations in
Kubernetes, only a single huge page size can be used per host, across
Application memory.
.. only:: partner
.. include:: ../../../_includes/allocating-host-memory-using-the-cli.rest
:start-after: 2m-pages-text-begin
:end-before: 2m-pages-text-end
**1Gpages**
Use with the optional ``-1G`` argument. This option specifies the number
of 1 GiB huge pages to make available.
.. only:: starlingx
Use with the optional ``-1G`` argument. This option specifies the
number of 1 GiB huge pages to make available. Due to limitations in
Kubernetes, only a single huge page size can be used per host, across
Application memory.
.. only:: partner
.. include:: ../../../_includes/allocating-host-memory-using-the-cli.rest
:start-after: 1g-pages-text-begin
:end-before: 1g-pages-text-end
For example, to allocate four 2 MiB huge pages for use by hosted
applications on |NUMA| node 1 of worker node **worker-0**:
@ -145,6 +197,25 @@ worker or an |AIO| controller.
.. code-block:: none
(keystone_admin)$ system host-memory-modify worker-0 1 -2M 4
.. only:: starlingx
For openstack-compute labeled worker node or |AIO| controller, since
Kubernetes only supports a single huge page size per worker node.
'application' huge pages must also be 1G. The following example shows
configuring 10 1G huge pages for application usage. For example:
.. only:: partner
.. include:: ../../../_includes/allocating-host-memory-using-the-cli.rest
:start-after: recommended-size-text-begin
:end-before: recommended-size-text-end
.. code-block:: none
(keystone_admin)$ system host-memory-modify -f application -1G 10 worker-<n> 0
(keystone_admin)$ system host-memory-modify -f application -1G 10 worker-<n> 1
#. Unlock the host.

View File

@ -178,6 +178,11 @@ PCI-SRIOV interface support
node_interfaces/provisioning-sr-iov-interfaces-using-the-cli
node_interfaces/provisioning-sr-iov-vf-interfaces-using-the-cli
node_interfaces/sriov-port-sharing
node_interfaces/configuring-ethernet-interfaces-on-sriov-interace usingfrom-horizon
node_interfaces/configuring-ethernet-interfaces-on-sriov-interface-using-cli
node_interfaces/configuring-vf-interfaces-rate-limiting-using-cli
node_interfaces/configuring-vlan-type-interfaces-using-the-sriov-interface-from-the-cli
*********************************
Interface IP address provisioning
@ -290,6 +295,16 @@ Intel N3000 FPGA support
hardware_acceleration_devices/updating-an-intel-n3000-fpga-image
hardware_acceleration_devices/n3000-fpga-forward-error-correction
hardware_acceleration_devices/showing-details-for-an-fpga-device
hardware_acceleration_devices/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
------------------------
Host hardware management

View File

@ -23,17 +23,28 @@ Ethernet interfaces are created automatically.
.. code-block:: none
~(keystone_admin)$ system host-if-list -a controller-0
+---...+----------+----------+...+---------------+...+-------------------+
| uuid | name | class | | ports | | data networks |
+---...+----------+----------+...+---------------+...+-------------------+
| 68...| ens787f3 | None | | [u'ens787f3'] | | [] |
| 79...| data0 | data | | [u'ens787f0'] | | [u'group0-data0'] |
| 78...| cluster0 | platform | | [] | | [] |
| 89...| ens513f3 | None | | [u'ens513f3'] | | [] |
| 97...| ens803f1 | None | | [u'ens803f1'] | | [] |
| d6...| pxeboot0 | platform | | [u'eno2'] | | [] |
| d6...| mgmt0 | platform | | [] | | [] |
+---...+----------+----------+...+---------------+...+-------------------+
+-------------+-----------+-----------+----------+------+----------------+-------------+----------------------------+---------------------------+
| uuid | name | class | type | vlan | ports | uses i/f | used by i/f | attributes |
| | | | | id | | | | |
+-------------+-----------+-----------+----------+------+----------------+-------------+----------------------------+---------------------------+
| 0aa20d82-...| sriovvf2 | pci-sriov | vf | None | [] | [u'sriov0'] | [] | MTU=1500,max_tx_rate=100 |
| 0e5f162d-...| mgmt0 | platform | vlan | 163 | [] | [u'sriov0'] | [] | MTU=1500 |
| 14f2ed53-...| sriov0 | pci-sriov | ethernet | None | [u'enp24s0f0'] | [] | [u'sriovnet1', u'oam0', | MTU=9216 |
| | | | | | | | u'sriovnet2', u'sriovvf2', | |
| | | | | | | | u'sriovvf1', u'mgmt0', | |
| | | | | | | | u'pxeboot0'] | |
| | | | | | | | | |
| 163592bd-...| data1 | data | ethernet | None | [u'enp24s0f1'] | [] | [] | MTU=1500,accelerated=True |
| 1831571d-...| sriovnet2 | pci-sriov | vf | None | [] | [u'sriov0'] | [] | MTU=1956,max_tx_rate=100 |
| 5741318f-...| eno2 | None | ethernet | None | [u'eno2'] | [] | [] | MTU=1500 |
| 5bd79fbd-...| enp26s0f0 | None | ethernet | None | [u'enp26s0f0'] | [] | [] | MTU=1500 |
| 623d5494-...| oam0 | platform | vlan | 103 | [] | [u'sriov0'] | [] | MTU=1500 |
| 78b4080a-...| enp26s0f1 | None | ethernet | None | [u'enp26s0f1'] | [] | [] | MTU=1500 |
| a6f1f901-...| eno1 | None | ethernet | None | [u'eno1'] | [] | [] | MTU=1500 |
| f37eac1b-...| pxeboot0 | platform | ethernet | None | [] | [u'sriov0'] | [] | MTU=1500 |
| f7c62216-...| sriovnet1 | pci-sriov | vf | None | [] | [u'sriov0'] | [] | MTU=1500,max_tx_rate=100 |
| fcbe3aca-...| sriovvf1 | pci-sriov | vf | None | [] | [u'sriov0'] | [] | MTU=1956,max_tx_rate=100 |
+-------------+-----------+-----------+----------+------+----------------+-------------+----------------------------+---------------------------+
#. Attach an interface to a network.

View File

@ -51,7 +51,7 @@ for different types of interface, see :ref:`Interface Settings
#. Complete any other settings required for the Interface Class.
.. note::
For a |prod-os| OpenStack application data interface attached to a
For a |prod-os| application data interface attached to a
data network, the |MTU| must be
equal to or larger than the |MTU|
of the data network to which the interface is attached.

View File

@ -11,6 +11,10 @@ Ethernet interfaces to networks.
|prod| supports up to four ports in a |LAG|.
.. only:: partner
../../../_includes/configuring-aggregated-ethernet-interfaces-using-the-cli.rest
For more about link aggregation modes and policies, see :ref:`Link Aggregation
Settings <link-aggregation-settings>`.
@ -26,17 +30,28 @@ Settings <link-aggregation-settings>`.
.. code-block:: none
~(keystone_admin)$ system host-if-list -a controller-0
+---...+----------+----------+...+---------------+...+-------------------+
| uuid | name | class | | ports | | data networks |
+---...+----------+----------+...+---------------+...+-------------------+
| 68...| ens787f3 | None | | [u'ens787f3'] | | [] |
| 79...| data0 | data | | [u'ens787f0'] | | [u'group0-data0'] |
| 78...| cluster0 | platform | | [] | | [] |
| 89...| ens513f3 | None | | [u'ens513f3'] | | [] |
| 97...| ens803f1 | None | | [u'ens803f1'] | | [] |
| d6...| pxeboot0 | platform | | [u'eno2'] | | [] |
| d6...| mgmt0 | platform | | [] | | [] |
+---...+----------+----------+...+---------------+...+-------------------+
+-------------+-----------+-----------+----------+------+----------------+-------------+----------------------------+---------------------------+
| uuid | name | class | type | vlan | ports | uses i/f | used by i/f | attributes |
| | | | | id | | | | |
+-------------+-----------+-----------+----------+------+----------------+-------------+----------------------------+---------------------------+
| 0aa20d82-...| sriovvf2 | pci-sriov | vf | None | [] | [u'sriov0'] | [] | MTU=1500,max_tx_rate=100 |
| 0e5f162d-...| mgmt0 | platform | vlan | 163 | [] | [u'sriov0'] | [] | MTU=1500 |
| 14f2ed53-...| sriov0 | pci-sriov | ethernet | None | [u'enp24s0f0'] | [] | [u'sriovnet1', u'oam0', | MTU=9216 |
| | | | | | | | u'sriovnet2', u'sriovvf2', | |
| | | | | | | | u'sriovvf1', u'mgmt0', | |
| | | | | | | | u'pxeboot0'] | |
| | | | | | | | | |
| 163592bd-...| data1 | data | ethernet | None | [u'enp24s0f1'] | [] | [] | MTU=1500,accelerated=True |
| 1831571d-...| sriovnet2 | pci-sriov | vf | None | [] | [u'sriov0'] | [] | MTU=1956,max_tx_rate=100 |
| 5741318f-...| eno2 | None | ethernet | None | [u'eno2'] | [] | [] | MTU=1500 |
| 5bd79fbd-...| enp26s0f0 | None | ethernet | None | [u'enp26s0f0'] | [] | [] | MTU=1500 |
| 623d5494-...| oam0 | platform | vlan | 103 | [] | [u'sriov0'] | [] | MTU=1500 |
| 78b4080a-...| enp26s0f1 | None | ethernet | None | [u'enp26s0f1'] | [] | [] | MTU=1500 |
| a6f1f901-...| eno1 | None | ethernet | None | [u'eno1'] | [] | [] | MTU=1500 |
| f37eac1b-...| pxeboot0 | platform | ethernet | None | [] | [u'sriov0'] | [] | MTU=1500 |
| f7c62216-...| sriovnet1 | pci-sriov | vf | None | [] | [u'sriov0'] | [] | MTU=1500,max_tx_rate=100 |
| fcbe3aca-...| sriovvf1 | pci-sriov | vf | None | [] | [u'sriov0'] | [] | MTU=1956,max_tx_rate=100 |
+-------------+-----------+-----------+----------+------+----------------+-------------+----------------------------+---------------------------+
#. Create an aggregated Ethernet interface and attach it to a network.

View File

@ -0,0 +1,59 @@
.. bmi1612787317125
.. _configuring-ethernet-interfaces-on-sriov-interace usingfrom-horizon:
======================================================================
Configure Ethernet Interfaces on SR-IOV interface Using Horizon
======================================================================
You can use the Horizon web interface to configure ethernet interfaces on
|SRIOV|.
.. rubric:: |prereq|
You must create an |SRIOV| interface before you can provision an ethernet
interface. For more information, see :ref:`Provisioning SR-IOV Interfaces using
the CLI <provisioning-sr-iov-interfaces-using-the-cli>`.
.. rubric:: |proc|
#. Open the **Host Inventory** page, available from **Admin** \> **Platform**
\> **Host Inventory** in the left-hand panel, under **Actions** click on the
down arrow button on "Edit Host" and select "Lock Host".
.. image:: ../figures/rst1442611298701.png
:width: 550
#. Open the Host Detail page for the host.
#. Open the Host Inventory page, available from **Admin** \> **Platform**
\> **Host Inventory** in the left-hand pane.
#. Select the Hosts tab, and then in the **Host Name** column, click the
name of the host.
#. Select the **Interfaces** tab.
.. image:: ../figures/vpw1612788524636.png
#. Open the **Host Inventory** page, available from **Admin** \> **Platform**
\> **Host Inventory** in the left-hand panel, under **Actions** click on the
down arrow button on "Edit Host" and select "Unlock Host".
#. Click **Create Interface**.
#. Open the **Interface Class** drop-down menu and select platform.
#. Open the **Interface Type** drop-down menu and select ethernet.
#. Select the |SRIOV| Ethernet interface used to attach this interface to the
network from the Interfaces\(s\) list,
#. From the Platform Network\(s\) list, select pxeboot to which this interface
is attached.
#. Click **Create Interface** to save your changes and close the dialog box.
.. image:: ../figures/qes1612788640104.png

View File

@ -0,0 +1,131 @@
.. gtw1612788763384
.. _configuring-ethernet-interfaces-on-sriov-interface-using-cli:
=================================================================
Configure Ethernet Interfaces on SR-IOV interface Using the CLI
=================================================================
You can create new ethernet interfaces on an SR-IOV interface and attach them
to platform networks using the CLI.
.. rubric:: |proc|
#. Lock the host.
.. code-block:: none
~(keystone_admin)$ system host-lock controller-0
To list all interfaces, use the :command:`system host-if-list` command and
include the :command:`-a` flag.
For example:
.. code-block:: none
~(keystone_admin)$ system host-if-list controller-0
+-----------+----------+-----------+----------+------+---------------+-------------+--------------------------------+------------+
| uuid | name | class | type | vlan | ports | uses i/f | used by i/f | attributes |
| | | | | id | | | | |
+-----------+----------+-----------+----------+------+---------------+-------------+--------------------------------+------------+
| 0c4b1cc...| sriov00 | pci-sriov | vf | None | [] | [u'sriov0'] | [] | MTU=1500 |
| 3a191c4...| oam0 | platform | vlan | 200 | [] | [u'sriov0'] | [] | MTU=1500 |
| b295ee9...| sriov01 | pci-sriov | vf | None | [] | [u'sriov0'] | [] | MTU=1500 |
| c178445...| mgmt0 | platform | vlan | 157 | [] | [u'sriov0'] | [] | MTU=1500 |
| d71ed2f...| sriov0 | pci-sriov | ethernet | None | [u'enp3s0f0'] | [] | [u'cluster0', u'sriov00', | MTU=1500 |
| | | | | | | | u'sriov01', u'mgmt0', u'oam0'] | |
| | | | | | | | | |
| e7bd04f...| cluster0 | platform | vlan | 158 | [] | [u'sriov0'] | [] | MTU=1500 |
+-----------+----------+-----------+----------+------+---------------+-------------+--------------------------------+------------+
#. Create an Ethernet interface.
Use the :command:`host-if-add` command with the following options:
.. code-block:: none
~(keystone_admin)$ system host-if-add <hostname> -c platform <interfacename> ethernet <ethname>
Where:
**interfacename**
is the name or |UUID| for the interface \(Required\).
**hostname**
is the name or |UUID| of the host.
**ethname**
is the name of the |SRIOV| interface.
For example:
.. code-block:: none
~(keystone_admin)$ system host-if-add controller-0 -c platform pxeboot0 ethernet sriov0
+-----------------+--------------------------------------+
| Property | Value |
+-----------------+--------------------------------------+
| ifname | pxeboot0 |
| iftype | ethernet |
| ports | [] |
| imac | 00:1e:67:e6:c0:92 |
| imtu | 1500 |
| ifclass | platform |
| ptp_role | none |
| aemode | None |
| schedpolicy | None |
| txhashpolicy | None |
| uuid | 1a511695-3514-49fb-8f1d-4f9d88e26949 |
| ihost_uuid | bfaa02c2-61e8-4da8-beac-d5f3a93decef |
| vlan_id | None |
| uses | [u'sriov0'] |
| used_by | [] |
| created_at | 2021-02-18T11:17:21.482023+00:00 |
| updated_at | None |
| sriov_numvfs | 0 |
| sriov_vf_driver | None |
| max_tx_rate | None |
| ipv4_mode | None |
| ipv6_mode | None |
| accelerated | [] |
+-----------------+--------------------------------------+
~(keystone_admin)$ system host-if-list controller-0
+------------+----------+-----------+----------+------+---------------+-------------+---------------------------------+------------+
| uuid | name | class | type | vlan | ports | uses i/f | used by i/f | attributes |
| | | | | id | | | | |
+------------+----------+-----------+----------+------+---------------+-------------+---------------------------------+------------+
| 0c4b1cc | sriov00 | pci-sriov | vf | None | [] | [u'sriov0'] | [] | MTU=1500 |
| 1a51169 | pxeboot0 | platform | ethernet | None | [] | [u'sriov0'] | [] | MTU=1500 |
| 3a191c4 | oam0 | platform | vlan | 200 | [] | [u'sriov0'] | [] | MTU=1500 |
| b295ee9 | sriov01 | pci-sriov | vf | None | [] | [u'sriov0'] | [] | MTU=1500 |
| c178445 | mgmt0 | platform | vlan | 157 | [] | [u'sriov0'] | [] | MTU=1500 |
| d71ed2f | sriov0 | pci-sriov | ethernet | None | [u'enp3s0f0'] | [] | [u'cluster0', u'pxeboot0', | MTU=1500 |
| | | | | | | | u'sriov00', u'sriov01', u'oam0' | |
| | | | | | | | , u'mgmt0'] | |
| | | | | | | | | |
| e7bd04f | cluster0 | platform | vlan | 158 | [] | [u'sriov0'] | [] | MTU=1500 |
+------------+----------+-----------+----------+------+---------------+-------------+---------------------------------+------------+
#. Attach the ethernet interface to a platform network.
.. code-block:: none
~(keystone_admin)$ system interface-network-assign <hostname> <interface> <name> <network>
For example:
.. code-block:: none
~(keystone_admin)$ system interface-network-assign controller-0 pxeboot0 pxeboot
#. Unlock the host.
.. code-block:: none
~(keystone_admin)$ system host-unlock controller-0

View File

@ -62,7 +62,7 @@ see :ref:`Interface Settings <interface-settings>`.
#. Complete the required information for the type of interface.
.. note::
For a |prod-os| OpenStack application data interface attached
For a |prod-os| application data interface attached
to a data network, the |MTU| must be equal to or larger than the |MTU|
of the data network to which the interface is attached.

View File

@ -0,0 +1,108 @@
.. nuo1612792731113
.. _configuring-vf-interfaces-rate-limiting-using-cli:
=====================================================
Configure VF Interfaces Rate Limiting Using the CLI
=====================================================
You can apply rate-limiting on VFs used for Data networks.
.. rubric:: |context|
This feature is available on the Intel X710/XL710 \(Fortville\) 10G and Intel
E810-CQDA2 \(Columbiaville\). It can be used on sub-interfaces of vf type
interfaces.
Be aware of the following guidance when using this feature:
.. _configuring-vf-interfaces-rate-limiting-using-cli-ul-c3p-yrz-44b:
- Rate limiting is applicable to the maximum transmission rate.
- Rate limiting is disabled by default.
- If all VF's are in contention then each will get an equal share of the
bandwidth.
- The total sum of the maximum transmission rates of all rate limited VFs
cannot exceed 90% of the port link speed.
- The unit is Mbps, and value of 0 means turn off the rate limiting.
- VFs with different limited rate are supposed to be attached separate data
networks and managed by Kubernetes SR-IOV device plugin as different
ResourcePools. You can then use the VFs by specifying the corresponding
<resourceName>.
This task must be performed from the CLI.
.. rubric:: |prereq|
You must create an SR-IOV interface before you can provision VF interface. For
more information, see :ref:`Provisioning SR-IOV Interfaces using the CLI
<provisioning-sr-iov-interfaces-using-the-cli>`.
Data networks should be created for VF sub-interfaces attachment.
.. code-block:: none
PHYSNET1='physnet_kernel_400m'
PHYSNET2='physnet_dpdk_600m'
system datanetwork-add ${PHYSNET1} vlan
system datanetwork-add ${PHYSNET2} vlan
.. rubric:: |proc|
#. Lock the host.
.. code-block:: none
~(keystone_admin)$ system host-lock controller-0
#. Create a sub-interface with rate limiting configuration.
The parameters are all same as shown in the procedure for |node-doc|:
:ref:`Provisioning SR-IOV VF Interfaces using the CLI
<provisioning-sr-iov-vf-interfaces-using-the-cli>`, plus one newly added
rate limiting related parameter: --max-tx-rate
.. note::
The configured sriov\_numvfs with
max\_tx\_rate\(max\_tx\_rate\*sriov\_numvfs\) should not exceed 90% of
the link bandwidth.
For example:
.. code-block:: none
~(keystone_admin)$ system host-if-add -c pci-sriov controller-0 sriov00 vf sriov0 -N 2 --vf-driver=netdevice --max-tx-rate=400
~(keystone_admin)$ system host-if-add -c pci-sriov controller-0 sriov01 vf sriov0 -N 2 --vf-driver=vfio --max-tx-rate=600
#. The rate limit configuration can be modified by specifying other values.
.. code-block:: none
~(keystone_admin)$ system host-if-modify controller-0 sriov00 --max-tx-rate=200
#. The rate limit configuration can be modified by specifying a value of zero.
.. code-block:: none
~(keystone_admin)$ system host-if-modify controller-0 sriov00 --max-tx-rate=0
#. Attach the vf interfaces to the data.
.. code-block:: none
~(keystone_admin)$ system interface-datanetwork-assign controller-0 sriov00 $PHYSNET1
~(keystone_admin)$ system interface-datanetwork-assign controller-0 sriov01 $PHYSNET2
#. Unlock the host.
.. code-block:: none
~(keystone_admin)$ system host-unlock controller-0

View File

@ -20,26 +20,37 @@ You can use the CLI to attach |VLAN| interfaces to networks.
.. code-block:: none
~(keystone_admin)$ system host-if-list -a controller-0
+---...+----------+----------+...+---------------+...+-------------------+
| uuid | name | class | | ports | | data networks |
+---...+----------+----------+...+---------------+...+-------------------+
| 68...| ens787f3 | None | | [u'ens787f3'] | | [] |
| 79...| data0 | data | | [u'ens787f0'] | | [u'group0-data0'] |
| 78...| cluster0 | platform | | [] | | [] |
| 89...| ens513f3 | None | | [u'ens513f3'] | | [] |
| 97...| ens803f1 | None | | [u'ens803f1'] | | [] |
| d6...| pxeboot0 | platform | | [u'eno2'] | | [] |
| d6...| mgmt0 | platform | | [] | | [] |
+---...+----------+----------+...+---------------+...+-------------------+
+-------------+-----------+-----------+----------+------+----------------+-------------+----------------------------+---------------------------+
| uuid | name | class | type | vlan | ports | uses i/f | used by i/f | attributes |
| | | | | id | | | | |
+-------------+-----------+-----------+----------+------+----------------+-------------+----------------------------+---------------------------+
| 0aa20d82-...| sriovvf2 | pci-sriov | vf | None | [] | [u'sriov0'] | [] | MTU=1500,max_tx_rate=100 |
| 0e5f162d-...| mgmt0 | platform | vlan | 163 | [] | [u'sriov0'] | [] | MTU=1500 |
| 14f2ed53-...| sriov0 | pci-sriov | ethernet | None | [u'enp24s0f0'] | [] | [u'sriovnet1', u'oam0', | MTU=9216 |
| | | | | | | | u'sriovnet2', u'sriovvf2', | |
| | | | | | | | u'sriovvf1', u'mgmt0', | |
| | | | | | | | u'pxeboot0'] | |
| | | | | | | | | |
| 163592bd-...| data1 | data | ethernet | None | [u'enp24s0f1'] | [] | [] | MTU=1500,accelerated=True |
| 1831571d-...| sriovnet2 | pci-sriov | vf | None | [] | [u'sriov0'] | [] | MTU=1956,max_tx_rate=100 |
| 5741318f-...| eno2 | None | ethernet | None | [u'eno2'] | [] | [] | MTU=1500 |
| 5bd79fbd-...| enp26s0f0 | None | ethernet | None | [u'enp26s0f0'] | [] | [] | MTU=1500 |
| 623d5494-...| oam0 | platform | vlan | 103 | [] | [u'sriov0'] | [] | MTU=1500 |
| 78b4080a-...| enp26s0f1 | None | ethernet | None | [u'enp26s0f1'] | [] | [] | MTU=1500 |
| a6f1f901-...| eno1 | None | ethernet | None | [u'eno1'] | [] | [] | MTU=1500 |
| f37eac1b-...| pxeboot0 | platform | ethernet | None | [] | [u'sriov0'] | [] | MTU=1500 |
| f7c62216-...| sriovnet1 | pci-sriov | vf | None | [] | [u'sriov0'] | [] | MTU=1500,max_tx_rate=100 |
| fcbe3aca-...| sriovvf1 | pci-sriov | vf | None | [] | [u'sriov0'] | [] | MTU=1956,max_tx_rate=100 |
+-------------+-----------+-----------+----------+------+----------------+-------------+----------------------------+---------------------------+
#. Create a |VLAN| interface.
Use a command of the following form:
Use the following command:
.. code-block:: none
~(keystone_admin)$ system host-if-add <hostname> -V <--vlan_id> -c <--ifclass> <interface name> <ethname> [<datanetwork>]
~(keystone_admin)$ system host-if-add <hostname> -V <vlan_id> -c <ifclass> <interface name> <ethname> [<datanetwork>]
where the following options are available:

View File

@ -0,0 +1,156 @@
.. wsr1614111675912
.. _configuring-vlan-type-interfaces-using-the-sriov-interface-from-the-cli:
========================================================================
Configure VLAN Type Interfaces Using the SR-IOV Interface From the CLI
========================================================================
You can use the CLI to attach |VLAN| interfaces to networks.
.. rubric:: |context|
.. rubric:: |prereq|
You must create an |SRIOV| interface before you can provision a vlan interface.
For more information, see :ref:`Provisioning SR-IOV VF Interfaces using the CLI
<provisioning-sr-iov-vf-interfaces-using-the-cli>`.
.. rubric:: |proc|
.. _configuring-vlan-type-interfaces-using-the-sriov-interface-from-the-cli-steps-rf5-5wh-lkb:
#. Lock the host.
.. code-block:: none
~(keystone_admin)$ host-lock controller-0
#. List the attached interfaces.
To list all interfaces, use the :command:`system host-if-list` command and
include the ``-a`` flag.
.. code-block:: none
~(keystone_admin)$ system host-if-list -a controller-0
+-------------+-----------+-----------+----------+------+----------------+-------------+----------------------------+---------------------------+
| uuid | name | class | type | vlan | ports | uses i/f | used by i/f | attributes |
| | | | | id | | | | |
+-------------+-----------+-----------+----------+------+----------------+-------------+----------------------------+---------------------------+
| 0aa20d82-...| sriovvf2 | pci-sriov | vf | None | [] | [u'sriov0'] | [] | MTU=1500,max_tx_rate=100 |
| 0e5f162d-...| mgmt0 | platform | vlan | 163 | [] | [u'sriov0'] | [] | MTU=1500 |
| 14f2ed53-...| sriov0 | pci-sriov | ethernet | None | [u'enp24s0f0'] | [] | [u'sriovnet1', u'oam0', | MTU=9216 |
| | | | | | | | u'sriovnet2', u'sriovvf2', | |
| | | | | | | | u'sriovvf1', u'mgmt0', | |
| | | | | | | | u'pxeboot0'] | |
| | | | | | | | | |
| 163592bd-...| data1 | data | ethernet | None | [u'enp24s0f1'] | [] | [] | MTU=1500,accelerated=True |
| 1831571d-...| sriovnet2 | pci-sriov | vf | None | [] | [u'sriov0'] | [] | MTU=1956,max_tx_rate=100 |
| 5741318f-...| eno2 | None | ethernet | None | [u'eno2'] | [] | [] | MTU=1500 |
| 5bd79fbd-...| enp26s0f0 | None | ethernet | None | [u'enp26s0f0'] | [] | [] | MTU=1500 |
| 623d5494-...| oam0 | platform | vlan | 103 | [] | [u'sriov0'] | [] | MTU=1500 |
| 78b4080a-...| enp26s0f1 | None | ethernet | None | [u'enp26s0f1'] | [] | [] | MTU=1500 |
| a6f1f901-...| eno1 | None | ethernet | None | [u'eno1'] | [] | [] | MTU=1500 |
| f37eac1b-...| pxeboot0 | platform | ethernet | None | [] | [u'sriov0'] | [] | MTU=1500 |
| f7c62216-...| sriovnet1 | pci-sriov | vf | None | [] | [u'sriov0'] | [] | MTU=1500,max_tx_rate=100 |
| fcbe3aca-...| sriovvf1 | pci-sriov | vf | None | [] | [u'sriov0'] | [] | MTU=1956,max_tx_rate=100 |
+-------------+-----------+-----------+----------+------+----------------+-------------+----------------------------+---------------------------+
#. Create a |VLAN| interface.
Use a command of the following form:
.. code-block:: none
~(keystone_admin)$ system host-if-add <hostname> -V <vlan_id> \
-c <--ifclass> <interface name> <sriov_intf_name> [<datanetwork>]
where the following options are available:
**interface name**
A name or |UUID| for the interface \(Required\).
.. caution::
To avoid potential internal inconsistencies, do not use upper case
characters when creating interface names. Some components normalize
all interface names to lower case.
**vlan\_id**
The |VLAN| identifier for the network.
**hostname**
The name or |UUID| of the host.
**ifclass**
The class of the interface. The valid classes are **platform**,
**data**, **pci-sriov**, and **pci-passthrough**.
**sriov\_intf\_name**
The name of the |SRIOV| interface.
**datanetworks**
A list of data networks, delimited by quotes and separated by commas;
for example, "net-a, net-b". To specify a single data network, omit the
quotes. This parameter is required only if the <networktype> is set to
data,pci-sriov or pci-passthru.
**network**
The name or ID of the network to assign the interface to
For example, to attach a |VLAN| interface named cluster0 with |VLAN| ID 164 to
the cluster-host network using |SRIOV| interface sriov0 on controller-0:
.. code-block:: none
~(keystone_admin)$ system host-if-add controller-0 -V 164 -c platform cluster0 vlan sriov0
+-----------------+--------------------------------------+
| Property | Value |
+-----------------+--------------------------------------+
| ifname | cluster0 |
| iftype | vlan |
| ports | [] |
| imac | 3c:fd:fe:ac:60:44 |
| imtu | 1500 |
| ifclass | platform |
| ptp_role | none |
| aemode | None |
| schedpolicy | None |
| txhashpolicy | None |
| uuid | 6fa5015f-bcd3-4059-8fc1-9cdbbbe31d39 |
| ihost_uuid | 1b67fe83-5010-4eac-bcca-6a6e6f2bd197 |
| vlan_id | 164 |
| uses | [u'sriov0'] |
| used_by | [] |
| created_at | 2021-02-24T15:04:48.116079+00:00 |
| updated_at | None |
| sriov_numvfs | 0 |
| sriov_vf_driver | None |
| max_tx_rate | None |
| ipv4_mode | None |
| ipv6_mode | None |
| accelerated | [True] |
+-----------------+--------------------------------------+
#. Attach the newly created |VLAN| interface to a network.
Use a command of the following format:
.. code-block:: none
~(keystone_admin)$ system interface-network-assign <hostname> <interface name> <network>
For example:
.. code-block:: none
~(keystone_admin)$ system interface-network-assign controller-0 cluster0 cluster-host
#. Unlock the host.
.. code-block:: none
~(keystone_admin)$ host-unlock controller-0

View File

@ -3,7 +3,7 @@
.. _creating-interfaces:
=================
Create Interfaces
Create interfaces
=================
You can create logical interfaces for use in aggregated Ethernet or
@ -12,6 +12,10 @@ You can create logical interfaces for use in aggregated Ethernet or
Ethernet network interfaces on hosts are created automatically in |prod|
based on detected hardware. You do not need to create them manually.
However, you can create new ethernet type logical interfaces on top of |SRIOV|
interfaces, which does require manual configuration as described in
:ref:`SR-IOV Port Sharing <sriov-port-sharing>`.
For aggregated Ethernet, where multiple physical interfaces are used to
form a logical interface, or |VLAN| tagging, where a single physical interface
is used for multiple logical interfaces, you can create and assign the

View File

@ -24,7 +24,7 @@ Some interfaces require manual provisioning before the nodes can be unlocked.
network before you can unlock the node.
.. note::
For the |prod-os| OpenStack application and an openstack-compute
For the |prod-os| application and an openstack-compute
labeled worker node, you must also attach at least one 'data' class
data networks before you can unlock the node. The data networks must
be set up beforehand. For more information,

View File

@ -122,7 +122,7 @@ These settings are available on the **Edit Interface** and
**MTU**
The maximum transmission unit for the interface.
For a |prod-os| OpenStack application data interface attached to a data
For a |prod-os| application data interface attached to a data
network, this must be equal to or larger than the |MTU| of the data network
to which the interface is attached.
@ -157,7 +157,7 @@ These settings are available on the **Edit Interface** and
networks.
.. note::
For the |prod-os| OpenStack application this is used for the IPv6
For the |prod-os| application this is used for the IPv6
Address of |VXLAN| tunnel endpoints for use with |VXLAN| data networks.
**Disabled**

View File

@ -0,0 +1,50 @@
.. yda1612785713877
.. _sriov-port-sharing:
====================
SRIOV Port Sharing
====================
With |SRIOV| port sharing, you can:
.. _sriov-port-sharing-ul-e32-kzy-44b:
- Create an |SRIOV| interface on a |VF| capable port.
- Create |VF| type sub-interfaces using the |SRIOV| interface, and attach
these sub-interfaces to data networks..
- Create |VLAN| type interfaces using the |SRIOV| interface, and attach them to
|OAM|, internal management and cluster-host platform networks respectively.
- Create ethernet type of sub-interfaces using an |SRIOV| interface, and
attach this interface to pxeboot network, which has to be untagged network.
By doing so, all of the network planes can be carried by only one VF-capable
physical port according to following resource allocation:
.. _sriov-port-sharing-ul-fdh-wzy-44b:
- Platform type networks: PF
- pxeboot
- oam
- cluster-host
- mgmt
- Data type networks: |VFs|
- pci-sriov class, vf type
- :ref:`Configuring Ethernet Interfaces on SR-IOV interface Using from Horizon
<configuring-ethernet-interfaces-on-sriov-interace usingfrom-horizon>`
- :ref:`Configuring Ethernet Interfaces on SR-IOV interface Using the CLI <configuring-ethernet-interfaces-on-sriov-interface-using-cli>`

View File

@ -97,7 +97,7 @@ reference.
reflect the operational state of a host. The transition triggers the
recovery of a container to another worker node. These transitions
apply where a container is an application container, or when running
the |prod-os| OpenStack application, a container.
the |prod-os| application.
.. seealso::
:ref:`Host Status and Alarms During System Configuration Changes

View File

@ -79,6 +79,7 @@
.. |SNAT| replace:: :abbr:`SNAT (Source Network Address Translation)`
.. |SNMP| replace:: :abbr:`SNMP (Simple Network Management Protocol)`
.. |SRIOV| replace:: :abbr:`SR-IOV (Single Root I/O Virtualization)`
.. |SRIOVs| replace:: :abbr:`SR-IOV (Single Root I/O Virtualizations)`
.. |SSD| replace:: :abbr:`SSD (Solid State Drive)`
.. |SSDs| replace:: :abbr:`SSDs (Solid State Drives)`
.. |SSH| replace:: :abbr:`SSH (Secure Shell)`
@ -89,6 +90,7 @@
.. |ToR| replace:: :abbr:`ToR (Top-of-Rack)`
.. |UDP| replace:: :abbr:`UDP (User Datagram Protocol)`
.. |UEFI| replace:: :abbr:`UEFI (Unified Extensible Firmware Interface)`
.. |UUID| replace:: :abbr:`UUID (Universally Unique Identifier)`
.. |VF| replace:: :abbr:`VF (Virtual Function)`
.. |VFs| replace:: :abbr:`VFs (Virtual Functions)`
.. |VLAN| replace:: :abbr:`VLAN (Virtual Local Area Network)`

View File

@ -16,7 +16,7 @@ deps =
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
-r{toxinidir}/doc/requirements.txt
commands =
sphinx-build -a -E -W --keep-going -d doc/build/doctrees -b html doc/source doc/build/html {posargs}
sphinx-build -a -E -W --keep-going -d doc/build/doctrees -t starlingx -b html doc/source doc/build/html {posargs}
bash htmlChecks.sh
whitelist_externals = bash
htmlChecks.sh