Chapter 12. Configure Quality-of-Service (QoS)


Red Hat OpenStack Platform 8 introduces support for network quality-of-service (QoS) policies. These policies allow OpenStack administrators to offer varying service levels by applying rate limits to egress traffic for instances. As a result of implementing a QoS policy, any traffic that exceeds the specified rate is consequently dropped.

12.1. QoS Policy Scope

QoS policies are applied to individual ports, or to a particular tenant network, where ports with no specific policy attached will inherit the policy.

12.2. QoS Policy Management

QoS policies can be dynamically applied, modified, or removed. This example manually creates a bandwidth limiting rule and applies it to a port.

  1. Review the list of tenants and determine the id of where you need to create QoS policy:

    # keystone tenant-list
    +----------------------------------+--------------------+---------+
    |                id                |        name        | enabled |
    +----------------------------------+--------------------+---------+
    | 35c6f4eb8bc24455a1df527760c091f5 |       admin        |   True  |
    | d602b03dcc324dd483d37163388b2021 |        demo        |   True  |
    | 74b64ba4eb3e4f08a8819454b667d4f6 |      services      |   True  |
    +----------------------------------+--------------------+---------+
    Copy to Clipboard Toggle word wrap
  2. Create a QoS policy named bw-limiter in the admin tenant:

    # neutron qos-policy-create --tenant-id 35c6f4eb8bc24455a1df527760c091f5 'bw-limiter'
    Copy to Clipboard Toggle word wrap
  3. Configure the policing rules for the bw-limiter policy:

    # neutron qos-bandwidth-limit-rule-create bw-limiter --max_kbps 3000 --max_burst_kbps 3000
    Copy to Clipboard Toggle word wrap
  4. Configure a neutron port to apply the bw-limiter policy:

    # neutron port-update <port id> --qos-policy bw-limiter
    Copy to Clipboard Toggle word wrap
  5. Review the QoS rule. For example:

    # neutron qos-rule-show 9be535c3-daa2-4d7b-88ea-e8de16
    
    +-------------------+---------------------------------+
    | Field             | Value                           |
    +-------------------+---------------------------------+
    | id                | 9be535c3-daa2-4d7b-88ea-e8de16  |
    | rule_type         | bandwidth_limit                 |
    | description       |                                 |
    | max_kbps          | 3000                            |
    | max_burst_kbps    | 300                             |
    +-------------------+---------------------------------+
    Copy to Clipboard Toggle word wrap

These values allow you to configure the policing algorithm accordingly:

  • max_kbps - the maximum rate (in Kbps) that the instance is allowed to send.
  • max_burst_kbps - the maximum amount of data (in kbits) that the port could send in a instant if the token buffer was full. The token buffer is replenished at a "max_kbps" rate.
Back to top
Red Hat logoGithubredditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust. Explore our recent updates.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

Theme

© 2025 Red Hat