)]}'
{"api-ref/source/v2/parameters.yaml":[{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"fa60a8b736671ccc2293b1caa0ded49deed1580c","unresolved":true,"context_lines":[{"line_number":4151,"context_line":"  type: integer"},{"line_number":4152,"context_line":"min_kpps:"},{"line_number":4153,"context_line":"  description: |"},{"line_number":4154,"context_line":"    The min kpps (kilo packets per second) value."},{"line_number":4155,"context_line":"  in: body"},{"line_number":4156,"context_line":"  required: true"},{"line_number":4157,"context_line":"  type: integer"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"a9124298_66ff0a3d","line":4154,"range":{"start_line":4154,"start_character":18,"end_line":4154,"end_character":22},"updated":"2021-08-04 09:41:37.000000000","message":"Could you please add whether kilo means 1000 or 1024?","commit_id":"27e3bddd6c1853c312dc1e1ba9d034b1eabb4ae4"},{"author":{"_account_id":33652,"name":"Przemyslaw Szczerbik","email":"przemyslaw.szczerbik@gmail.com","username":"pszczerbik"},"change_message_id":"c86ca7f7102abcef2938ad2ef412628e5b6c154c","unresolved":false,"context_lines":[{"line_number":4151,"context_line":"  type: integer"},{"line_number":4152,"context_line":"min_kpps:"},{"line_number":4153,"context_line":"  description: |"},{"line_number":4154,"context_line":"    The min kpps (kilo packets per second) value."},{"line_number":4155,"context_line":"  in: body"},{"line_number":4156,"context_line":"  required: true"},{"line_number":4157,"context_line":"  type: integer"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"862e4a64_ac5eeddf","line":4154,"range":{"start_line":4154,"start_character":18,"end_line":4154,"end_character":22},"in_reply_to":"a9124298_66ff0a3d","updated":"2021-08-04 11:14:38.000000000","message":"Done","commit_id":"27e3bddd6c1853c312dc1e1ba9d034b1eabb4ae4"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"fa60a8b736671ccc2293b1caa0ded49deed1580c","unresolved":true,"context_lines":[{"line_number":4157,"context_line":"  type: integer"},{"line_number":4158,"context_line":"min_kpps-response:"},{"line_number":4159,"context_line":"  description: |"},{"line_number":4160,"context_line":"    The min kpps (kilo packets per second) value."},{"line_number":4161,"context_line":"  in: body"},{"line_number":4162,"context_line":"  required: true"},{"line_number":4163,"context_line":"  type: integer"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"31c1b94f_cb7e5a25","line":4160,"range":{"start_line":4160,"start_character":18,"end_line":4160,"end_character":22},"updated":"2021-08-04 09:41:37.000000000","message":"the same here","commit_id":"27e3bddd6c1853c312dc1e1ba9d034b1eabb4ae4"},{"author":{"_account_id":33652,"name":"Przemyslaw Szczerbik","email":"przemyslaw.szczerbik@gmail.com","username":"pszczerbik"},"change_message_id":"c86ca7f7102abcef2938ad2ef412628e5b6c154c","unresolved":false,"context_lines":[{"line_number":4157,"context_line":"  type: integer"},{"line_number":4158,"context_line":"min_kpps-response:"},{"line_number":4159,"context_line":"  description: |"},{"line_number":4160,"context_line":"    The min kpps (kilo packets per second) value."},{"line_number":4161,"context_line":"  in: body"},{"line_number":4162,"context_line":"  required: true"},{"line_number":4163,"context_line":"  type: integer"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"36e61579_80c57218","line":4160,"range":{"start_line":4160,"start_character":18,"end_line":4160,"end_character":22},"in_reply_to":"31c1b94f_cb7e5a25","updated":"2021-08-04 11:14:38.000000000","message":"Done","commit_id":"27e3bddd6c1853c312dc1e1ba9d034b1eabb4ae4"}],"api-ref/source/v2/qos.inc":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"c68d76943a85f30aa5188243c2bdd1d6962f2000","unresolved":true,"context_lines":[{"line_number":1142,"context_line":"   - rule_id: qos-rule_id"},{"line_number":1143,"context_line":"   - minimum_packet_rate_rule: minimum_packet_rate_rule"},{"line_number":1144,"context_line":"   - min_kpps: min_kpps"},{"line_number":1145,"context_line":""},{"line_number":1146,"context_line":"Request Example"},{"line_number":1147,"context_line":"---------------"},{"line_number":1148,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":1,"id":"89babfdf_5bccc4b1","line":1145,"updated":"2021-07-27 13:34:25.000000000","message":"direction is missing","commit_id":"3d3fc683caf503f701e70caf1c06182adc12e240"},{"author":{"_account_id":33652,"name":"Przemyslaw Szczerbik","email":"przemyslaw.szczerbik@gmail.com","username":"pszczerbik"},"change_message_id":"737ab500d9a44f77630c68ae545bc5246f326f97","unresolved":true,"context_lines":[{"line_number":1142,"context_line":"   - rule_id: qos-rule_id"},{"line_number":1143,"context_line":"   - minimum_packet_rate_rule: minimum_packet_rate_rule"},{"line_number":1144,"context_line":"   - min_kpps: min_kpps"},{"line_number":1145,"context_line":""},{"line_number":1146,"context_line":"Request Example"},{"line_number":1147,"context_line":"---------------"},{"line_number":1148,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":1,"id":"d8f01de5_cc53774d","line":1145,"in_reply_to":"89babfdf_5bccc4b1","updated":"2021-07-27 14:08:21.000000000","message":"Direction cannot be updated","commit_id":"3d3fc683caf503f701e70caf1c06182adc12e240"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"fa60a8b736671ccc2293b1caa0ded49deed1580c","unresolved":true,"context_lines":[{"line_number":982,"context_line":"There is no body content for the response of a successful DELETE request."},{"line_number":983,"context_line":""},{"line_number":984,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":985,"context_line":"QoS minimum packet rate rules"},{"line_number":986,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":987,"context_line":""},{"line_number":988,"context_line":"Lists, creates, deletes, shows information for, and updates QoS minimum packet"}],"source_content_type":"text/x-c++src","patch_set":3,"id":"c01341ae_769126cc","line":985,"updated":"2021-08-04 09:41:37.000000000","message":"A little reorganisation of the sections like below would probably make sense:\n\nQoS DSCP marking rules\nQoS bandwidth limit rules\nQoS packet rate limit rules\nQoS minimum bandwidth rules\nQoS minimum packet rate rules","commit_id":"27e3bddd6c1853c312dc1e1ba9d034b1eabb4ae4"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"56e52328e850fcca6439b8cf1e633795aa09a8e7","unresolved":false,"context_lines":[{"line_number":982,"context_line":"There is no body content for the response of a successful DELETE request."},{"line_number":983,"context_line":""},{"line_number":984,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":985,"context_line":"QoS minimum packet rate rules"},{"line_number":986,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":987,"context_line":""},{"line_number":988,"context_line":"Lists, creates, deletes, shows information for, and updates QoS minimum packet"}],"source_content_type":"text/x-c++src","patch_set":3,"id":"37f5b3e5_b9a44b02","line":985,"in_reply_to":"8ca58f1c_f8f77b65","updated":"2021-08-06 09:34:52.000000000","message":"Ack","commit_id":"27e3bddd6c1853c312dc1e1ba9d034b1eabb4ae4"},{"author":{"_account_id":33652,"name":"Przemyslaw Szczerbik","email":"przemyslaw.szczerbik@gmail.com","username":"pszczerbik"},"change_message_id":"c86ca7f7102abcef2938ad2ef412628e5b6c154c","unresolved":true,"context_lines":[{"line_number":982,"context_line":"There is no body content for the response of a successful DELETE request."},{"line_number":983,"context_line":""},{"line_number":984,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":985,"context_line":"QoS minimum packet rate rules"},{"line_number":986,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":987,"context_line":""},{"line_number":988,"context_line":"Lists, creates, deletes, shows information for, and updates QoS minimum packet"}],"source_content_type":"text/x-c++src","patch_set":3,"id":"8ca58f1c_f8f77b65","line":985,"in_reply_to":"c01341ae_769126cc","updated":"2021-08-04 11:14:38.000000000","message":"I\u0027d suggest doing that in a separate patch, after we merge this change.","commit_id":"27e3bddd6c1853c312dc1e1ba9d034b1eabb4ae4"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"fa60a8b736671ccc2293b1caa0ded49deed1580c","unresolved":true,"context_lines":[{"line_number":1171,"context_line":""},{"line_number":1172,"context_line":".. rest_method::  DELETE /v2.0/qos/policies/{policy_id}/minimum_packet_rate_rules/{rule_id}"},{"line_number":1173,"context_line":""},{"line_number":1174,"context_line":"Deletes a minimum packet rate rule for a QoS policy."},{"line_number":1175,"context_line":""},{"line_number":1176,"context_line":"Normal response codes: 204"},{"line_number":1177,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":3,"id":"4701047f_50f5d52f","line":1174,"updated":"2021-08-04 09:41:37.000000000","message":"And we cannot delete a rule until there are ports referring to it, right?","commit_id":"27e3bddd6c1853c312dc1e1ba9d034b1eabb4ae4"},{"author":{"_account_id":33652,"name":"Przemyslaw Szczerbik","email":"przemyslaw.szczerbik@gmail.com","username":"pszczerbik"},"change_message_id":"c86ca7f7102abcef2938ad2ef412628e5b6c154c","unresolved":true,"context_lines":[{"line_number":1171,"context_line":""},{"line_number":1172,"context_line":".. rest_method::  DELETE /v2.0/qos/policies/{policy_id}/minimum_packet_rate_rules/{rule_id}"},{"line_number":1173,"context_line":""},{"line_number":1174,"context_line":"Deletes a minimum packet rate rule for a QoS policy."},{"line_number":1175,"context_line":""},{"line_number":1176,"context_line":"Normal response codes: 204"},{"line_number":1177,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":3,"id":"8ff1ede2_6137c7d1","line":1174,"in_reply_to":"4701047f_50f5d52f","updated":"2021-08-04 11:14:38.000000000","message":"We cannot delete a policy if there\u0027s a port referring to it. However, we should be able to delete individual rules.","commit_id":"27e3bddd6c1853c312dc1e1ba9d034b1eabb4ae4"},{"author":{"_account_id":33652,"name":"Przemyslaw Szczerbik","email":"przemyslaw.szczerbik@gmail.com","username":"pszczerbik"},"change_message_id":"be80ddc1d2bfe6038e577ac0e8b2bb38f0cb316e","unresolved":true,"context_lines":[{"line_number":1171,"context_line":""},{"line_number":1172,"context_line":".. rest_method::  DELETE /v2.0/qos/policies/{policy_id}/minimum_packet_rate_rules/{rule_id}"},{"line_number":1173,"context_line":""},{"line_number":1174,"context_line":"Deletes a minimum packet rate rule for a QoS policy."},{"line_number":1175,"context_line":""},{"line_number":1176,"context_line":"Normal response codes: 204"},{"line_number":1177,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":3,"id":"0ff189ef_73c08f5b","line":1174,"in_reply_to":"63481543_5dc5f263","updated":"2021-08-06 10:59:50.000000000","message":"It applies to other rule types as well, so I think we can address this issue in the same patch that is going to reorganize structure of this file.","commit_id":"27e3bddd6c1853c312dc1e1ba9d034b1eabb4ae4"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"56e52328e850fcca6439b8cf1e633795aa09a8e7","unresolved":true,"context_lines":[{"line_number":1171,"context_line":""},{"line_number":1172,"context_line":".. rest_method::  DELETE /v2.0/qos/policies/{policy_id}/minimum_packet_rate_rules/{rule_id}"},{"line_number":1173,"context_line":""},{"line_number":1174,"context_line":"Deletes a minimum packet rate rule for a QoS policy."},{"line_number":1175,"context_line":""},{"line_number":1176,"context_line":"Normal response codes: 204"},{"line_number":1177,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":3,"id":"63481543_5dc5f263","line":1174,"in_reply_to":"8ff1ede2_6137c7d1","updated":"2021-08-06 09:34:52.000000000","message":"Thanks. I wanted to mean that this information could be useful here in the reference.","commit_id":"27e3bddd6c1853c312dc1e1ba9d034b1eabb4ae4"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"fa60a8b736671ccc2293b1caa0ded49deed1580c","unresolved":true,"context_lines":[{"line_number":1495,"context_line":"for more information on the request, response and return codes."},{"line_number":1496,"context_line":""},{"line_number":1497,"context_line":"Show minimum packet rate rule details alias"},{"line_number":1498,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":1499,"context_line":""},{"line_number":1500,"context_line":".. rest_method::  GET /v2.0/qos/minimum_packet_rate_rules/{rule_id}"},{"line_number":1501,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":3,"id":"15978c1d_220d3e69","line":1498,"updated":"2021-08-04 09:41:37.000000000","message":"The same reorganisation of sections as above would also help to find the rules.","commit_id":"27e3bddd6c1853c312dc1e1ba9d034b1eabb4ae4"},{"author":{"_account_id":33652,"name":"Przemyslaw Szczerbik","email":"przemyslaw.szczerbik@gmail.com","username":"pszczerbik"},"change_message_id":"c86ca7f7102abcef2938ad2ef412628e5b6c154c","unresolved":false,"context_lines":[{"line_number":1495,"context_line":"for more information on the request, response and return codes."},{"line_number":1496,"context_line":""},{"line_number":1497,"context_line":"Show minimum packet rate rule details alias"},{"line_number":1498,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":1499,"context_line":""},{"line_number":1500,"context_line":".. rest_method::  GET /v2.0/qos/minimum_packet_rate_rules/{rule_id}"},{"line_number":1501,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":3,"id":"d43f502d_e9c1df39","line":1498,"in_reply_to":"15978c1d_220d3e69","updated":"2021-08-04 11:14:38.000000000","message":"Based on review comments from https://review.opendev.org/c/openstack/neutron/+/803045, QoS rule alias is not going to be included in this extension. Thus, this section is going to be removed.","commit_id":"27e3bddd6c1853c312dc1e1ba9d034b1eabb4ae4"}],"api-ref/source/v2/samples/qos/minimum_packet_rate_rule-show-response.json":[{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"fa60a8b736671ccc2293b1caa0ded49deed1580c","unresolved":true,"context_lines":[{"line_number":1,"context_line":"{"},{"line_number":2,"context_line":"    \"minimum_packet_rate_limit_rule\": {"},{"line_number":3,"context_line":"        \"id\": \"5f126d84-551a-4dcf-bb01-0e9c0df0c793\","},{"line_number":4,"context_line":"        \"min_kpps\": 1000,"},{"line_number":5,"context_line":"        \"direction\": \"egress\""}],"source_content_type":"application/json","patch_set":3,"id":"f0cc0d66_ffdba46b","line":2,"range":{"start_line":2,"start_character":25,"end_line":2,"end_character":31},"updated":"2021-08-04 09:41:37.000000000","message":"copy-paste error?","commit_id":"27e3bddd6c1853c312dc1e1ba9d034b1eabb4ae4"},{"author":{"_account_id":33652,"name":"Przemyslaw Szczerbik","email":"przemyslaw.szczerbik@gmail.com","username":"pszczerbik"},"change_message_id":"c86ca7f7102abcef2938ad2ef412628e5b6c154c","unresolved":false,"context_lines":[{"line_number":1,"context_line":"{"},{"line_number":2,"context_line":"    \"minimum_packet_rate_limit_rule\": {"},{"line_number":3,"context_line":"        \"id\": \"5f126d84-551a-4dcf-bb01-0e9c0df0c793\","},{"line_number":4,"context_line":"        \"min_kpps\": 1000,"},{"line_number":5,"context_line":"        \"direction\": \"egress\""}],"source_content_type":"application/json","patch_set":3,"id":"ca56504e_48b5b2af","line":2,"range":{"start_line":2,"start_character":25,"end_line":2,"end_character":31},"in_reply_to":"f0cc0d66_ffdba46b","updated":"2021-08-04 11:14:38.000000000","message":"Nice catch, thanks!","commit_id":"27e3bddd6c1853c312dc1e1ba9d034b1eabb4ae4"}],"api-ref/source/v2/samples/qos/minimum_packet_rate_rule-update-request.json":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"c68d76943a85f30aa5188243c2bdd1d6962f2000","unresolved":true,"context_lines":[{"line_number":1,"context_line":"{"},{"line_number":2,"context_line":"    \"minimum_packet_rate_rule\": {"},{"line_number":3,"context_line":"        \"min_kpps\": 2000"},{"line_number":4,"context_line":"    }"},{"line_number":5,"context_line":"}"}],"source_content_type":"application/json","patch_set":1,"id":"d1bd803c_115f5369","line":3,"updated":"2021-07-27 13:34:25.000000000","message":"direction is missing","commit_id":"3d3fc683caf503f701e70caf1c06182adc12e240"},{"author":{"_account_id":33652,"name":"Przemyslaw Szczerbik","email":"przemyslaw.szczerbik@gmail.com","username":"pszczerbik"},"change_message_id":"737ab500d9a44f77630c68ae545bc5246f326f97","unresolved":true,"context_lines":[{"line_number":1,"context_line":"{"},{"line_number":2,"context_line":"    \"minimum_packet_rate_rule\": {"},{"line_number":3,"context_line":"        \"min_kpps\": 2000"},{"line_number":4,"context_line":"    }"},{"line_number":5,"context_line":"}"}],"source_content_type":"application/json","patch_set":1,"id":"dc0013e4_dd296aa8","line":3,"in_reply_to":"d1bd803c_115f5369","updated":"2021-07-27 14:08:21.000000000","message":"Direction cannot be updated","commit_id":"3d3fc683caf503f701e70caf1c06182adc12e240"}],"neutron_lib/api/definitions/qos_pps_minimum_rule.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"c68d76943a85f30aa5188243c2bdd1d6962f2000","unresolved":true,"context_lines":[{"line_number":46,"context_line":"            },"},{"line_number":47,"context_line":"            qos_constants.DIRECTION: {"},{"line_number":48,"context_line":"                \u0027allow_post\u0027: True,"},{"line_number":49,"context_line":"                \u0027allow_put\u0027: False,"},{"line_number":50,"context_line":"                \u0027is_visible\u0027: True,"},{"line_number":51,"context_line":"                \u0027default\u0027: None,"},{"line_number":52,"context_line":"                \u0027is_filter\u0027: True,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9b985807_65b22b34","line":49,"range":{"start_line":49,"start_character":29,"end_line":49,"end_character":34},"updated":"2021-07-27 13:34:25.000000000","message":"I think we should keep this as True to have a consistency across all qos rule types. If needed, we can block this update in the server.","commit_id":"3d3fc683caf503f701e70caf1c06182adc12e240"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"437d45890f22d86d9d3d6d521d9b843cc026495e","unresolved":true,"context_lines":[{"line_number":46,"context_line":"            },"},{"line_number":47,"context_line":"            qos_constants.DIRECTION: {"},{"line_number":48,"context_line":"                \u0027allow_post\u0027: True,"},{"line_number":49,"context_line":"                \u0027allow_put\u0027: False,"},{"line_number":50,"context_line":"                \u0027is_visible\u0027: True,"},{"line_number":51,"context_line":"                \u0027default\u0027: None,"},{"line_number":52,"context_line":"                \u0027is_filter\u0027: True,"}],"source_content_type":"text/x-python","patch_set":1,"id":"f55913be_56b60ea7","line":49,"range":{"start_line":49,"start_character":29,"end_line":49,"end_character":34},"in_reply_to":"5eef1bab_5e64def9","updated":"2021-08-09 07:59:04.000000000","message":"And this is something I don\u0027t support: all qos rules should have the same API. If the spec is saying this, I don\u0027t support the spec neither.\n\nThis is a mistake to support rules with different APIs. Direction should be included here and rejected, if needed, in the server.","commit_id":"3d3fc683caf503f701e70caf1c06182adc12e240"},{"author":{"_account_id":33652,"name":"Przemyslaw Szczerbik","email":"przemyslaw.szczerbik@gmail.com","username":"pszczerbik"},"change_message_id":"737ab500d9a44f77630c68ae545bc5246f326f97","unresolved":true,"context_lines":[{"line_number":46,"context_line":"            },"},{"line_number":47,"context_line":"            qos_constants.DIRECTION: {"},{"line_number":48,"context_line":"                \u0027allow_post\u0027: True,"},{"line_number":49,"context_line":"                \u0027allow_put\u0027: False,"},{"line_number":50,"context_line":"                \u0027is_visible\u0027: True,"},{"line_number":51,"context_line":"                \u0027default\u0027: None,"},{"line_number":52,"context_line":"                \u0027is_filter\u0027: True,"}],"source_content_type":"text/x-python","patch_set":1,"id":"e82dd535_2d113486","line":49,"range":{"start_line":49,"start_character":29,"end_line":49,"end_character":34},"in_reply_to":"9b985807_65b22b34","updated":"2021-07-27 14:08:21.000000000","message":"The spec allowed only min_kpps to be updated with PUT request. Of course, we can change that. Let\u0027s see what others have to say on this matter.","commit_id":"3d3fc683caf503f701e70caf1c06182adc12e240"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"6dae368010d60e50c2c871a9977b84855f90a901","unresolved":true,"context_lines":[{"line_number":46,"context_line":"            },"},{"line_number":47,"context_line":"            qos_constants.DIRECTION: {"},{"line_number":48,"context_line":"                \u0027allow_post\u0027: True,"},{"line_number":49,"context_line":"                \u0027allow_put\u0027: False,"},{"line_number":50,"context_line":"                \u0027is_visible\u0027: True,"},{"line_number":51,"context_line":"                \u0027default\u0027: None,"},{"line_number":52,"context_line":"                \u0027is_filter\u0027: True,"}],"source_content_type":"text/x-python","patch_set":1,"id":"5eef1bab_5e64def9","line":49,"range":{"start_line":49,"start_character":29,"end_line":49,"end_character":34},"in_reply_to":"ca1f070f_d1a3e771","updated":"2021-07-29 15:02:46.000000000","message":"I think I found the relevant discussion in the spec review:\nhttps://review.opendev.org/c/openstack/neutron-specs/+/785236/7/specs/xena/qos-minimum-guaranteed-packet-rate.rst#187\n\nSo not allowing PUT on direction is aligned with spec review, so I vote on this","commit_id":"3d3fc683caf503f701e70caf1c06182adc12e240"},{"author":{"_account_id":33652,"name":"Przemyslaw Szczerbik","email":"przemyslaw.szczerbik@gmail.com","username":"pszczerbik"},"change_message_id":"8519e8f118e4825f57bd2e19358a386703281419","unresolved":true,"context_lines":[{"line_number":46,"context_line":"            },"},{"line_number":47,"context_line":"            qos_constants.DIRECTION: {"},{"line_number":48,"context_line":"                \u0027allow_post\u0027: True,"},{"line_number":49,"context_line":"                \u0027allow_put\u0027: False,"},{"line_number":50,"context_line":"                \u0027is_visible\u0027: True,"},{"line_number":51,"context_line":"                \u0027default\u0027: None,"},{"line_number":52,"context_line":"                \u0027is_filter\u0027: True,"}],"source_content_type":"text/x-python","patch_set":1,"id":"ca1f070f_d1a3e771","line":49,"range":{"start_line":49,"start_character":29,"end_line":49,"end_character":34},"in_reply_to":"deb16125_e4917d4e","updated":"2021-07-28 08:11:00.000000000","message":"I haven\u0027t participated in the spec review, so I don\u0027t know for sure what was the reason behind it. Perhaps, it had something to do with the fact that we have to support \u0027any\u0027 direction for PPS? Direction-oriented and directionless QoS minimum PPS rules are mutually exclusive. Even if that was the reason, I suppose we can still allow PUT request. We just have to ensure that we won\u0027t end up mixing direction-oriented and directionless PPS rules.","commit_id":"3d3fc683caf503f701e70caf1c06182adc12e240"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"64fea9de2bb4fd86722268fc40bbb62338cdf522","unresolved":true,"context_lines":[{"line_number":46,"context_line":"            },"},{"line_number":47,"context_line":"            qos_constants.DIRECTION: {"},{"line_number":48,"context_line":"                \u0027allow_post\u0027: True,"},{"line_number":49,"context_line":"                \u0027allow_put\u0027: False,"},{"line_number":50,"context_line":"                \u0027is_visible\u0027: True,"},{"line_number":51,"context_line":"                \u0027default\u0027: None,"},{"line_number":52,"context_line":"                \u0027is_filter\u0027: True,"}],"source_content_type":"text/x-python","patch_set":1,"id":"deb16125_e4917d4e","line":49,"range":{"start_line":49,"start_character":29,"end_line":49,"end_character":34},"in_reply_to":"e82dd535_2d113486","updated":"2021-07-28 07:53:47.000000000","message":"Yeah, good question, we allow put now on direction for other rule types, not sure why in the spec it was voted to not allow put on it:\nhttps://opendev.org/openstack/neutron-lib/src/branch/master/neutron_lib/api/definitions/qos.py#L162\nhttps://opendev.org/openstack/neutron-lib/src/branch/master/neutron_lib/api/definitions/qos_pps_rule.py#L61","commit_id":"3d3fc683caf503f701e70caf1c06182adc12e240"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"63773984576b6cef0b6dbab87c969382e468c993","unresolved":true,"context_lines":[{"line_number":46,"context_line":"            },"},{"line_number":47,"context_line":"            qos_constants.DIRECTION: {"},{"line_number":48,"context_line":"                \u0027allow_post\u0027: True,"},{"line_number":49,"context_line":"                \u0027allow_put\u0027: False,"},{"line_number":50,"context_line":"                \u0027is_visible\u0027: True,"},{"line_number":51,"context_line":"                \u0027default\u0027: None,"},{"line_number":52,"context_line":"                \u0027is_filter\u0027: True,"}],"source_content_type":"text/x-python","patch_set":1,"id":"850cfe17_e4ff8176","line":49,"range":{"start_line":49,"start_character":29,"end_line":49,"end_character":34},"in_reply_to":"f55913be_56b60ea7","updated":"2021-08-09 09:20:51.000000000","message":"Hmm, good catch Rodolfo. Maybe we should fix it quickly now to allow it here and raise exception in the service plugin code if e.g. rule is already used by any port. Like Rodolfo proposed in https://review.opendev.org/c/openstack/neutron-specs/+/785236/7/specs/xena/qos-minimum-guaranteed-packet-rate.rst#187\nWe have this and next week to merge it and release new neutron-lib version before final release for Xena. So we should be able to do it.","commit_id":"3d3fc683caf503f701e70caf1c06182adc12e240"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"fa60a8b736671ccc2293b1caa0ded49deed1580c","unresolved":true,"context_lines":[{"line_number":48,"context_line":"                \u0027allow_post\u0027: True,"},{"line_number":49,"context_line":"                \u0027allow_put\u0027: False,"},{"line_number":50,"context_line":"                \u0027is_visible\u0027: True,"},{"line_number":51,"context_line":"                \u0027default\u0027: None,"},{"line_number":52,"context_line":"                \u0027is_filter\u0027: True,"},{"line_number":53,"context_line":"                \u0027is_sort_key\u0027: True,"},{"line_number":54,"context_line":"                \u0027validate\u0027: {"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a11b556_6ffd0d83","line":51,"range":{"start_line":51,"start_character":27,"end_line":51,"end_character":31},"updated":"2021-08-04 09:41:37.000000000","message":"Is this intentional or should it be \u0027any\u0027?","commit_id":"27e3bddd6c1853c312dc1e1ba9d034b1eabb4ae4"},{"author":{"_account_id":33652,"name":"Przemyslaw Szczerbik","email":"przemyslaw.szczerbik@gmail.com","username":"pszczerbik"},"change_message_id":"c86ca7f7102abcef2938ad2ef412628e5b6c154c","unresolved":true,"context_lines":[{"line_number":48,"context_line":"                \u0027allow_post\u0027: True,"},{"line_number":49,"context_line":"                \u0027allow_put\u0027: False,"},{"line_number":50,"context_line":"                \u0027is_visible\u0027: True,"},{"line_number":51,"context_line":"                \u0027default\u0027: None,"},{"line_number":52,"context_line":"                \u0027is_filter\u0027: True,"},{"line_number":53,"context_line":"                \u0027is_sort_key\u0027: True,"},{"line_number":54,"context_line":"                \u0027validate\u0027: {"}],"source_content_type":"text/x-python","patch_set":3,"id":"2e3fb7da_dbb19bae","line":51,"range":{"start_line":51,"start_character":27,"end_line":51,"end_character":31},"in_reply_to":"1a11b556_6ffd0d83","updated":"2021-08-04 11:14:38.000000000","message":"Intentional. In my opinion there\u0027s no good default value for this parameter. \u0027Any\u0027 direction doesn\u0027t make sense in case of hardware-offloaded OVS deployment.","commit_id":"27e3bddd6c1853c312dc1e1ba9d034b1eabb4ae4"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"56e52328e850fcca6439b8cf1e633795aa09a8e7","unresolved":false,"context_lines":[{"line_number":48,"context_line":"                \u0027allow_post\u0027: True,"},{"line_number":49,"context_line":"                \u0027allow_put\u0027: False,"},{"line_number":50,"context_line":"                \u0027is_visible\u0027: True,"},{"line_number":51,"context_line":"                \u0027default\u0027: None,"},{"line_number":52,"context_line":"                \u0027is_filter\u0027: True,"},{"line_number":53,"context_line":"                \u0027is_sort_key\u0027: True,"},{"line_number":54,"context_line":"                \u0027validate\u0027: {"}],"source_content_type":"text/x-python","patch_set":3,"id":"2a7d528a_81c1125d","line":51,"range":{"start_line":51,"start_character":27,"end_line":51,"end_character":31},"in_reply_to":"2e3fb7da_dbb19bae","updated":"2021-08-06 09:34:52.000000000","message":"Ack","commit_id":"27e3bddd6c1853c312dc1e1ba9d034b1eabb4ae4"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"fa60a8b736671ccc2293b1caa0ded49deed1580c","unresolved":true,"context_lines":[{"line_number":60,"context_line":"}"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"ACTION_MAP \u003d {}"},{"line_number":63,"context_line":"REQUIRED_EXTENSIONS \u003d [qos_apidef.ALIAS]"},{"line_number":64,"context_line":"OPTIONAL_EXTENSIONS \u003d []"},{"line_number":65,"context_line":"ACTION_STATUS \u003d {}"}],"source_content_type":"text/x-python","patch_set":3,"id":"ac7ccc92_8e01c41c","line":63,"updated":"2021-08-04 09:41:37.000000000","message":"Don\u0027t we also depend on \u0027qos-rules-alias\u0027?","commit_id":"27e3bddd6c1853c312dc1e1ba9d034b1eabb4ae4"},{"author":{"_account_id":33652,"name":"Przemyslaw Szczerbik","email":"przemyslaw.szczerbik@gmail.com","username":"pszczerbik"},"change_message_id":"c86ca7f7102abcef2938ad2ef412628e5b6c154c","unresolved":true,"context_lines":[{"line_number":60,"context_line":"}"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"ACTION_MAP \u003d {}"},{"line_number":63,"context_line":"REQUIRED_EXTENSIONS \u003d [qos_apidef.ALIAS]"},{"line_number":64,"context_line":"OPTIONAL_EXTENSIONS \u003d []"},{"line_number":65,"context_line":"ACTION_STATUS \u003d {}"}],"source_content_type":"text/x-python","patch_set":3,"id":"b098a49c_2029a5aa","line":63,"in_reply_to":"ac7ccc92_8e01c41c","updated":"2021-08-04 11:14:38.000000000","message":"No. This API extension is not going to introduce QoS rule alias. Please see https://review.opendev.org/c/openstack/neutron/+/803045/2/neutron/extensions/qos_pps_minimum_rule.py#57 for more details.","commit_id":"27e3bddd6c1853c312dc1e1ba9d034b1eabb4ae4"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"56e52328e850fcca6439b8cf1e633795aa09a8e7","unresolved":false,"context_lines":[{"line_number":60,"context_line":"}"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"ACTION_MAP \u003d {}"},{"line_number":63,"context_line":"REQUIRED_EXTENSIONS \u003d [qos_apidef.ALIAS]"},{"line_number":64,"context_line":"OPTIONAL_EXTENSIONS \u003d []"},{"line_number":65,"context_line":"ACTION_STATUS \u003d {}"}],"source_content_type":"text/x-python","patch_set":3,"id":"77520bfe_477e79f4","line":63,"in_reply_to":"b098a49c_2029a5aa","updated":"2021-08-06 09:34:52.000000000","message":"Ack","commit_id":"27e3bddd6c1853c312dc1e1ba9d034b1eabb4ae4"}],"neutron_lib/services/qos/constants.py":[{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"feba3c1b0703c10e992b835246b1cdf0d6b5e10c","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":2,"id":"59588408_3af6018c","updated":"2021-07-29 15:26:45.000000000","message":"please remove/undo the changes here, tempest is failing due to them, You can do it in Your neutron side change temporarily (with TODO) and when that is ready and merged we can do it in neutron-lib.","commit_id":"69384a13a0ed9a750fde2daf4dc61ae2497610c0"},{"author":{"_account_id":33652,"name":"Przemyslaw Szczerbik","email":"przemyslaw.szczerbik@gmail.com","username":"pszczerbik"},"change_message_id":"d12c859743cc5038c7eac4b58d20da2af9bd3365","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"91a096cc_0f18be4f","in_reply_to":"59588408_3af6018c","updated":"2021-07-30 11:58:34.000000000","message":"Done","commit_id":"69384a13a0ed9a750fde2daf4dc61ae2497610c0"}]}
