Uploaded image for project: 'Red Hat OpenStack Services on OpenShift'
  1. Red Hat OpenStack Services on OpenShift
  2. OSPRH-14454

[QoS] The QoS rule validator doesn't check the rule direction

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done-Errata
    • Icon: Normal Normal
    • rhos-18.0.7
    • rhos-18.0.z
    • openstack-neutron
    • None
    • Neutron Sprint 9, Neutron Sprint 10, Neutron Sprint 11
    • 3
    • Moderate

      In [1], the Neutron API checks the validity of the QoS rules before adding them to a policy:

      • If a new max-bw rule is lower (max-kbps) than a min-bw rule, the check will fail.
      • Same for a min-bw rule, if the min-kbps value is greater than the max-bw rule, the check will fail.

      The problem here is that this check doesn't match the rule direction. This can be tested using the following reproducer:
      $ openstack network qos policy create qos_test
      $ openstack network qos rule create --type bandwidth-limit --max-kbps 2000 --egress qos_test
      $ openstack network qos rule create --type minimum-bandwidth --min-kbps 1500 --egress qos_test
      $ openstack network qos rule create --type minimum-bandwidth --min-kbps 3000 --ingress qos_test

      The latest command will fail despite that the min-bw rule with value 3000 has "ingress" direction and the max-bw rule with value 2000 has "egress" direction.

      [1]https://github.com/openstack/neutron/blob/cd26f17e571fd0b62e36662f8494b9a5fd12ae32/neutron/objects/qos/qos_policy_validator.py#L21-L47

              rodolfo_alonso Rodolfo Alonso
              rodolfo_alonso Rodolfo Alonso
              Bharath M V Bharath M V
              rhos-dfg-networking-squad-neutron
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Created:
                Updated:
                Resolved: