)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":18051,"name":"David Shaughnessy","email":"david.shaughnessy@intel.com","username":"davidsha"},"change_message_id":"d7061b0de198661b026d0803d6c44b0e394c6c2e","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Change name of QoS bandwidth limit burst parameter to kilobits"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"QoS parameter used for bandwidt limit was before this patch max_burst_kbps but"},{"line_number":10,"context_line":"in fact this parameter should be amount of data instead of speed. This patch"},{"line_number":11,"context_line":"change name of this parameter in QoS API and name of variables used in neutron."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"DocImpact: Add info that max_burst_kbps API option is deprecated and"},{"line_number":14,"context_line":"           max_burst_kbit should be used"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"3afc51ec_859fc85e","line":11,"range":{"start_line":9,"start_character":0,"end_line":11,"end_character":79},"updated":"2016-03-11 11:51:20.000000000","message":"The parameter for the bandwidth burst variable prior to this patch is max-burst-kbps. This name is misleading as the value is used to create a buffer rather than guarantee a bandwidth. This patch corrects this inaccuracy by renaming the variable to properly reflect it\u0027s usage.","commit_id":"f3ebf3499ce1f8d70e2118df5f846e8ba7895812"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"26d06657e8872938164631bf9bf46710eede2908","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Change name of QoS bandwidth limit burst parameter to kilobits"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"QoS parameter used for bandwidt limit was before this patch max_burst_kbps but"},{"line_number":10,"context_line":"in fact this parameter should be amount of data instead of speed. This patch"},{"line_number":11,"context_line":"change name of this parameter in QoS API and name of variables used in neutron."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"DocImpact: Add info that max_burst_kbps API option is deprecated and"},{"line_number":14,"context_line":"           max_burst_kbit should be used"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"3afc51ec_0bb6298a","line":11,"range":{"start_line":9,"start_character":0,"end_line":11,"end_character":79},"in_reply_to":"3afc51ec_859fc85e","updated":"2016-03-15 11:31:05.000000000","message":"Thx. Your commit message proposition is much better :). I changed it like You said.","commit_id":"f3ebf3499ce1f8d70e2118df5f846e8ba7895812"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"120728e6012aaee46cdd6aa457ceaaac77874ded","unresolved":false,"context_lines":[{"line_number":13,"context_line":""},{"line_number":14,"context_line":"DocImpact: Add info that max_burst_kbps API option is deprecated and"},{"line_number":15,"context_line":"           max_burst_kbit should be used"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change-Id: I4f47228c27a4ccd60c98486c9304034a1343c094"},{"line_number":18,"context_line":"Closes-bug: #1507761"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"1af94dfe_1a414c0c","line":16,"updated":"2016-03-15 14:09:31.000000000","message":"This requires  a release note and APIImpact","commit_id":"ab46782b2a36eee722ec965fd72e08c092df9a56"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"0fb529363c7094f90bd607af4ea334ac8c5c0bf9","unresolved":false,"context_lines":[{"line_number":13,"context_line":""},{"line_number":14,"context_line":"DocImpact: Add info that max_burst_kbps API option is deprecated and"},{"line_number":15,"context_line":"           max_burst_kbit should be used"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change-Id: I4f47228c27a4ccd60c98486c9304034a1343c094"},{"line_number":18,"context_line":"Closes-bug: #1507761"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"1af94dfe_947eace2","line":16,"in_reply_to":"1af94dfe_1a414c0c","updated":"2016-03-16 05:30:31.000000000","message":"+1","commit_id":"ab46782b2a36eee722ec965fd72e08c092df9a56"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"cee53ad0697a2df41b0eea6aee10cde4c10b13f6","unresolved":false,"context_lines":[{"line_number":13,"context_line":""},{"line_number":14,"context_line":"DocImpact: Add info that max_burst_kbps API option is deprecated and"},{"line_number":15,"context_line":"           max_burst_kbit should be used"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change-Id: I4f47228c27a4ccd60c98486c9304034a1343c094"},{"line_number":18,"context_line":"Closes-bug: #1507761"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"fa0719c6_009058eb","line":16,"in_reply_to":"1af94dfe_947eace2","updated":"2016-04-07 20:10:02.000000000","message":"Done","commit_id":"ab46782b2a36eee722ec965fd72e08c092df9a56"}],"neutron/db/qos/models.py":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"66b5c15b54b7607e0150575c17a3879547f8744a","unresolved":false,"context_lines":[{"line_number":77,"context_line":"                              nullable\u003dFalse,"},{"line_number":78,"context_line":"                              unique\u003dTrue)"},{"line_number":79,"context_line":"    max_kbps \u003d sa.Column(sa.Integer)"},{"line_number":80,"context_line":"    max_burst_kbit \u003d sa.Column(\"max_burst_kbps\", sa.Integer)"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"    @hybrid_property"},{"line_number":83,"context_line":"    def max_burst_kbps(self):"}],"source_content_type":"text/x-python","patch_set":5,"id":"1af94dfe_faa900e1","line":80,"updated":"2016-03-15 14:08:42.000000000","message":"does this not require a migration?","commit_id":"ab46782b2a36eee722ec965fd72e08c092df9a56"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"aac31f0057f4eac9af700141b031b1f302c0edf9","unresolved":false,"context_lines":[{"line_number":77,"context_line":"                              nullable\u003dFalse,"},{"line_number":78,"context_line":"                              unique\u003dTrue)"},{"line_number":79,"context_line":"    max_kbps \u003d sa.Column(sa.Integer)"},{"line_number":80,"context_line":"    max_burst_kbit \u003d sa.Column(\"max_burst_kbps\", sa.Integer)"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"    @hybrid_property"},{"line_number":83,"context_line":"    def max_burst_kbps(self):"}],"source_content_type":"text/x-python","patch_set":5,"id":"1af94dfe_7aa662c2","line":80,"in_reply_to":"1af94dfe_faa900e1","updated":"2016-03-16 08:55:40.000000000","message":"No, I talked with Ihar and Ajo on irc about that. We decided to not change column name in database so in db it is still max_burst_kbps but in code it can be used as max_burst_kbit everywhere","commit_id":"ab46782b2a36eee722ec965fd72e08c092df9a56"}],"neutron/extensions/qos.py":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"66b5c15b54b7607e0150575c17a3879547f8744a","unresolved":false,"context_lines":[{"line_number":74,"context_line":"                                  \u0027allow_post\u0027: True, \u0027allow_put\u0027: True,"},{"line_number":75,"context_line":"                                  \u0027is_visible\u0027: True, \u0027default\u0027: None,"},{"line_number":76,"context_line":"                                  \u0027validate\u0027: {\u0027type:non_negative\u0027: None}},"},{"line_number":77,"context_line":"                              \u0027max_burst_kbit\u0027: {"},{"line_number":78,"context_line":"                                  \u0027allow_post\u0027: True, \u0027allow_put\u0027: True,"},{"line_number":79,"context_line":"                                  \u0027is_visible\u0027: True, \u0027default\u0027: 0,"},{"line_number":80,"context_line":"                                  \u0027validate\u0027: {\u0027type:non_negative\u0027: None}},"}],"source_content_type":"text/x-python","patch_set":5,"id":"1af94dfe_5a68f4ba","line":77,"updated":"2016-03-15 14:08:42.000000000","message":"this is a change int he API. It is really odd that everything is in kbps and this is kbit.\nThat is really inconsistent.","commit_id":"ab46782b2a36eee722ec965fd72e08c092df9a56"},{"author":{"_account_id":18051,"name":"David Shaughnessy","email":"david.shaughnessy@intel.com","username":"davidsha"},"change_message_id":"f9ffe1d3ae3a4bee96ecf39057c7bb30e37560e7","unresolved":false,"context_lines":[{"line_number":74,"context_line":"                                  \u0027allow_post\u0027: True, \u0027allow_put\u0027: True,"},{"line_number":75,"context_line":"                                  \u0027is_visible\u0027: True, \u0027default\u0027: None,"},{"line_number":76,"context_line":"                                  \u0027validate\u0027: {\u0027type:non_negative\u0027: None}},"},{"line_number":77,"context_line":"                              \u0027max_burst_kbit\u0027: {"},{"line_number":78,"context_line":"                                  \u0027allow_post\u0027: True, \u0027allow_put\u0027: True,"},{"line_number":79,"context_line":"                                  \u0027is_visible\u0027: True, \u0027default\u0027: 0,"},{"line_number":80,"context_line":"                                  \u0027validate\u0027: {\u0027type:non_negative\u0027: None}},"}],"source_content_type":"text/x-python","patch_set":5,"id":"1af94dfe_5a6d9431","line":77,"in_reply_to":"1af94dfe_5a68f4ba","updated":"2016-03-15 14:50:32.000000000","message":"The burst value isn\u0027t measured by bandwidth, it\u0027s just a buffer. This patch is to correct the misleading variable name.","commit_id":"ab46782b2a36eee722ec965fd72e08c092df9a56"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"7227db80f2835eec60efc920332894850af4f00a","unresolved":false,"context_lines":[{"line_number":74,"context_line":"                                  \u0027allow_post\u0027: True, \u0027allow_put\u0027: True,"},{"line_number":75,"context_line":"                                  \u0027is_visible\u0027: True, \u0027default\u0027: None,"},{"line_number":76,"context_line":"                                  \u0027validate\u0027: {\u0027type:non_negative\u0027: None}},"},{"line_number":77,"context_line":"                              \u0027max_burst_kbit\u0027: {"},{"line_number":78,"context_line":"                                  \u0027allow_post\u0027: True, \u0027allow_put\u0027: True,"},{"line_number":79,"context_line":"                                  \u0027is_visible\u0027: True, \u0027default\u0027: 0,"},{"line_number":80,"context_line":"                                  \u0027validate\u0027: {\u0027type:non_negative\u0027: None}},"}],"source_content_type":"text/x-python","patch_set":5,"id":"1af94dfe_908fcf22","line":77,"in_reply_to":"1af94dfe_5a6d9431","updated":"2016-03-16 09:33:08.000000000","message":"I understand that the patch is the correct thing to do regarding the name. The problem that this is a API that people may be using.\nWe cannot break API\u0027s.","commit_id":"ab46782b2a36eee722ec965fd72e08c092df9a56"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"aac31f0057f4eac9af700141b031b1f302c0edf9","unresolved":false,"context_lines":[{"line_number":74,"context_line":"                                  \u0027allow_post\u0027: True, \u0027allow_put\u0027: True,"},{"line_number":75,"context_line":"                                  \u0027is_visible\u0027: True, \u0027default\u0027: None,"},{"line_number":76,"context_line":"                                  \u0027validate\u0027: {\u0027type:non_negative\u0027: None}},"},{"line_number":77,"context_line":"                              \u0027max_burst_kbit\u0027: {"},{"line_number":78,"context_line":"                                  \u0027allow_post\u0027: True, \u0027allow_put\u0027: True,"},{"line_number":79,"context_line":"                                  \u0027is_visible\u0027: True, \u0027default\u0027: 0,"},{"line_number":80,"context_line":"                                  \u0027validate\u0027: {\u0027type:non_negative\u0027: None}},"}],"source_content_type":"text/x-python","patch_set":5,"id":"1af94dfe_7a94a236","line":77,"in_reply_to":"1af94dfe_5a6d9431","updated":"2016-03-16 08:55:40.000000000","message":"It is exactly as David said. Max burst shouldn\u0027t be in \"speed\" units but in amount of data units. I spoke about new name for that on IRC and we decided to use \"kbit\" instead of \"kb\" which could be also confusing (bits or bytes).","commit_id":"ab46782b2a36eee722ec965fd72e08c092df9a56"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"b00dc3bd98a08bf8b5e784e432e5c0be726425e6","unresolved":false,"context_lines":[{"line_number":74,"context_line":"                                  \u0027allow_post\u0027: True, \u0027allow_put\u0027: True,"},{"line_number":75,"context_line":"                                  \u0027is_visible\u0027: True, \u0027default\u0027: None,"},{"line_number":76,"context_line":"                                  \u0027validate\u0027: {\u0027type:non_negative\u0027: None}},"},{"line_number":77,"context_line":"                              \u0027max_burst_kbit\u0027: {"},{"line_number":78,"context_line":"                                  \u0027allow_post\u0027: True, \u0027allow_put\u0027: True,"},{"line_number":79,"context_line":"                                  \u0027is_visible\u0027: True, \u0027default\u0027: 0,"},{"line_number":80,"context_line":"                                  \u0027validate\u0027: {\u0027type:non_negative\u0027: None}},"}],"source_content_type":"text/x-python","patch_set":5,"id":"1af94dfe_709a0316","line":77,"in_reply_to":"1af94dfe_908fcf22","updated":"2016-03-16 09:40:48.000000000","message":"That\u0027s why I added in API new option and left old one as it was. People can use API with old option also and it will be \"silently\" changed to new one in qos service plugin class. Is it not ok for You?","commit_id":"ab46782b2a36eee722ec965fd72e08c092df9a56"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"0fb529363c7094f90bd607af4ea334ac8c5c0bf9","unresolved":false,"context_lines":[{"line_number":78,"context_line":"                                  \u0027allow_post\u0027: True, \u0027allow_put\u0027: True,"},{"line_number":79,"context_line":"                                  \u0027is_visible\u0027: True, \u0027default\u0027: 0,"},{"line_number":80,"context_line":"                                  \u0027validate\u0027: {\u0027type:non_negative\u0027: None}},"},{"line_number":81,"context_line":"                              \u0027max_burst_kbps\u0027: {"},{"line_number":82,"context_line":"                                  \u0027allow_post\u0027: True, \u0027allow_put\u0027: True,"},{"line_number":83,"context_line":"                                  \u0027is_visible\u0027: True, \u0027default\u0027: 0,"},{"line_number":84,"context_line":"                                  \u0027validate\u0027: {\u0027type:non_negative\u0027: None}}})"}],"source_content_type":"text/x-python","patch_set":5,"id":"1af94dfe_94650c47","line":81,"updated":"2016-03-16 05:30:31.000000000","message":"Do we want to keep max_burst_kbps? I understand removing this will create backward compatibility issues.. But there is no other way out?","commit_id":"ab46782b2a36eee722ec965fd72e08c092df9a56"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"aac31f0057f4eac9af700141b031b1f302c0edf9","unresolved":false,"context_lines":[{"line_number":78,"context_line":"                                  \u0027allow_post\u0027: True, \u0027allow_put\u0027: True,"},{"line_number":79,"context_line":"                                  \u0027is_visible\u0027: True, \u0027default\u0027: 0,"},{"line_number":80,"context_line":"                                  \u0027validate\u0027: {\u0027type:non_negative\u0027: None}},"},{"line_number":81,"context_line":"                              \u0027max_burst_kbps\u0027: {"},{"line_number":82,"context_line":"                                  \u0027allow_post\u0027: True, \u0027allow_put\u0027: True,"},{"line_number":83,"context_line":"                                  \u0027is_visible\u0027: True, \u0027default\u0027: 0,"},{"line_number":84,"context_line":"                                  \u0027validate\u0027: {\u0027type:non_negative\u0027: None}}})"}],"source_content_type":"text/x-python","patch_set":5,"id":"1af94dfe_7abb02c5","line":81,"in_reply_to":"1af94dfe_94650c47","updated":"2016-03-16 08:55:40.000000000","message":"Yes, we need to keep old value in API (at least for now). In future probably it could be removed but not now.","commit_id":"ab46782b2a36eee722ec965fd72e08c092df9a56"}],"neutron/objects/qos/rule.py":[{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"4a21baf2099858b5ae1993ca7e5f4d81f4c5e5ec","unresolved":false,"context_lines":[{"line_number":79,"context_line":"class QosBandwidthLimitRule(QosRule):"},{"line_number":80,"context_line":"    # Version 1.0: Initial version"},{"line_number":81,"context_line":"    # Version 1.1: Changed max_burst_kbps to max_burst_kbit"},{"line_number":82,"context_line":"    VERSION \u003d \u00271.1\u0027"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"    db_model \u003d qos_db_model.QosBandwidthLimitRule"},{"line_number":85,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3afc51ec_45a3009f","line":82,"updated":"2016-03-11 11:50:16.000000000","message":"Should provide upgrade path to convert between old and new version here.","commit_id":"f3ebf3499ce1f8d70e2118df5f846e8ba7895812"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"26d06657e8872938164631bf9bf46710eede2908","unresolved":false,"context_lines":[{"line_number":79,"context_line":"class QosBandwidthLimitRule(QosRule):"},{"line_number":80,"context_line":"    # Version 1.0: Initial version"},{"line_number":81,"context_line":"    # Version 1.1: Changed max_burst_kbps to max_burst_kbit"},{"line_number":82,"context_line":"    VERSION \u003d \u00271.1\u0027"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"    db_model \u003d qos_db_model.QosBandwidthLimitRule"},{"line_number":85,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3afc51ec_cd126062","line":82,"in_reply_to":"3afc51ec_2fabfc75","updated":"2016-03-15 11:31:05.000000000","message":"@Ihar: I\u0027m not sure about what patch exactly You are talking but I added some Version history there. I hope it is better now.\n@Vikram: I want to push patch to neutronclient as well but after this will be done.","commit_id":"f3ebf3499ce1f8d70e2118df5f846e8ba7895812"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"180b066e6cd4882412e75ada08f150eee4bc8b28","unresolved":false,"context_lines":[{"line_number":79,"context_line":"class QosBandwidthLimitRule(QosRule):"},{"line_number":80,"context_line":"    # Version 1.0: Initial version"},{"line_number":81,"context_line":"    # Version 1.1: Changed max_burst_kbps to max_burst_kbit"},{"line_number":82,"context_line":"    VERSION \u003d \u00271.1\u0027"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"    db_model \u003d qos_db_model.QosBandwidthLimitRule"},{"line_number":85,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3afc51ec_2fabfc75","line":82,"in_reply_to":"3afc51ec_45a3009f","updated":"2016-03-13 15:39:04.000000000","message":"Please consider changing neutronclient as well...\nhttps://github.com/openstack/python-neutronclient/blob/master/neutronclient/neutron/v2_0/qos/bandwidth_limit_rule.py#L32","commit_id":"f3ebf3499ce1f8d70e2118df5f846e8ba7895812"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"66b5c15b54b7607e0150575c17a3879547f8744a","unresolved":false,"context_lines":[{"line_number":90,"context_line":""},{"line_number":91,"context_line":"    fields \u003d {"},{"line_number":92,"context_line":"        \u0027max_kbps\u0027: obj_fields.IntegerField(nullable\u003dTrue),"},{"line_number":93,"context_line":"        \u0027max_burst_kbit\u0027: obj_fields.IntegerField(nullable\u003dTrue)"},{"line_number":94,"context_line":"    }"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"    rule_type \u003d qos_consts.RULE_TYPE_BANDWIDTH_LIMIT"}],"source_content_type":"text/x-python","patch_set":5,"id":"1af94dfe_7a8df07a","line":93,"updated":"2016-03-15 14:08:42.000000000","message":"i do not think that you can do this. It will breal agents running expecting kbps","commit_id":"ab46782b2a36eee722ec965fd72e08c092df9a56"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"aac31f0057f4eac9af700141b031b1f302c0edf9","unresolved":false,"context_lines":[{"line_number":90,"context_line":""},{"line_number":91,"context_line":"    fields \u003d {"},{"line_number":92,"context_line":"        \u0027max_kbps\u0027: obj_fields.IntegerField(nullable\u003dTrue),"},{"line_number":93,"context_line":"        \u0027max_burst_kbit\u0027: obj_fields.IntegerField(nullable\u003dTrue)"},{"line_number":94,"context_line":"    }"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"    rule_type \u003d qos_consts.RULE_TYPE_BANDWIDTH_LIMIT"}],"source_content_type":"text/x-python","patch_set":5,"id":"1af94dfe_3ad97a22","line":93,"in_reply_to":"1af94dfe_7a8df07a","updated":"2016-03-16 08:55:40.000000000","message":"In agents like openvswitch, linuxbridge I changed it also and it\u0027s working fine.\nIf someone has own agent, then he should change it in this new agent.\nWhy it can\u0027t be like that?","commit_id":"ab46782b2a36eee722ec965fd72e08c092df9a56"}],"neutron/services/qos/qos_plugin.py":[{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"4a21baf2099858b5ae1993ca7e5f4d81f4c5e5ec","unresolved":false,"context_lines":[{"line_number":174,"context_line":"    def _get_bw_limit_rule(self, bandwidth_limit_rule):"},{"line_number":175,"context_line":"        bw_limit_rule \u003d bandwidth_limit_rule[\"bandwidth_limit_rule\"]"},{"line_number":176,"context_line":"        if \"max_burst_kbps\" in bw_limit_rule.keys():"},{"line_number":177,"context_line":"            LOG.warning(_LW(\"Option max_burst_kbps is deprecated. Please use \""},{"line_number":178,"context_line":"                            \"max_burst_kbit instead\"))"},{"line_number":179,"context_line":"            if not bw_limit_rule.get(\"max_burst_kbit\"):"},{"line_number":180,"context_line":"                bw_limit_rule[\"max_burst_kbit\"] \u003d bw_limit_rule.\\"}],"source_content_type":"text/x-python","patch_set":4,"id":"3afc51ec_e5020c6f","line":177,"updated":"2016-03-11 11:50:16.000000000","message":"I suspect we can\u0027t claim it for deprecation at all, since that would require a major API bump. Instead, we should silently converge, using the new name if present, and falling back to the old one.","commit_id":"f3ebf3499ce1f8d70e2118df5f846e8ba7895812"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"26d06657e8872938164631bf9bf46710eede2908","unresolved":false,"context_lines":[{"line_number":174,"context_line":"    def _get_bw_limit_rule(self, bandwidth_limit_rule):"},{"line_number":175,"context_line":"        bw_limit_rule \u003d bandwidth_limit_rule[\"bandwidth_limit_rule\"]"},{"line_number":176,"context_line":"        if \"max_burst_kbps\" in bw_limit_rule.keys():"},{"line_number":177,"context_line":"            LOG.warning(_LW(\"Option max_burst_kbps is deprecated. Please use \""},{"line_number":178,"context_line":"                            \"max_burst_kbit instead\"))"},{"line_number":179,"context_line":"            if not bw_limit_rule.get(\"max_burst_kbit\"):"},{"line_number":180,"context_line":"                bw_limit_rule[\"max_burst_kbit\"] \u003d bw_limit_rule.\\"}],"source_content_type":"text/x-python","patch_set":4,"id":"1af94dfe_1b931ba5","line":177,"in_reply_to":"3afc51ec_e5020c6f","updated":"2016-03-15 11:31:05.000000000","message":"Done. I just added debug message when old option will be used instead of new one. Is it better in that way?","commit_id":"f3ebf3499ce1f8d70e2118df5f846e8ba7895812"}],"neutron/tests/api/test_qos.py":[{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"a824508d2cfe9ef4f7b90d1415a5f44038e86a6f","unresolved":false,"context_lines":[{"line_number":332,"context_line":"        retrieved_rule \u003d retrieved_rule[\u0027bandwidth_limit_rule\u0027]"},{"line_number":333,"context_line":"        self.assertEqual(rule[\u0027id\u0027], retrieved_rule[\u0027id\u0027])"},{"line_number":334,"context_line":"        self.assertEqual(200, retrieved_rule[\u0027max_kbps\u0027])"},{"line_number":335,"context_line":"        self.assertEqual(1337, retrieved_rule[\u0027max_burst_kbit\u0027])"},{"line_number":336,"context_line":""},{"line_number":337,"context_line":"        # Test \u0027list rules\u0027"},{"line_number":338,"context_line":"        rules \u003d self.admin_client.list_bandwidth_limit_rules(policy[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":8,"id":"9a061dce_ff97a545","line":335,"updated":"2016-04-06 14:12:07.000000000","message":"Don\u0027t touch existing tests, just add more scenarios for the new name. We should make sure old clients work fine.","commit_id":"adb86a0b0595d856a95d23d863c2875232f64cc4"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"5b768f60c1e8d0835039aee1ed94eb57b3040423","unresolved":false,"context_lines":[{"line_number":332,"context_line":"        retrieved_rule \u003d retrieved_rule[\u0027bandwidth_limit_rule\u0027]"},{"line_number":333,"context_line":"        self.assertEqual(rule[\u0027id\u0027], retrieved_rule[\u0027id\u0027])"},{"line_number":334,"context_line":"        self.assertEqual(200, retrieved_rule[\u0027max_kbps\u0027])"},{"line_number":335,"context_line":"        self.assertEqual(1337, retrieved_rule[\u0027max_burst_kbit\u0027])"},{"line_number":336,"context_line":""},{"line_number":337,"context_line":"        # Test \u0027list rules\u0027"},{"line_number":338,"context_line":"        rules \u003d self.admin_client.list_bandwidth_limit_rules(policy[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":8,"id":"7a1b2928_30b9bfea","line":335,"in_reply_to":"7a1b2928_cac42542","updated":"2016-04-11 13:33:47.000000000","message":"You\u0027re right guys, when fetching a rule, we can\u0027t know what\u0027s the other end going to be expecting.\n\nWe could provide both, but still, that\u0027d be confusing.\n\n+1 for microversioning, which could take time but would be the best thing.","commit_id":"adb86a0b0595d856a95d23d863c2875232f64cc4"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"3d3e5f771df4b49200efd58238b456a83fe96e07","unresolved":false,"context_lines":[{"line_number":332,"context_line":"        retrieved_rule \u003d retrieved_rule[\u0027bandwidth_limit_rule\u0027]"},{"line_number":333,"context_line":"        self.assertEqual(rule[\u0027id\u0027], retrieved_rule[\u0027id\u0027])"},{"line_number":334,"context_line":"        self.assertEqual(200, retrieved_rule[\u0027max_kbps\u0027])"},{"line_number":335,"context_line":"        self.assertEqual(1337, retrieved_rule[\u0027max_burst_kbit\u0027])"},{"line_number":336,"context_line":""},{"line_number":337,"context_line":"        # Test \u0027list rules\u0027"},{"line_number":338,"context_line":"        rules \u003d self.admin_client.list_bandwidth_limit_rules(policy[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":8,"id":"9a061dce_436ca507","line":335,"in_reply_to":"9a061dce_03290d8a","updated":"2016-04-07 20:28:03.000000000","message":"Oh, so you change API result too? I am not sure we can safely do it.","commit_id":"adb86a0b0595d856a95d23d863c2875232f64cc4"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"e15e90baebe28e268332f06c97e3a9ba257e2cc1","unresolved":false,"context_lines":[{"line_number":332,"context_line":"        retrieved_rule \u003d retrieved_rule[\u0027bandwidth_limit_rule\u0027]"},{"line_number":333,"context_line":"        self.assertEqual(rule[\u0027id\u0027], retrieved_rule[\u0027id\u0027])"},{"line_number":334,"context_line":"        self.assertEqual(200, retrieved_rule[\u0027max_kbps\u0027])"},{"line_number":335,"context_line":"        self.assertEqual(1337, retrieved_rule[\u0027max_burst_kbit\u0027])"},{"line_number":336,"context_line":""},{"line_number":337,"context_line":"        # Test \u0027list rules\u0027"},{"line_number":338,"context_line":"        rules \u003d self.admin_client.list_bandwidth_limit_rules(policy[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":8,"id":"9a061dce_b0d94586","line":335,"in_reply_to":"9a061dce_436ca507","updated":"2016-04-08 20:15:58.000000000","message":"In fact me too. But what You propose? Left old name of returned parameter? It can be confusing for users IMHO. Return both also can be not fine.\nPlease tell me what would be best (better) choice here :)","commit_id":"adb86a0b0595d856a95d23d863c2875232f64cc4"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"9705ae7fbda2aa1cfe026045c96695e8bbb4b615","unresolved":false,"context_lines":[{"line_number":332,"context_line":"        retrieved_rule \u003d retrieved_rule[\u0027bandwidth_limit_rule\u0027]"},{"line_number":333,"context_line":"        self.assertEqual(rule[\u0027id\u0027], retrieved_rule[\u0027id\u0027])"},{"line_number":334,"context_line":"        self.assertEqual(200, retrieved_rule[\u0027max_kbps\u0027])"},{"line_number":335,"context_line":"        self.assertEqual(1337, retrieved_rule[\u0027max_burst_kbit\u0027])"},{"line_number":336,"context_line":""},{"line_number":337,"context_line":"        # Test \u0027list rules\u0027"},{"line_number":338,"context_line":"        rules \u003d self.admin_client.list_bandwidth_limit_rules(policy[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":8,"id":"7a1b2928_cac42542","line":335,"in_reply_to":"9a061dce_b0d94586","updated":"2016-04-11 10:02:45.000000000","message":"The best would be start working on API microversioning. Once we are there, we can safely emerge API in compatible way. Before that, I don\u0027t think we can safely proceed.","commit_id":"adb86a0b0595d856a95d23d863c2875232f64cc4"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"666d50dc3c73582f63404aa0847f342a306c380e","unresolved":false,"context_lines":[{"line_number":332,"context_line":"        retrieved_rule \u003d retrieved_rule[\u0027bandwidth_limit_rule\u0027]"},{"line_number":333,"context_line":"        self.assertEqual(rule[\u0027id\u0027], retrieved_rule[\u0027id\u0027])"},{"line_number":334,"context_line":"        self.assertEqual(200, retrieved_rule[\u0027max_kbps\u0027])"},{"line_number":335,"context_line":"        self.assertEqual(1337, retrieved_rule[\u0027max_burst_kbit\u0027])"},{"line_number":336,"context_line":""},{"line_number":337,"context_line":"        # Test \u0027list rules\u0027"},{"line_number":338,"context_line":"        rules \u003d self.admin_client.list_bandwidth_limit_rules(policy[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":8,"id":"9a061dce_03290d8a","line":335,"in_reply_to":"9a061dce_ff97a545","updated":"2016-04-07 20:09:40.000000000","message":"but here I only changed check of key in returned rule. It is changed because neutron-server is returning now only new value. Old parameter if is given then is silently changed to new one and only new is returned. \nShould I maybe change it somehow?","commit_id":"adb86a0b0595d856a95d23d863c2875232f64cc4"}],"neutron/tests/fullstack/resources/client.py":[{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"4a21baf2099858b5ae1993ca7e5f4d81f4c5e5ec","unresolved":false,"context_lines":[{"line_number":124,"context_line":"            rule[\u0027max_kbps\u0027] \u003d limit"},{"line_number":125,"context_line":"        if burst:"},{"line_number":126,"context_line":"            #TODO(slaweq: replance max_burst_kbps with max_burst_kbit when it"},{"line_number":127,"context_line":"            # will be changed in neutronclient:"},{"line_number":128,"context_line":"            rule[\u0027max_burst_kbps\u0027] \u003d burst"},{"line_number":129,"context_line":"        rule \u003d self.client.create_bandwidth_limit_rule("},{"line_number":130,"context_line":"            policy\u003dqos_policy_id,"}],"source_content_type":"text/x-python","patch_set":4,"id":"3afc51ec_6546fcc0","line":127,"updated":"2016-03-11 11:50:16.000000000","message":"(no action required) new client should still support the old name though.","commit_id":"f3ebf3499ce1f8d70e2118df5f846e8ba7895812"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"26d06657e8872938164631bf9bf46710eede2908","unresolved":false,"context_lines":[{"line_number":124,"context_line":"            rule[\u0027max_kbps\u0027] \u003d limit"},{"line_number":125,"context_line":"        if burst:"},{"line_number":126,"context_line":"            #TODO(slaweq: replance max_burst_kbps with max_burst_kbit when it"},{"line_number":127,"context_line":"            # will be changed in neutronclient:"},{"line_number":128,"context_line":"            rule[\u0027max_burst_kbps\u0027] \u003d burst"},{"line_number":129,"context_line":"        rule \u003d self.client.create_bandwidth_limit_rule("},{"line_number":130,"context_line":"            policy\u003dqos_policy_id,"}],"source_content_type":"text/x-python","patch_set":4,"id":"1af94dfe_1bc15b81","line":127,"in_reply_to":"3afc51ec_6546fcc0","updated":"2016-03-15 11:31:05.000000000","message":"Yes, I want to push such patch for neutron client when this one will be ready :)","commit_id":"f3ebf3499ce1f8d70e2118df5f846e8ba7895812"}]}
