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

