I would like to start a discussion about scaling QoS rows in NorthBound DB.

In OpenStack we have two main use-cases:
* QoS on network - all ports in given Logical Switch have the same QoS
* QoS per port - we can define a QoS policy and attach it to a given port
(Logical Switch Port).

Here comes the question: What if an administrator would set *default* QoS
policy for all ports in the environment?

For now each QoS row reflects a QoS configured for each port:

_uuid               : 85f400e9-f82f-47f0-ac93-b151ed843734
action              : {}
bandwidth           : {burst=200, rate=200}
direction           : from-lport
external_ids        : {}
match               : "inport == \"96242e8f-602f-4077-984a-5659e84a8c4f\""

priority : 20002

And it scales linearly with number of ports. While updating a network QoS
policy in Neutron we are forced to loop over all ports defined in
Logical_Switch and update all of those rows.

Can we think about a better solution? Propositions:
* Create a match action that will match all ports?, like inport == '*' ?
* Create a QoS support for Port Groups? Like specify Port Group for inport
in match action or add relation between Port Group and QoS in NBDB like it
is with Logical Switch table now?


Best regards,
Maciej Józefczyk
discuss mailing list

Reply via email to