From 0ed479e5342869a72b710b701bc27184092c0b68 Mon Sep 17 00:00:00 2001 From: Emma Foley Date: Mon, 11 Jul 2016 17:18:52 +0100 Subject: [PATCH] Add entry for Quality of Service (QoS) - Add definition for QoS from the networking guide [1] - Add storage QoS information - Add reference to the glossary term where QoS is used in the docs [1] http://docs.openstack.org/mitaka/networking-guide/adv-config-qos.html Change-Id: Ie6849a34f60b5366545ef049d66bc336ebe82f5d Closes-Bug: #1600771 --- doc/admin-guide/source/compute-flavors.rst | 2 +- .../arch-examples-network.rst | 10 +++--- ...r-requirements-business-considerations.rst | 6 ++-- .../technical-requirements-network-design.rst | 33 ++++++++++--------- .../source/network-focus-architecture.rst | 2 +- ...twork-focus-operational-considerations.rst | 4 +-- .../network-focus-prescriptive-examples.rst | 4 +-- ...network-focus-technical-considerations.rst | 2 +- .../network-focus-user-requirements.rst | 4 +-- doc/arch-design/source/network-focus.rst | 12 +++---- doc/common/glossary.rst | 10 ++++++ .../drivers/blockbridge-eps-driver.rst | 16 ++++----- .../block-storage/drivers/hds-hnas-driver.rst | 4 +-- .../block-storage/drivers/hpe-3par-driver.rst | 2 +- .../drivers/xio-volume-driver.rst | 4 +-- 15 files changed, 63 insertions(+), 52 deletions(-) diff --git a/doc/admin-guide/source/compute-flavors.rst b/doc/admin-guide/source/compute-flavors.rst index 7b25140be1..02b12a51cd 100644 --- a/doc/admin-guide/source/compute-flavors.rst +++ b/doc/admin-guide/source/compute-flavors.rst @@ -247,7 +247,7 @@ Bandwidth I/O Incoming and outgoing traffic can be shaped independently. The bandwidth element can have at most, one inbound and at most, one outbound child element. If you leave any of these child elements - out, no quality of service (QoS) is applied on that traffic + out, no :term:`quality of service (QoS)` is applied on that traffic direction. So, if you want to shape only the network's incoming traffic, use inbound only (and vice versa). Each element has one mandatory attribute average, which specifies the average bit rate on diff --git a/doc/arch-design-draft/source/arch-guide-draft-mitaka/arch-examples-network.rst b/doc/arch-design-draft/source/arch-guide-draft-mitaka/arch-examples-network.rst index 0fb2d6913c..fff8dbdfe9 100644 --- a/doc/arch-design-draft/source/arch-guide-draft-mitaka/arch-examples-network.rst +++ b/doc/arch-design-draft/source/arch-guide-draft-mitaka/arch-examples-network.rst @@ -80,11 +80,11 @@ infrastructure. Performance tuning ~~~~~~~~~~~~~~~~~~ -Network level tuning for this workload is minimal. Quality-of-Service -(QoS) applies to these workloads for a middle ground Class Selector -depending on existing policies. It is higher than a best effort queue -but lower than an Expedited Forwarding or Assured Forwarding queue. -Since this type of application generates larger packets with +Network level tuning for this workload is minimal. :term:`Quality of +Service (QoS)` applies to these workloads for a middle ground Class +Selector depending on existing policies. It is higher than a best effort +queue but lower than an Expedited Forwarding or Assured Forwarding +queue. Since this type of application generates larger packets with longer-lived connections, you can optimize bandwidth utilization for long duration TCP. Normal bandwidth planning applies here with regards to benchmarking a session's usage multiplied by the expected number of diff --git a/doc/arch-design-draft/source/arch-guide-draft-mitaka/customer-requirements-business-considerations.rst b/doc/arch-design-draft/source/arch-guide-draft-mitaka/customer-requirements-business-considerations.rst index 4d09b11146..58216b68b7 100644 --- a/doc/arch-design-draft/source/arch-guide-draft-mitaka/customer-requirements-business-considerations.rst +++ b/doc/arch-design-draft/source/arch-guide-draft-mitaka/customer-requirements-business-considerations.rst @@ -138,9 +138,9 @@ their own. The exception to this expectation is the rare case of a massively scalable cloud infrastructure built for a private or government organization that has specific requirements. -High performance systems have SLA requirements for a minimum quality of service -with regard to guaranteed uptime, latency, and bandwidth. The level of the -SLA can have a significant impact on the network architecture and +High performance systems have SLA requirements for a minimum :term:`quality of +service (QoS)` with regard to guaranteed uptime, latency, and bandwidth. The +level of the SLA can have a significant impact on the network architecture and requirements for redundancy in the systems. Hybrid cloud designs must accommodate differences in SLAs between providers, diff --git a/doc/arch-design-draft/source/arch-guide-draft-mitaka/technical-requirements-network-design.rst b/doc/arch-design-draft/source/arch-guide-draft-mitaka/technical-requirements-network-design.rst index 57b88b36bb..2f9550cbf9 100644 --- a/doc/arch-design-draft/source/arch-guide-draft-mitaka/technical-requirements-network-design.rst +++ b/doc/arch-design-draft/source/arch-guide-draft-mitaka/technical-requirements-network-design.rst @@ -191,8 +191,8 @@ architecture include: * There are a variety of well tested tools, such as ICMP, to monitor and manage traffic. -* Layer-3 architectures enable the use of Quality of Service (QoS) to manage - network performance. +* Layer-3 architectures enable the use of :term:`quality of service (QoS)` to + manage network performance. Layer-3 architecture limitations ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -297,8 +297,8 @@ have differences in implementation. To segregate traffic, allow applications to create a private tenant network for database and storage network traffic. Use a public network for services that require direct client access from the Internet. Upon -segregating the traffic, consider quality of service (QoS) and security -to ensure each network has the required level of service. +segregating the traffic, consider :term:`quality of service (QoS)` and +security to ensure each network has the required level of service. Finally, consider the routing of network traffic. For some applications, develop a complex policy framework for routing. To create a routing @@ -430,15 +430,16 @@ allows for better use of available bandwidth. Configure jumbo frames across the complete path the packets traverse. If one network component is not capable of handling jumbo frames then the entire path reverts to the default MTU. -Quality of Service (QoS) also has a great impact on network intensive workloads -as it provides instant service to packets which have a higher priority due to -the impact of poor network performance. In applications such as Voice over IP -(VoIP), differentiated services code points are a near requirement for proper -operation. You can also use QoS in the opposite direction for mixed workloads -to prevent low priority but high bandwidth applications, for example backup -services, video conferencing, or file sharing, from blocking bandwidth that is -needed for the proper operation of other workloads. It is possible to tag file -storage traffic as a lower class, such as best effort or scavenger, to allow -the higher priority traffic through. In cases where regions within a cloud -might be geographically distributed it may also be necessary to plan -accordingly to implement WAN optimization to combat latency or packet loss. +:term:`Quality of Service (QoS)` also has a great impact on network intensive +workloads as it provides instant service to packets which have a higher +priority due to the impact of poor network performance. In applications such as +Voice over IP (VoIP), differentiated services code points are a near +requirement for proper operation. You can also use QoS in the opposite +direction for mixed workloads to prevent low priority but high bandwidth +applications, for example backup services, video conferencing, or file sharing, +from blocking bandwidth that is needed for the proper operation of other +workloads. It is possible to tag file storage traffic as a lower class, such as +best effort or scavenger, to allow the higher priority traffic through. In +cases where regions within a cloud might be geographically distributed it may +also be necessary to plan accordingly to implement WAN optimization to combat +latency or packet loss. diff --git a/doc/arch-design/source/network-focus-architecture.rst b/doc/arch-design/source/network-focus-architecture.rst index f4a8aeb3b5..dd40e07ca6 100644 --- a/doc/arch-design/source/network-focus-architecture.rst +++ b/doc/arch-design/source/network-focus-architecture.rst @@ -169,7 +169,7 @@ across the complete path the packets traverse. If one network component is not capable of handling jumbo frames then the entire path reverts to the default MTU. -Quality of Service (QoS) also has a great impact on network intensive +:term:`Quality of Service (QoS)` also has a great impact on network intensive workloads as it provides instant service to packets which have a higher priority due to the impact of poor network performance. In applications such as Voice over IP (VoIP), differentiated services code points are a diff --git a/doc/arch-design/source/network-focus-operational-considerations.rst b/doc/arch-design/source/network-focus-operational-considerations.rst index 57c0b1c062..c0a4179557 100644 --- a/doc/arch-design/source/network-focus-operational-considerations.rst +++ b/doc/arch-design/source/network-focus-operational-considerations.rst @@ -46,8 +46,8 @@ have differences in implementation. To segregate traffic, allow applications to create a private tenant network for database and storage network traffic. Use a public network for services that require direct client access from the internet. Upon -segregating the traffic, consider quality of service (QoS) and security -to ensure each network has the required level of service. +segregating the traffic, consider :term:`quality of service (QoS)` and +security to ensure each network has the required level of service. Finally, consider the routing of network traffic. For some applications, develop a complex policy framework for routing. To create a routing diff --git a/doc/arch-design/source/network-focus-prescriptive-examples.rst b/doc/arch-design/source/network-focus-prescriptive-examples.rst index 67ac9cd31c..dfdafb421b 100644 --- a/doc/arch-design/source/network-focus-prescriptive-examples.rst +++ b/doc/arch-design/source/network-focus-prescriptive-examples.rst @@ -79,8 +79,8 @@ infrastructure. Performance tuning ------------------ -Network level tuning for this workload is minimal. Quality-of-Service -(QoS) applies to these workloads for a middle ground Class Selector +Network level tuning for this workload is minimal. :term:`Quality of Service +(QoS)` applies to these workloads for a middle ground Class Selector depending on existing policies. It is higher than a best effort queue but lower than an Expedited Forwarding or Assured Forwarding queue. Since this type of application generates larger packets with diff --git a/doc/arch-design/source/network-focus-technical-considerations.rst b/doc/arch-design/source/network-focus-technical-considerations.rst index fe28c54e08..503d8c5c4d 100644 --- a/doc/arch-design/source/network-focus-technical-considerations.rst +++ b/doc/arch-design/source/network-focus-technical-considerations.rst @@ -150,7 +150,7 @@ architecture include: * There are a variety of well tested tools, for example ICMP, to monitor and manage traffic. -* Layer-3 architectures enable the use of Quality of Service (QoS) to +* Layer-3 architectures enable the use of :term:`quality of service (QoS)` to manage network performance. Layer-3 architecture limitations diff --git a/doc/arch-design/source/network-focus-user-requirements.rst b/doc/arch-design/source/network-focus-user-requirements.rst index 3b4e69346c..2865742d52 100644 --- a/doc/arch-design/source/network-focus-user-requirements.rst +++ b/doc/arch-design/source/network-focus-user-requirements.rst @@ -20,8 +20,8 @@ Depending on the application and use case, network-intensive OpenStack installations can have high availability requirements. Financial transaction systems have a much higher requirement for high availability than a development application. Use network availability technologies, -for example quality of service (QoS), to improve the network performance -of sensitive applications such as VoIP and video streaming. +for example :term:`quality of service (QoS)`, to improve the network +performance of sensitive applications such as VoIP and video streaming. High performance systems have SLA requirements for a minimum QoS with regard to guaranteed uptime, latency, and bandwidth. The level of the diff --git a/doc/arch-design/source/network-focus.rst b/doc/arch-design/source/network-focus.rst index 78b1c6f2c3..3b5b021dd4 100644 --- a/doc/arch-design/source/network-focus.rst +++ b/doc/arch-design/source/network-focus.rst @@ -81,17 +81,17 @@ Virtual desktop infrastructure (VDI) Voice over IP (VoIP) This is sensitive to network congestion, latency, jitter, and other network characteristics. VoIP has a symmetrical traffic pattern and it requires - network quality of service (QoS) for best performance. In addition, you can - implement active queue management to deliver voice and multimedia content. - Users are sensitive to latency and jitter fluctuations and can detect them - at very low levels. + network :term:`quality of service (QoS)` for best performance. In addition, + you can implement active queue management to deliver voice and multimedia + content. Users are sensitive to latency and jitter fluctuations and can detect + them at very low levels. Video Conference or web conference This is sensitive to network congestion, latency, jitter, and other network characteristics. Video Conferencing has a symmetrical traffic pattern, but unless the network is on an MPLS private network, it cannot use network - quality of service (QoS) to improve performance. Similar to VoIP, users are - sensitive to network performance issues even at low levels. + :term:`quality of service (QoS)` to improve performance. Similar to VoIP, + users are sensitive to network performance issues even at low levels. High performance computing (HPC) This is a complex use case that requires careful consideration of the traffic diff --git a/doc/common/glossary.rst b/doc/common/glossary.rst index 4c0e3e9072..cafc777847 100644 --- a/doc/common/glossary.rst +++ b/doc/common/glossary.rst @@ -3009,6 +3009,16 @@ Q Message queue software supported by OpenStack; an alternative to RabbitMQ. + Quality of Service (QoS) + + The ability to guarantee certain network or storage requirements to + satisfy a Service Level Agreement (SLA) between an application provider + and end users. + Typically includes performance requirements like networking bandwidth, + latency, jitter correction, and reliability as well as storage + performance in Input/Output Operations Per Second (IOPS), throttling + agreements, and performance expectations at peak load. + quarantine If Object Storage finds objects, containers, or accounts that diff --git a/doc/config-reference/source/block-storage/drivers/blockbridge-eps-driver.rst b/doc/config-reference/source/block-storage/drivers/blockbridge-eps-driver.rst index a4113aa596..fc53e13218 100644 --- a/doc/config-reference/source/block-storage/drivers/blockbridge-eps-driver.rst +++ b/doc/config-reference/source/block-storage/drivers/blockbridge-eps-driver.rst @@ -7,14 +7,14 @@ Introduction Blockbridge is software that transforms commodity infrastructure into secure multi-tenant storage that operates as a programmable service. It -provides automatic encryption, secure deletion, quality of service, -replication, and programmable security capabilities on your choice of -hardware. Blockbridge uses micro-segmentation to provide isolation that -allows you to concurrently operate OpenStack, Docker, and bare-metal -workflows on shared resources. When used with OpenStack, isolated -management domains are dynamically created on a per-project basis. All -volumes and clones, within and between projects, are automatically -cryptographically isolated and implement secure deletion. +provides automatic encryption, secure deletion, :term:`quality of service +(QoS)`, replication, and programmable security capabilities on your choice of +hardware. Blockbridge uses micro-segmentation to provide isolation that allows +you to concurrently operate OpenStack, Docker, and bare-metal workflows on +shared resources. When used with OpenStack, isolated management domains are +dynamically created on a per-project basis. All volumes and clones, within and +between projects, are automatically cryptographically isolated and implement +secure deletion. Architecture reference ~~~~~~~~~~~~~~~~~~~~~~ diff --git a/doc/config-reference/source/block-storage/drivers/hds-hnas-driver.rst b/doc/config-reference/source/block-storage/drivers/hds-hnas-driver.rst index 47f04eb2ba..c33fcb4bec 100644 --- a/doc/config-reference/source/block-storage/drivers/hds-hnas-driver.rst +++ b/doc/config-reference/source/block-storage/drivers/hds-hnas-driver.rst @@ -104,8 +104,8 @@ Driver configuration ~~~~~~~~~~~~~~~~~~~~ The HDS driver supports the concept of differentiated services (also -referred as quality of service) by mapping volume types to services -provided through HNAS. +referred as :term:`quality of service (QoS)`) by mapping volume types to +services provided through HNAS. HNAS supports a variety of storage options and file system capabilities, which are selected through the definition of volume types and the use of diff --git a/doc/config-reference/source/block-storage/drivers/hpe-3par-driver.rst b/doc/config-reference/source/block-storage/drivers/hpe-3par-driver.rst index d1ad2cc138..fc6101c09b 100644 --- a/doc/config-reference/source/block-storage/drivers/hpe-3par-driver.rst +++ b/doc/config-reference/source/block-storage/drivers/hpe-3par-driver.rst @@ -191,7 +191,7 @@ Priority Optimization license installed. ``hpe3par:vvs`` The virtual volume set name that has been predefined by the Administrator - with Quality of Service (QoS) rules associated to it. If you specify + with :term:`quality of service (QoS)` rules associated to it. If you specify extra_specs ``hpe3par:vvs``, the qos_specs ``minIOPS``, ``maxIOPS``, ``minBWS``, and ``maxBWS`` settings are ignored. diff --git a/doc/config-reference/source/block-storage/drivers/xio-volume-driver.rst b/doc/config-reference/source/block-storage/drivers/xio-volume-driver.rst index fe887b9b41..5b4e527193 100644 --- a/doc/config-reference/source/block-storage/drivers/xio-volume-driver.rst +++ b/doc/config-reference/source/block-storage/drivers/xio-volume-driver.rst @@ -5,8 +5,8 @@ X-IO volume driver The X-IO volume driver for OpenStack Block Storage enables ISE products to be managed by OpenStack Block Storage nodes. This driver can be configured to work with iSCSI and Fibre Channel storage protocols. The X-IO volume driver allows -the cloud operator to take advantage of ISE features like Quality of Service -(QOS) and Continuous Adaptive Data Placement (CADP). It also supports +the cloud operator to take advantage of ISE features like :term:`Quality of +Service (QOS)` and Continuous Adaptive Data Placement (CADP). It also supports creating thin volumes and specifying volume media affinity. Requirements