Add more detailed info about supported QoS rule types
This spec propose new API call to discover details about supported QoS rule type: which backend driver supports it and what parameters are supported by such driver. Change-Id: Id926170842ae4443749e5c188eec190b3045ff26 Related-Bug: 1686035
This commit is contained in:
parent
b527e77db0
commit
a5db1db2bb
95
specs/pike/qos-detailed-reporting-of-available-rules.rst
Normal file
95
specs/pike/qos-detailed-reporting-of-available-rules.rst
Normal file
@ -0,0 +1,95 @@
|
||||
..
|
||||
This work is licensed under a Creative Commons Attribution 3.0 Unported
|
||||
License.
|
||||
|
||||
http://creativecommons.org/licenses/by/3.0/legalcode
|
||||
|
||||
=============================================
|
||||
QoS detailed reporting of available QoS rules
|
||||
=============================================
|
||||
|
||||
https://bugs.launchpad.net/neutron/+bug/1686035
|
||||
|
||||
Problem Description
|
||||
===================
|
||||
|
||||
With [1] different QoS rules can be supported by different backend drivers.
|
||||
Whether the driver can handle the given rule type, and the parameters passed
|
||||
with the rule, are validated only when the user wants to apply the rule to a
|
||||
port/network.
|
||||
With [2] merged, Neutron returns a list of all rule types supported by
|
||||
at least one of the enabled backends.
|
||||
This is not enough as users are unable to discover what values are supported by
|
||||
the back ends for each rule type
|
||||
|
||||
|
||||
Proposed Change
|
||||
===============
|
||||
|
||||
We propose to add new API. This call would be used to get details of every
|
||||
available rule type.
|
||||
|
||||
REST API
|
||||
--------
|
||||
New REST API call is::
|
||||
|
||||
GET /v2.0/qos/rule-types/{rule_type}
|
||||
|
||||
Request example::
|
||||
|
||||
GET /v2.0/qos/rule-types/bandwidth_limit
|
||||
|
||||
The response is a dict with details for the supported rule type for each of the
|
||||
enabled backends.
|
||||
This call should be available only for users with admin rights to not expose
|
||||
details about cloud infra to regular users.
|
||||
|
||||
Response example::
|
||||
|
||||
{
|
||||
"rule_type": {
|
||||
"type": "bandwidth_limit",
|
||||
"drivers": [
|
||||
{
|
||||
"name": "ovs",
|
||||
"supported_parameters": [
|
||||
{
|
||||
"parameter_name": "max_kbps",
|
||||
"parameter_values": "*"
|
||||
},
|
||||
{
|
||||
"parameter_name": "max_burst_kbps",
|
||||
"parameter_values": "*"
|
||||
},
|
||||
{
|
||||
"parameter_name": "direction",
|
||||
"parameter_values": ["ingress", "egress"]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "linuxbridge",
|
||||
"supported_parameters": [
|
||||
{
|
||||
"parameter_name": "max_kbps",
|
||||
"parameter_values": "*"
|
||||
},
|
||||
{
|
||||
"parameter_name": "max_burst_kbps",
|
||||
"parameter_values": "*"
|
||||
},
|
||||
{
|
||||
"parameter_name": "direction",
|
||||
"parameter_values": ["egress"]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
References
|
||||
==========
|
||||
[1] http://specs.openstack.org/openstack/neutron-specs/pike/qos-improved-validation-mechanism-rules.html
|
||||
[2] https://review.openstack.org/#/c/461257
|
Loading…
x
Reference in New Issue
Block a user