← Back to team overview

yahoo-eng-team team mailing list archive

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

 

Public bug reported:

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

Related Jira: https://issues.redhat.com/browse/OSPRH-14454

** Affects: neutron
     Importance: Undecided
         Status: New

** Description changed:

  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
+ 
+ Related Jira: https://issues.redhat.com/browse/OSPRH-14454

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/2100853

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

Status in neutron:
  New

Bug description:
  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

  Related Jira: https://issues.redhat.com/browse/OSPRH-14454

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/2100853/+subscriptions



Follow ups