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


-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp

Reply via email to