From 0123636bd3fca2ec18d74526d0efaa9224b83789 Mon Sep 17 00:00:00 2001 From: Stone Date: Thu, 24 Dec 2020 11:37:01 -0500 Subject: [PATCH] Node Management doc Improved conditionalization of content. Signed-off-by: Stone Change-Id: I775822cccc91d1ad9a6dfd16e3563acdb39378d4 --- .../about-host-memory-provisioning.rest | 0 doc/source/_includes/avs-note.rest | 0 .../_includes/common-openstack-labels.rest | 19 ++++++ ...ted-ethernet-interfaces-using-horizon.rest | 0 ...ted-ethernet-interfaces-using-the-cli.rest | 0 ...ng-labels-to-identify-openstack-nodes.rest | 31 +++++++++ .../about-host-memory-provisioning.rst | 11 ++-- .../allocating-host-memory-using-horizon.rst | 10 +-- .../allocating-host-memory-using-the-cli.rst | 14 ++-- ...ated-ethernet-interfaces-using-horizon.rst | 18 +++--- ...ated-ethernet-interfaces-using-the-cli.rst | 16 ++--- ...ing-sr-iov-vf-interfaces-using-the-cli.rst | 14 ++-- ...ing-labels-to-identify-openstack-nodes.rst | 64 +------------------ doc/source/shared/strings.txt | 30 ++++++++- 14 files changed, 118 insertions(+), 109 deletions(-) create mode 100644 doc/source/_includes/about-host-memory-provisioning.rest create mode 100644 doc/source/_includes/avs-note.rest create mode 100644 doc/source/_includes/common-openstack-labels.rest create mode 100644 doc/source/_includes/configuring-aggregated-ethernet-interfaces-using-horizon.rest create mode 100644 doc/source/_includes/configuring-aggregated-ethernet-interfaces-using-the-cli.rest create mode 100644 doc/source/_includes/using-labels-to-identify-openstack-nodes.rest diff --git a/doc/source/_includes/about-host-memory-provisioning.rest b/doc/source/_includes/about-host-memory-provisioning.rest new file mode 100644 index 000000000..e69de29bb diff --git a/doc/source/_includes/avs-note.rest b/doc/source/_includes/avs-note.rest new file mode 100644 index 000000000..e69de29bb diff --git a/doc/source/_includes/common-openstack-labels.rest b/doc/source/_includes/common-openstack-labels.rest new file mode 100644 index 000000000..d5d39663e --- /dev/null +++ b/doc/source/_includes/common-openstack-labels.rest @@ -0,0 +1,19 @@ +.. table:: Table 1. Common OpenStack Labels + :widths: auto + + +-----------------------------+---------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | Label | Worker/Controller | Description | + +=============================+===========================+=======================================================================================================================================================================+ + | **openstack-control-plane** | - Controller | Identifies a node to deploy openstack controller services on. | + | | | | + | | - All-in-One Controller | | + +-----------------------------+---------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | **openstack-compute-node** | Worker | Identifies a node to deploy openstack compute agents on. | + | | | | + | | | .. note:: | + | | | Adding or removing this label, or removing a node with this label from a cluster, triggers the regeneration and application of the helm chart override by Armada. | + +-----------------------------+---------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | **sriov** | - Worker | Identifies a node as supporting sr-iov. | + | | | | + | | - All-in-One Controller | | + +-----------------------------+---------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+ diff --git a/doc/source/_includes/configuring-aggregated-ethernet-interfaces-using-horizon.rest b/doc/source/_includes/configuring-aggregated-ethernet-interfaces-using-horizon.rest new file mode 100644 index 000000000..e69de29bb diff --git a/doc/source/_includes/configuring-aggregated-ethernet-interfaces-using-the-cli.rest b/doc/source/_includes/configuring-aggregated-ethernet-interfaces-using-the-cli.rest new file mode 100644 index 000000000..e69de29bb diff --git a/doc/source/_includes/using-labels-to-identify-openstack-nodes.rest b/doc/source/_includes/using-labels-to-identify-openstack-nodes.rest new file mode 100644 index 000000000..7e4930d70 --- /dev/null +++ b/doc/source/_includes/using-labels-to-identify-openstack-nodes.rest @@ -0,0 +1,31 @@ +- To remove labels from the host, do the following. + + .. code-block:: none + + ~(keystone)admin)$ system host-label-remove compute-0 openstack-compute-node sriov + Deleted host label openstack-compute-node for host compute-0 + Deleted host label SRIOV for host compute-0 + +- To assign Kubernetes labels to identify compute-0 as a compute node with + |SRIOV|, use the following command: + + .. code-block:: none + + ~(keystone)admin)$ system host-label-assign compute-0 openstack-compute-node=enabled sriov=enabled + +-------------+--------------------------------------+ + | Property | Value | + +-------------+--------------------------------------+ + | uuid | 2909d775-cd6c-4bc1-8268-27499fe38d5e | + | host_uuid | 1f00d8a4-f520-41ee-b608-1b50054b1cd8 | + | label_key | openstack-compute-node | + | label_value | enabled | + +-------------+--------------------------------------+ + +-------------+--------------------------------------+ + | Property | Value | + +-------------+--------------------------------------+ + | uuid | d8e29e62-4173-4445-886c-9a95b0d6fee1 | + | host_uuid | 1f00d8a4-f520-41ee-b608-1b50054b1cd8 | + | label_key | SRIOV | + | label_value | enabled | + +-------------+--------------------------------------+ + diff --git a/doc/source/node_management/starlingx-kubernetes/host_memory_provisioning/about-host-memory-provisioning.rst b/doc/source/node_management/starlingx-kubernetes/host_memory_provisioning/about-host-memory-provisioning.rst index befde5a9f..2d1ad7588 100644 --- a/doc/source/node_management/starlingx-kubernetes/host_memory_provisioning/about-host-memory-provisioning.rst +++ b/doc/source/node_management/starlingx-kubernetes/host_memory_provisioning/about-host-memory-provisioning.rst @@ -37,13 +37,6 @@ 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. -When the vSwitch type is set to |AVS|, the application huge -pages size must match the vSwitch huge pages size. For example, if -vSwitch uses 1GiB huge pages, only 1GiB huge pages can be allocated -for the application. You must also provision one 1GiB huge page per -|NUMA| node prior to unlocking a worker or an |AIO| controller if vswitch\_type -is set to |AVS|. - You can use the :command:`system host-memory-list` and :command:`system host-memory-show` commands to see how much memory is available for applications. This information is also shown on the **Memory** @@ -51,3 +44,7 @@ tab of the Host Inventory page \(see :ref:`Memory Tab `\). For individual containers \(or hosted applications if you are running OpenStack\), you can specify which page size is required. + +.. only:: partner + + .. include:: ../../../_includes/about-host-memory-provisioning.rest diff --git a/doc/source/node_management/starlingx-kubernetes/host_memory_provisioning/allocating-host-memory-using-horizon.rst b/doc/source/node_management/starlingx-kubernetes/host_memory_provisioning/allocating-host-memory-using-horizon.rst index 1b65078f9..f6471a961 100644 --- a/doc/source/node_management/starlingx-kubernetes/host_memory_provisioning/allocating-host-memory-using-horizon.rst +++ b/doc/source/node_management/starlingx-kubernetes/host_memory_provisioning/allocating-host-memory-using-horizon.rst @@ -10,9 +10,6 @@ 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. -vSwitch supports |AVS| and is only applicable on an openstack-compute labeled -worker node, when running the |prod-os| OpenStack application. - Due to limitations in Kubernetes, only a single huge page size can be used per host. @@ -22,8 +19,7 @@ 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. -You must also provision one 1GiB huge page -per |NUMA| node prior to unlocking a +You must also provision one 1GiB huge page per |NUMA| node prior to unlocking a worker or an |AIO| controller. .. rubric:: |prereq| @@ -95,3 +91,7 @@ informative message is displayed. #. Click **Save**. #. Unlock the host and wait for it to be reported as **Available**. + +.. only:: partner + + .. include:: ../../../_includes/avs-note.rest diff --git a/doc/source/node_management/starlingx-kubernetes/host_memory_provisioning/allocating-host-memory-using-the-cli.rst b/doc/source/node_management/starlingx-kubernetes/host_memory_provisioning/allocating-host-memory-using-the-cli.rst index 8ed03cacc..ce2d7388e 100644 --- a/doc/source/node_management/starlingx-kubernetes/host_memory_provisioning/allocating-host-memory-using-the-cli.rst +++ b/doc/source/node_management/starlingx-kubernetes/host_memory_provisioning/allocating-host-memory-using-the-cli.rst @@ -7,10 +7,7 @@ Allocate Host Memory Using the CLI ================================== You can edit the platform, vSwitch and huge page memory allocations for a -|NUMA| node from the CLI. vSwitch -supports |AVS| and is only -applicable on an **openstack-compute** labeled worker node when running -the |prod-os| OpenStack application. +|NUMA| node from the CLI. Due to limitations in Kubernetes, only a single huge page size can be used per host. @@ -20,9 +17,8 @@ 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. -You must also provision one 1GiB huge page per -|NUMA| node prior to unlocking a worker -or an |AIO| controller. +You must also provision one 1GiB huge page per |NUMA| node prior to unlocking a +worker or an |AIO| controller. .. rubric:: |proc| @@ -168,3 +164,7 @@ or an |AIO| controller. | 2 | controller-1 | controller | unlocked | enabled | available | | 3 | worker-0 | worker | unlocked | enabled | available | +----+--------------+-------------+----------------+-------------+--------------+ + +.. only:: partner + + .. include:: ../../../_includes/avs-note.rest diff --git a/doc/source/node_management/starlingx-kubernetes/node_interfaces/configuring-aggregated-ethernet-interfaces-using-horizon.rst b/doc/source/node_management/starlingx-kubernetes/node_interfaces/configuring-aggregated-ethernet-interfaces-using-horizon.rst index dcdcbb2f3..23b57d1ee 100644 --- a/doc/source/node_management/starlingx-kubernetes/node_interfaces/configuring-aggregated-ethernet-interfaces-using-horizon.rst +++ b/doc/source/node_management/starlingx-kubernetes/node_interfaces/configuring-aggregated-ethernet-interfaces-using-horizon.rst @@ -12,16 +12,10 @@ web interface. |prod| supports up to four ports in a |LAG|. -.. note:: - When running the |prod-os| OpenStack application with WRS |AVS| vSwitch, - you must use |AVS| accelerated data interfaces to use |LACP| or - active/standby mode on a data interface attached to a data network. - For non-accelerated data interfaces, only load-balanced mode is supported - -For general information about interface provisioning, -see :ref:`Interface Provisioning `. -For more about the available settings for different types of interface, -see :ref:`Interface Settings `. +For general information about interface provisioning, see :ref:`Interface +Provisioning `. For more about the available settings +for different types of interface, see :ref:`Interface Settings +`. .. rubric:: |proc| @@ -72,3 +66,7 @@ see :ref:`Interface Settings `. .. rubric:: |result| The interface is created and attached to the network. + +.. only:: partner + + .. include:: ../../../_includes/configuring-aggregated-ethernet-interfaces-using-horizon.rest diff --git a/doc/source/node_management/starlingx-kubernetes/node_interfaces/configuring-aggregated-ethernet-interfaces-using-the-cli.rst b/doc/source/node_management/starlingx-kubernetes/node_interfaces/configuring-aggregated-ethernet-interfaces-using-the-cli.rst index aef77ad41..943150a73 100644 --- a/doc/source/node_management/starlingx-kubernetes/node_interfaces/configuring-aggregated-ethernet-interfaces-using-the-cli.rst +++ b/doc/source/node_management/starlingx-kubernetes/node_interfaces/configuring-aggregated-ethernet-interfaces-using-the-cli.rst @@ -11,16 +11,8 @@ Ethernet interfaces to networks. |prod| supports up to four ports in a |LAG|. -.. note:: - You must use |AVS| accelerated - data interfaces to use |LACP| - or active/standby mode on a data interface attached to a data network - when running the |prod-os| application with - the |prod| |AVS| vSwitch. For - non-accelerated data interfaces, only load-balanced mode is supported. - -For more about link aggregation modes and policies, -see :ref:`Link Aggregation Settings `. +For more about link aggregation modes and policies, see :ref:`Link Aggregation +Settings `. .. rubric:: |proc| @@ -102,3 +94,7 @@ see :ref:`Link Aggregation Settings `. ~(keystone_admin)$ system host-if-add controller-0 -a balanced -x layer2 ae0 ae enp0s9 enp0s10 ~(keystone_admin)$ system interface-datanetwork-assign controller-0 ae0 providernet-net-a ~(keystone_admin)$ system interface-datanetwork-assign controller-0 ae0 providernet-net-b + +.. only:: partner + + ../../../_includes/configuring-aggregated-ethernet-interfaces-using-the-cli.rest diff --git a/doc/source/node_management/starlingx-kubernetes/node_interfaces/provisioning-sr-iov-vf-interfaces-using-the-cli.rst b/doc/source/node_management/starlingx-kubernetes/node_interfaces/provisioning-sr-iov-vf-interfaces-using-the-cli.rst index bf98e39d2..14e768098 100644 --- a/doc/source/node_management/starlingx-kubernetes/node_interfaces/provisioning-sr-iov-vf-interfaces-using-the-cli.rst +++ b/doc/source/node_management/starlingx-kubernetes/node_interfaces/provisioning-sr-iov-vf-interfaces-using-the-cli.rst @@ -27,13 +27,13 @@ the |SRIOV| interfaces. .. xbooklink See |datanet-doc|:`Adding Data Networks using the CLI `. -You must create an |SRIOV| interface before you can provision a VF interface. +You must create an |SRIOV| interface before you can provision a |VF| interface. For more information, see :ref:`Provision SR-IOV Interfaces using the CLI `. .. rubric:: |proc| -#. Lock the host to which you will assign a VF interface. +#. Lock the host to which you will assign a |VF| interface. For example: @@ -89,7 +89,7 @@ For more information, see :ref:`Provision SR-IOV Interfaces using the CLI **numvfs** The number of virtual functions to enable on the device. This must - be less than the number of VFs configured on the parent |SRIOV| + be less than the number of |VFs| configured on the parent |SRIOV| interface. **drivername** @@ -103,10 +103,10 @@ For more information, see :ref:`Provision SR-IOV Interfaces using the CLI .. note:: - - Applications backed by Mellanox |AVS| should use the - netdevice VF driver + - Applications backed by Mellanox AVS should use the + netdevice |VF| driver - - If the driver for the VF interface and parent SR-IOV + - If the driver for the |VF| interface and parent |SRIOV| interface differ, a separate data network should be created for each interface. @@ -116,7 +116,7 @@ For more information, see :ref:`Provision SR-IOV Interfaces using the CLI "data-net-a,data-net-b". To specify a single data network, omit the quotes. - For example, to create VF interface sriov2 as a subinterface of pci-sriov + For example, to create |VF| interface sriov2 as a subinterface of pci-sriov interface sriov1 with 8 virtual functions bound to vfio and attached data network datanet-b, do the following: diff --git a/doc/source/node_management/starlingx-openstack/using-labels-to-identify-openstack-nodes.rst b/doc/source/node_management/starlingx-openstack/using-labels-to-identify-openstack-nodes.rst index e2911f6a4..fe5f78e51 100644 --- a/doc/source/node_management/starlingx-openstack/using-labels-to-identify-openstack-nodes.rst +++ b/doc/source/node_management/starlingx-openstack/using-labels-to-identify-openstack-nodes.rst @@ -15,29 +15,9 @@ OpenStack role. .. _using-labels-to-identify-openstack-nodes-table-xyl-qmy-thb: -.. table:: Table 1. Common OpenStack Labels - :widths: auto +.. Common OpenStack labels - +-----------------------------+---------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | Label | Worker/Controller | Description | - +=============================+===========================+=======================================================================================================================================================================+ - | **openstack-control-plane** | - Controller | Identifies a node to deploy openstack controller services on. | - | | | | - | | - All-in-One Controller | | - +-----------------------------+---------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | **openstack-compute-node** | Worker | Identifies a node to deploy openstack compute agents on. | - | | | | - | | | .. note:: | - | | | Adding or removing this label, or removing a node with this label from a cluster, triggers the regeneration and application of the helm chart override by Armada. | - +-----------------------------+---------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | **avs** | - Worker | Identifies a node as supporting AVS. | - | | | | - | | - All-in-One Controller | | - +-----------------------------+---------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | **sriov** | - Worker | Identifies a node as supporting sr-iov. | - | | | | - | | - All-in-One Controller | | - +-----------------------------+---------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +.. include:: ../../_includes/common-openstack-labels.rest For more information, see |node-doc|: :ref:`Configure Node Labels from The CLI `. @@ -48,42 +28,4 @@ Nodes must be locked before labels can be assigned or removed. .. rubric:: |proc| -- To assign Kubernetes labels to identify compute-0 as a compute node with - AVS and SRIOV, use the following command: - - .. code-block:: none - - ~(keystone)admin)$ system host-label-assign compute-0 openstack-compute-node=enabled avs=enabled sriov=enabled - +-------------+--------------------------------------+ - | Property | Value | - +-------------+--------------------------------------+ - | uuid | 2909d775-cd6c-4bc1-8268-27499fe38d5e | - | host_uuid | 1f00d8a4-f520-41ee-b608-1b50054b1cd8 | - | label_key | openstack-compute-node | - | label_value | enabled | - +-------------+--------------------------------------+ - +-------------+--------------------------------------+ - | Property | Value | - +-------------+--------------------------------------+ - | uuid | 8dafcfcf-e417-4fd0-8829-8baadb3a3981 | - | host_uuid | 1f00d8a4-f520-41ee-b608-1b50054b1cd8 | - | label_key | avs | - | label_value | enabled | - +-------------+--------------------------------------+ - +-------------+--------------------------------------+ - | Property | Value | - +-------------+--------------------------------------+ - | uuid | d8e29e62-4173-4445-886c-9a95b0d6fee1 | - | host_uuid | 1f00d8a4-f520-41ee-b608-1b50054b1cd8 | - | label_key | SRIOV | - | label_value | enabled | - +-------------+--------------------------------------+ - -- To remove the labels from the host, do the following. - - .. code-block:: none - - ~(keystone)admin)$ system host-label-remove compute-0 openstack-compute-node avs sriov - Deleted host label openstack-compute-node for host compute-0 - Deleted host label avs for host compute-0 - Deleted host label SRIOV for host compute-0 +.. include:: ../../_includes/using-labels-to-identify-openstack-nodes.rest diff --git a/doc/source/shared/strings.txt b/doc/source/shared/strings.txt index 0159a156c..3460aada2 100644 --- a/doc/source/shared/strings.txt +++ b/doc/source/shared/strings.txt @@ -67,30 +67,43 @@ .. Please keep this list alphabetical. +.. |ACL| replace:: :abbr:`ACL (Access Control List)` .. |AE| replace:: :abbr:`AE (Aggregated Ethernet)` .. |AIO| replace:: :abbr:`AIO (All-In-One)` -.. |AVS| replace:: :abbr:`AVS (Application Virtual Switch)` +.. |AVP| replace:: :abbr:`AVP (Accelerated Virtual Port)` .. |BGP| replace:: :abbr:`BGP (Border Gateway Protocol)` .. |BMC| replace:: :abbr:`BMC (Board Management Controller)` .. |BMCs| replace:: :abbr:`BMCs (Board Management Controllers)` +.. |BOOTP| replace:: :abbr:`BOOTP (Boot Protocol)` +.. |BPDU| replace:: :abbr:`BPDU (Bridge Protocol Data Unit)` +.. |BPDUs| replace:: :abbr:`BPDUs (Bridge Protocol Data Units)` +.. |CA| replace:: :abbr:`CA (Certificate Authority)` .. |CNI| replace:: :abbr:`CNI (Container Networking Interface)` +.. |CoW| replace:: :abbr:`CoW (Copy on Write)` .. |CSK| replace:: :abbr:`CSK (Code Signing Key)` .. |CSKs| replace:: :abbr:`CSKs (Code Signing Keys)` +.. |DHCP| replace:: :abbr:`DHCP (Dynamic Host Configuration Protoco)` .. |DPDK| replace:: :abbr:`DPDK (Data Plane Development Kit)` +.. |DRBD| replace:: :abbr:`DRBD (Distributed Replicated Block Device)` +.. |DSCP| replace:: :abbr:`DSCP (Differentiated Services Code Point)` +.. |DVR| replace:: :abbr:`DVR (Distributed Virtual Router)` .. |FEC| replace:: :abbr:`FEC (Forward Error Correction)` .. |FPGA| replace:: :abbr:`FPGA (Field Programmable Gate Array)` +.. |FQDN| replace:: :abbr:`FQDN (Fully Qualified Domain Name)` .. |GNP| replace:: :abbr:`GNP (Global Network Policy)` +.. |IGMP| replace:: :abbr:`IGMP (Internet Group Management Protocol)` .. |IPMI| replace:: :abbr:`IPMI (Intelligent Platform Management Interface)` .. |LACP| replace:: :abbr:`LACP (Link Aggregation Control Protocol)` .. |LAG| replace:: :abbr:`LAG (Link Aggregation)` .. |LDAP| replace:: :abbr:`LDAP (Lightweight Directory Access Protocol)` .. |LDPC| replace:: :abbr:`LDPC (Low-Density Parity Check)` .. |LLDP| replace:: :abbr:`LLDP (Link Layer Discovery Protocol)` -.. |MTU| replace:: :abbr:`MTU (Maximum Transmission Unit)` .. |MAC| replace:: :abbr:`MAC (Media Access Control)` .. |MEC| replace:: :abbr:`MEC (Multi-access Edge Computing)` +.. |MLD| replace:: :abbr:`MLD (Multicast Listener Discovery)` .. |MNFA| replace:: :abbr:`MNFA (Multi-Node Failure Avoidance)` .. |MOTD| replace:: :abbr:`MOTD (Message of the Day)` +.. |MTU| replace:: :abbr:`MTU (Maximum Transmission Unit)` .. |NIC| replace:: :abbr:`NIC (Network Interface Card)` .. |NICs| replace:: :abbr:`NICs (Network Interface Cards)` .. |NTP| replace:: :abbr:`NTP (Network Time Protocol)` @@ -102,22 +115,35 @@ .. |PAC| replace:: :abbr:`PAC (Programmable Acceleration Card)` .. |PCI| replace:: :abbr:`PCI (Peripheral Component Interconnect)` .. |PDU| replace:: :abbr:`PDU (Packet Data Unit)` +.. |PHB| replace:: :abbr:`PHB (Per-Hop Behavior)` .. |PTP| replace:: :abbr:`PTP (Precision Time Protocol)` .. |PVC| replace:: :abbr:`PVC (Persistent Volume Claim)` .. |PVCs| replace:: :abbr:`PVCs (Persistent Volume Claims)` .. |PXE| replace:: :abbr:`PXE (Preboot Execution Environment)` .. |QoS| replace:: :abbr:`QoS (Quality of Service)` +.. |RAID| replace:: :abbr:`RAID (Redundant Array of Inexpensive Disks)` .. |RPC| replace:: :abbr:`RPC (Remote Procedure Call)` .. |SAS| replace:: :abbr:`SAS (Serial Attached SCSI)` .. |SATA| replace:: :abbr:`SATA (Serial AT Attachment)` +.. |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)` .. |SSD| replace:: :abbr:`SSD (Solid State Drive)` +.. |SSDs| replace:: :abbr:`SSDs (Solid State Drives)` .. |SSH| replace:: :abbr:`SSH (Secure Shell)` +.. |SSL| replace:: :abbr:`SSL (Secure Socket Layer)` +.. |STP| replace:: :abbr:`STP (Spanning Tree Protocol)` +.. |TPM| replace:: :abbr:`TPM (Trusted Platform Module)` .. |ToR| replace:: :abbr:`ToR (Top-of-Rack)` .. |UDP| replace:: :abbr:`UDP (User Datagram Protocol)` +.. |UEFI| replace:: :abbr:`UEFI (Unified Extensible Firmware Interface)` +.. |VF| replace:: :abbr:`VF (Virtual Function)` +.. |VFs| replace:: :abbr:`VFs (Virtual Functions)` .. |VLAN| replace:: :abbr:`VLAN (Virtual Local Area Network)` +.. |VLANs| replace:: :abbr:`VLANs (Virtual Local Area Networks)` .. |VM| replace:: :abbr:`VM (Virtual Machine)` .. |VMs| replace:: :abbr:`VMs (Virtual Machines)` .. |VNC| replace:: :abbr:`VNC (Virtual Network Computing)` +.. |VPC| replace:: :abbr:`VPC (Virtual Port Channel)` .. |VXLAN| replace:: :abbr:`VXLAN (Virtual eXtensible Local Area Network)` +.. |VXLANs| replace:: :abbr:`VXLANs (Virtual eXtensible Local Area Networks)`