)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7715,"name":"Hirofumi Ichihara","email":"ichihara.hirofumi@gmail.com","username":"Hirofumi-Ichihara"},"change_message_id":"abadeaef5f40296e8e2bf937863af686600518b4","unresolved":false,"context_lines":[{"line_number":14,"context_line":"LinuxBridge agent already sets is like that. This patch add same"},{"line_number":15,"context_line":"behaviour for QoS extension driver in openvswitch L2 agent."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"DocImpact:"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Change-Id: Ib12a7cbf88cdffd10c8f6f8442582bf7377ca27d"},{"line_number":20,"context_line":"Closes-Bug: #1572670"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"dab17558_087680a3","line":17,"range":{"start_line":17,"start_character":0,"end_line":17,"end_character":10},"updated":"2016-05-11 00:42:46.000000000","message":"I guess that this tag needs a summary line like following.\n\n DocImpact: Add setting default max_burst value\n\nHowever, I\u0027m seeing some patches without the summary line now. I\u0027m not sure it\u0027s essential for DocImpact.","commit_id":"cdec4ba70f404bcdd0bc8f31682be57b84e5cb61"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"a6e1402cc3510716693a13700227511528bc069c","unresolved":false,"context_lines":[{"line_number":14,"context_line":"LinuxBridge agent already sets is like that. This patch add same"},{"line_number":15,"context_line":"behaviour for QoS extension driver in openvswitch L2 agent."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"DocImpact:"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Change-Id: Ib12a7cbf88cdffd10c8f6f8442582bf7377ca27d"},{"line_number":20,"context_line":"Closes-Bug: #1572670"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"dab17558_6dd63550","line":17,"range":{"start_line":17,"start_character":0,"end_line":17,"end_character":10},"in_reply_to":"dab17558_087680a3","updated":"2016-05-11 06:37:22.000000000","message":"I\u0027m not sure if it is necessary. IMHO in commit message there is description what is changed here and I think this will be in launchpad bug reported as description for docs update.","commit_id":"cdec4ba70f404bcdd0bc8f31682be57b84e5cb61"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"f6622cc608281d5b110f7a600e26c9f4f0e10026","unresolved":false,"context_lines":[{"line_number":14,"context_line":"LinuxBridge agent already sets is like that. This patch add same"},{"line_number":15,"context_line":"behaviour for QoS extension driver in openvswitch L2 agent."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"DocImpact:"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Change-Id: Ib12a7cbf88cdffd10c8f6f8442582bf7377ca27d"},{"line_number":20,"context_line":"Closes-Bug: #1572670"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"dab17558_0ae78140","line":17,"range":{"start_line":17,"start_character":0,"end_line":17,"end_character":10},"in_reply_to":"dab17558_6dd63550","updated":"2016-05-11 11:28:59.000000000","message":"Can you add it for just in case?. I\u0027m unsure about how DocImpact is processed, may by it\u0027s the topic of the created bug when this merges?","commit_id":"cdec4ba70f404bcdd0bc8f31682be57b84e5cb61"}],"neutron/agent/l2/extensions/qos.py":[{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"1a3c1bc678cfc6cfe4367b622e339d9c5544fcba","unresolved":false,"context_lines":[{"line_number":126,"context_line":"            # NOTE(slaweq): If burst value was not specified by user than it"},{"line_number":127,"context_line":"            # will be set as 80% of bw_limit to ensure that limit for TCP"},{"line_number":128,"context_line":"            # traffic will work well:"},{"line_number":129,"context_line":"            return float(rule.max_kbps) * 0.8"},{"line_number":130,"context_line":"        return rule.max_burst_kbps"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"1a122d0e_346c1cd0","line":129,"updated":"2016-05-02 04:27:02.000000000","message":"Let\u0027s try avoiding hardcoded values. How about defining a constant:\n\nQOS_DEFAULT_BURST_THRESHHOLD 0.8","commit_id":"9b1aadfa8e83161db1aa39b9ccece0af1d47e7e1"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"dd8fe93d50b7e2c8402e370e32f583632b6a7f44","unresolved":false,"context_lines":[{"line_number":126,"context_line":"            # NOTE(slaweq): If burst value was not specified by user than it"},{"line_number":127,"context_line":"            # will be set as 80% of bw_limit to ensure that limit for TCP"},{"line_number":128,"context_line":"            # traffic will work well:"},{"line_number":129,"context_line":"            return float(rule.max_kbps) * 0.8"},{"line_number":130,"context_line":"        return rule.max_burst_kbps"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"1a122d0e_e66b0c1e","line":129,"in_reply_to":"1a122d0e_346c1cd0","updated":"2016-05-02 22:04:20.000000000","message":"Done","commit_id":"9b1aadfa8e83161db1aa39b9ccece0af1d47e7e1"},{"author":{"_account_id":12444,"name":"John Schwarz","email":"jschwarz@redhat.com","username":"jschwarz"},"change_message_id":"e548204b8b55075804232e6d9072b3de5438cf81","unresolved":false,"context_lines":[{"line_number":122,"context_line":"                LOG.debug(\"Port %(port)s excluded from QoS rule %(rule)s\","},{"line_number":123,"context_line":"                          {\u0027port\u0027: port, \u0027rule\u0027: rule.id})"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"    def _get_max_burst_value(self, rule):"},{"line_number":126,"context_line":"        if not rule.max_burst_kbps:"},{"line_number":127,"context_line":"            # NOTE(slaweq): If burst value was not specified by user than it"},{"line_number":128,"context_line":"            # will be set as 80% of bw_limit to ensure that limit for TCP"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a122d0e_dfa49709","line":125,"range":{"start_line":125,"start_character":8,"end_line":125,"end_character":28},"updated":"2016-05-04 09:37:04.000000000","message":"\u0027tc_lib.TcCommand._get_filters_burst_value\u0027 and this function are basically the same, producing code duplication. I\u0027m sure we can do something with staticmethods to have tc_lib\u0027s use this one instead.","commit_id":"9592b465f89aafadd7a41a2932305030cbbea096"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"7dc2ef66adbbcd44676bfa85e67a67723a803d1d","unresolved":false,"context_lines":[{"line_number":122,"context_line":"                LOG.debug(\"Port %(port)s excluded from QoS rule %(rule)s\","},{"line_number":123,"context_line":"                          {\u0027port\u0027: port, \u0027rule\u0027: rule.id})"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"    def _get_max_burst_value(self, rule):"},{"line_number":126,"context_line":"        if not rule.max_burst_kbps:"},{"line_number":127,"context_line":"            # NOTE(slaweq): If burst value was not specified by user than it"},{"line_number":128,"context_line":"            # will be set as 80% of bw_limit to ensure that limit for TCP"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a122d0e_9d43306c","line":125,"range":{"start_line":125,"start_character":8,"end_line":125,"end_character":28},"in_reply_to":"1a122d0e_dfa49709","updated":"2016-05-04 18:19:48.000000000","message":"Ok. I changed method in tc_lib.TcCommand to be staticmethod and used it here. Should be better now because I hope :)","commit_id":"9592b465f89aafadd7a41a2932305030cbbea096"},{"author":{"_account_id":12444,"name":"John Schwarz","email":"jschwarz@redhat.com","username":"jschwarz"},"change_message_id":"e548204b8b55075804232e6d9072b3de5438cf81","unresolved":false,"context_lines":[{"line_number":124,"context_line":""},{"line_number":125,"context_line":"    def _get_max_burst_value(self, rule):"},{"line_number":126,"context_line":"        if not rule.max_burst_kbps:"},{"line_number":127,"context_line":"            # NOTE(slaweq): If burst value was not specified by user than it"},{"line_number":128,"context_line":"            # will be set as 80% of bw_limit to ensure that limit for TCP"},{"line_number":129,"context_line":"            # traffic will work well:"},{"line_number":130,"context_line":"            return int(rule.max_kbps * qos_consts.DEFAULT_BURST_THRESHHOLD)"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a122d0e_1f13af5d","line":127,"range":{"start_line":127,"start_character":14,"end_line":127,"end_character":26},"updated":"2016-05-04 09:37:04.000000000","message":"Please put this (helpful) note in the docstring of the function.\n\n(This can also be done in tc_lib\u0027s copy while we are at it.)","commit_id":"9592b465f89aafadd7a41a2932305030cbbea096"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"7dc2ef66adbbcd44676bfa85e67a67723a803d1d","unresolved":false,"context_lines":[{"line_number":124,"context_line":""},{"line_number":125,"context_line":"    def _get_max_burst_value(self, rule):"},{"line_number":126,"context_line":"        if not rule.max_burst_kbps:"},{"line_number":127,"context_line":"            # NOTE(slaweq): If burst value was not specified by user than it"},{"line_number":128,"context_line":"            # will be set as 80% of bw_limit to ensure that limit for TCP"},{"line_number":129,"context_line":"            # traffic will work well:"},{"line_number":130,"context_line":"            return int(rule.max_kbps * qos_consts.DEFAULT_BURST_THRESHHOLD)"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a122d0e_6422fda4","line":127,"range":{"start_line":127,"start_character":14,"end_line":127,"end_character":26},"in_reply_to":"1a122d0e_1f13af5d","updated":"2016-05-04 18:19:48.000000000","message":"Done","commit_id":"9592b465f89aafadd7a41a2932305030cbbea096"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"ac178d5e05bd53e9afd674d7f3297b91cfba0790","unresolved":false,"context_lines":[{"line_number":122,"context_line":"                LOG.debug(\"Port %(port)s excluded from QoS rule %(rule)s\","},{"line_number":123,"context_line":"                          {\u0027port\u0027: port, \u0027rule\u0027: rule.id})"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"    def _get_max_egress_burst_value(self, rule):"},{"line_number":126,"context_line":"        \"\"\"Return burst value used for egress bandwidth limitation."},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"        If burst value is not given by user it will be set as 80% of"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a122d0e_15008201","line":125,"updated":"2016-05-05 05:01:57.000000000","message":"What will happen if the QoS is implemented by the third-party vendor? In that case also do we need to set the threshold as 80% if not specified?","commit_id":"0ce09b78a458726acd3bd11d4511e97365cdea3e"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"fbd816cd4fa7f8bf6168aee86bb996f44b5eadaf","unresolved":false,"context_lines":[{"line_number":122,"context_line":"                LOG.debug(\"Port %(port)s excluded from QoS rule %(rule)s\","},{"line_number":123,"context_line":"                          {\u0027port\u0027: port, \u0027rule\u0027: rule.id})"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"    def _get_max_egress_burst_value(self, rule):"},{"line_number":126,"context_line":"        \"\"\"Return burst value used for egress bandwidth limitation."},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"        If burst value is not given by user it will be set as 80% of"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a122d0e_a97e9718","line":125,"in_reply_to":"1a122d0e_15008201","updated":"2016-05-05 07:29:07.000000000","message":"It depends of vendor. It can be made in different way in such cases. For sure for ovs and lb drivers we need that because without that bw_limit can not work properly :/","commit_id":"0ce09b78a458726acd3bd11d4511e97365cdea3e"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"a6e1bd1c16b9d57587fd5f034a4ebe158530ff94","unresolved":false,"context_lines":[{"line_number":122,"context_line":"                LOG.debug(\"Port %(port)s excluded from QoS rule %(rule)s\","},{"line_number":123,"context_line":"                          {\u0027port\u0027: port, \u0027rule\u0027: rule.id})"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"    def _get_max_egress_burst_value(self, rule):"},{"line_number":126,"context_line":"        \"\"\"Return burst value used for egress bandwidth limitation."},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"        If burst value is not given by user it will be set as 80% of"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a122d0e_aa1cbb77","line":125,"in_reply_to":"1a122d0e_6a13c301","updated":"2016-05-05 21:01:54.000000000","message":"I don\u0027t know why :) Fixed. Thx","commit_id":"0ce09b78a458726acd3bd11d4511e97365cdea3e"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"03d91668b2bcd490ac95c04ccd4f5ec6bfc916df","unresolved":false,"context_lines":[{"line_number":122,"context_line":"                LOG.debug(\"Port %(port)s excluded from QoS rule %(rule)s\","},{"line_number":123,"context_line":"                          {\u0027port\u0027: port, \u0027rule\u0027: rule.id})"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"    def _get_max_egress_burst_value(self, rule):"},{"line_number":126,"context_line":"        \"\"\"Return burst value used for egress bandwidth limitation."},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"        If burst value is not given by user it will be set as 80% of"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a122d0e_6a13c301","line":125,"in_reply_to":"1a122d0e_a97e9718","updated":"2016-05-05 12:55:00.000000000","message":"why _max_egress, and not just _get_egress_burst_value(self, rule) ?","commit_id":"0ce09b78a458726acd3bd11d4511e97365cdea3e"},{"author":{"_account_id":5367,"name":"boden","email":"bodenvmw@gmail.com","username":"boden"},"change_message_id":"c9c342e8b6709677ee2c76aa25a59ac3b1a159dd","unresolved":false,"context_lines":[{"line_number":125,"context_line":"    def _get_egress_burst_value(self, rule):"},{"line_number":126,"context_line":"        \"\"\"Return burst value used for egress bandwidth limitation."},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"        If burst value is not given by user it will be set as 80% of"},{"line_number":129,"context_line":"        bw_limit to ensure that limit for TCP traffic will work well."},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"        Egress bw_limit is done on ingress qdisc by LB and ovs drivers so"},{"line_number":132,"context_line":"        burst_value as ingress_qdisc burst."}],"source_content_type":"text/x-python","patch_set":9,"id":"dab17558_e17e8de2","line":129,"range":{"start_line":128,"start_character":8,"end_line":129,"end_character":69},"updated":"2016-05-11 18:00:04.000000000","message":"IMO this comment doesn\u0027t belong here. This method has nothing to do with setting defaults so I think it could be confusing to future maintainers as its \"too far from the source\". Consider what happens if the default changes to something other than 80%, then this comment is misleading in that case.\n\n\nAlso this is already doc\u0027d in the TcCommand.get_ingress_qdisc_burst_value() method.","commit_id":"2fdb0eda1f7a6f715bef3d122ec40a4b47f27543"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"34e00ca9cd3688536cf5791d5ee21d9c0c541d14","unresolved":false,"context_lines":[{"line_number":125,"context_line":"    def _get_egress_burst_value(self, rule):"},{"line_number":126,"context_line":"        \"\"\"Return burst value used for egress bandwidth limitation."},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"        If burst value is not given by user it will be set as 80% of"},{"line_number":129,"context_line":"        bw_limit to ensure that limit for TCP traffic will work well."},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"        Egress bw_limit is done on ingress qdisc by LB and ovs drivers so"},{"line_number":132,"context_line":"        burst_value as ingress_qdisc burst."}],"source_content_type":"text/x-python","patch_set":9,"id":"dab17558_a88aa261","line":129,"range":{"start_line":128,"start_character":8,"end_line":129,"end_character":69},"in_reply_to":"dab17558_e17e8de2","updated":"2016-05-11 19:48:25.000000000","message":"I changed this comment and I hope it is better now","commit_id":"2fdb0eda1f7a6f715bef3d122ec40a4b47f27543"}],"neutron/agent/linux/tc_lib.py":[{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"03d91668b2bcd490ac95c04ccd4f5ec6bfc916df","unresolved":false,"context_lines":[{"line_number":111,"context_line":"        bw_limit to ensure that limit for TCP traffic will work well"},{"line_number":112,"context_line":"        \"\"\""},{"line_number":113,"context_line":"        if not burst_limit:"},{"line_number":114,"context_line":"            return int(bw_limit * qos_consts.DEFAULT_BURST_THRESHHOLD)"},{"line_number":115,"context_line":"        return burst_limit"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"    def get_filters_bw_limits(self, qdisc_id\u003dINGRESS_QDISC_ID):"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a122d0e_8a9bbf72","line":114,"range":{"start_line":114,"start_character":59,"end_line":114,"end_character":69},"updated":"2016-05-05 12:55:00.000000000","message":"mega nitpicking question,  probably wrong, english is not my \"out of the box\" language.\n\nIs Threshold correct here?, isn\u0027t threshold generally used for a limit, not for a default?\n\nBtw, you have an extra \"H\" in the middle of it.","commit_id":"0ce09b78a458726acd3bd11d4511e97365cdea3e"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"a6e1bd1c16b9d57587fd5f034a4ebe158530ff94","unresolved":false,"context_lines":[{"line_number":111,"context_line":"        bw_limit to ensure that limit for TCP traffic will work well"},{"line_number":112,"context_line":"        \"\"\""},{"line_number":113,"context_line":"        if not burst_limit:"},{"line_number":114,"context_line":"            return int(bw_limit * qos_consts.DEFAULT_BURST_THRESHHOLD)"},{"line_number":115,"context_line":"        return burst_limit"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"    def get_filters_bw_limits(self, qdisc_id\u003dINGRESS_QDISC_ID):"}],"source_content_type":"text/x-python","patch_set":4,"id":"faac7902_3813915e","line":114,"range":{"start_line":114,"start_character":59,"end_line":114,"end_character":69},"in_reply_to":"1a122d0e_8a9bbf72","updated":"2016-05-05 21:01:54.000000000","message":"I changed it to DEFAULT_BURST_PERCENTAGE. I also changed it that this constant is now 80 (not 0.8) so it is in fact in percentage. Hope it is better now","commit_id":"0ce09b78a458726acd3bd11d4511e97365cdea3e"},{"author":{"_account_id":7715,"name":"Hirofumi Ichihara","email":"ichihara.hirofumi@gmail.com","username":"Hirofumi-Ichihara"},"change_message_id":"50e6d6f3034300c3c580875176e996c65ae08401","unresolved":false,"context_lines":[{"line_number":111,"context_line":"        bw_limit to ensure that limit for TCP traffic will work well"},{"line_number":112,"context_line":"        \"\"\""},{"line_number":113,"context_line":"        if not burst_limit:"},{"line_number":114,"context_line":"            return int(bw_limit * qos_consts.DEFAULT_BURST_PERCENTAGE / 100)"},{"line_number":115,"context_line":"        return burst_limit"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"    def get_filters_bw_limits(self, qdisc_id\u003dINGRESS_QDISC_ID):"}],"source_content_type":"text/x-python","patch_set":5,"id":"dab17558_72d2dfd3","line":114,"range":{"start_line":114,"start_character":19,"end_line":114,"end_character":76},"updated":"2016-05-10 01:29:49.000000000","message":"It look like you change type of burst_limit. It changes existing behavior. Did you do on purpose?\n\nFor example, in case of bw_limit\u003d1,\nfloat(bw_limit) * 0.8 \u003d 0.8\non the other hand,\nint(bw_limit * 80 / 100) \u003d 0","commit_id":"5a93aa259710500d95f6221b00d4378ea91613bc"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"b6cdcf5ef5d07c9f5d9892e325447981ee6bced9","unresolved":false,"context_lines":[{"line_number":111,"context_line":"        bw_limit to ensure that limit for TCP traffic will work well"},{"line_number":112,"context_line":"        \"\"\""},{"line_number":113,"context_line":"        if not burst_limit:"},{"line_number":114,"context_line":"            return int(bw_limit * qos_consts.DEFAULT_BURST_PERCENTAGE / 100)"},{"line_number":115,"context_line":"        return burst_limit"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"    def get_filters_bw_limits(self, qdisc_id\u003dINGRESS_QDISC_ID):"}],"source_content_type":"text/x-python","patch_set":5,"id":"dab17558_5919aed6","line":114,"range":{"start_line":114,"start_character":19,"end_line":114,"end_character":76},"in_reply_to":"dab17558_72d2dfd3","updated":"2016-05-10 08:55:31.000000000","message":"Yes, I changed it because ovs accepts only integer values as burst: http://openvswitch.org/support/dist-docs/ovs-vswitchd.conf.db.5.html\nBut You\u0027re right that it\u0027s not good. I changed it back to previous solution and added convertion to integer only in openvswitch qos driver","commit_id":"5a93aa259710500d95f6221b00d4378ea91613bc"},{"author":{"_account_id":5367,"name":"boden","email":"bodenvmw@gmail.com","username":"boden"},"change_message_id":"c9c342e8b6709677ee2c76aa25a59ac3b1a159dd","unresolved":false,"context_lines":[{"line_number":107,"context_line":"    def get_ingress_qdisc_burst_value(bw_limit, burst_limit):"},{"line_number":108,"context_line":"        \"\"\"Return burst value used in ingress qdisc."},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"        If burst value is not specified given than it will be set as 80% of"},{"line_number":111,"context_line":"        bw_limit to ensure that limit for TCP traffic will work well"},{"line_number":112,"context_line":"        \"\"\""},{"line_number":113,"context_line":"        if not burst_limit:"},{"line_number":114,"context_line":"            return float(bw_limit) * qos_consts.DEFAULT_BURST_RATE"}],"source_content_type":"text/x-python","patch_set":9,"id":"dab17558_81dea1da","line":111,"range":{"start_line":110,"start_character":8,"end_line":111,"end_character":68},"updated":"2016-05-11 18:00:04.000000000","message":"IMHO we should not mention the actual default value here (80%) as that may change in the future in which case this comment would be misleading to maintainers.","commit_id":"2fdb0eda1f7a6f715bef3d122ec40a4b47f27543"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"34e00ca9cd3688536cf5791d5ee21d9c0c541d14","unresolved":false,"context_lines":[{"line_number":107,"context_line":"    def get_ingress_qdisc_burst_value(bw_limit, burst_limit):"},{"line_number":108,"context_line":"        \"\"\"Return burst value used in ingress qdisc."},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"        If burst value is not specified given than it will be set as 80% of"},{"line_number":111,"context_line":"        bw_limit to ensure that limit for TCP traffic will work well"},{"line_number":112,"context_line":"        \"\"\""},{"line_number":113,"context_line":"        if not burst_limit:"},{"line_number":114,"context_line":"            return float(bw_limit) * qos_consts.DEFAULT_BURST_RATE"}],"source_content_type":"text/x-python","patch_set":9,"id":"dab17558_a8c2a250","line":111,"range":{"start_line":110,"start_character":8,"end_line":111,"end_character":68},"in_reply_to":"dab17558_81dea1da","updated":"2016-05-11 19:48:25.000000000","message":"I changed this comment and also described why it is set as 0.8 (80%) in neutron.services.qos.qos_consts","commit_id":"2fdb0eda1f7a6f715bef3d122ec40a4b47f27543"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"e150eaf3bdd42484adb0787561c77d9cf61b22b2","unresolved":false,"context_lines":[{"line_number":107,"context_line":"    def get_ingress_qdisc_burst_value(bw_limit, burst_limit):"},{"line_number":108,"context_line":"        \"\"\"Return burst value used in ingress qdisc."},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"        If burst value is not specified given than it will be set as some rate"},{"line_number":111,"context_line":"        of bw_limit to ensure that limit for TCP traffic will work well"},{"line_number":112,"context_line":"        \"\"\""},{"line_number":113,"context_line":"        if not burst_limit:"}],"source_content_type":"text/x-python","patch_set":10,"id":"dab17558_14d93a84","line":110,"updated":"2016-05-12 07:19:02.000000000","message":"some rate?? how about \"set to default rate to ensure...\"","commit_id":"a1033d065e0e7311b6d62b6a07839772f8539a94"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"5f3ada761876707ac6bc4c5447e12466b118c3a6","unresolved":false,"context_lines":[{"line_number":107,"context_line":"    def get_ingress_qdisc_burst_value(bw_limit, burst_limit):"},{"line_number":108,"context_line":"        \"\"\"Return burst value used in ingress qdisc."},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"        If burst value is not specified given than it will be set as some rate"},{"line_number":111,"context_line":"        of bw_limit to ensure that limit for TCP traffic will work well"},{"line_number":112,"context_line":"        \"\"\""},{"line_number":113,"context_line":"        if not burst_limit:"}],"source_content_type":"text/x-python","patch_set":10,"id":"dab17558_137b077d","line":110,"in_reply_to":"dab17558_14d93a84","updated":"2016-05-12 10:07:36.000000000","message":"Done","commit_id":"a1033d065e0e7311b6d62b6a07839772f8539a94"}],"neutron/plugins/ml2/drivers/openvswitch/agent/extension_drivers/qos_driver.py":[{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"1216864c1259aaea398545497aefd6bcf5e561ca","unresolved":false,"context_lines":[{"line_number":56,"context_line":"        # NOTE(slaweq): According to ovs docs:"},{"line_number":57,"context_line":"        # http://openvswitch.org/support/dist-docs/ovs-vswitchd.conf.db.5.html"},{"line_number":58,"context_line":"        # ovs accepts only integer values of burst:"},{"line_number":59,"context_line":"        max_burst_kbps \u003d int(self._get_egress_burst_value(rule))"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"        self.br_int.create_egress_bw_limit_for_port(vif_port.port_name,"},{"line_number":62,"context_line":"                                                    max_kbps,"}],"source_content_type":"text/x-python","patch_set":6,"id":"dab17558_f594e243","line":59,"updated":"2016-05-10 10:24:53.000000000","message":"How about using math.ceil(x) function to round-off the values?","commit_id":"69cbf6ef6eee88dcc7e315b5b216e42b0524660c"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"6cf9c8b6a23b3134285a12fba2c7c0f11810d8bf","unresolved":false,"context_lines":[{"line_number":56,"context_line":"        # NOTE(slaweq): According to ovs docs:"},{"line_number":57,"context_line":"        # http://openvswitch.org/support/dist-docs/ovs-vswitchd.conf.db.5.html"},{"line_number":58,"context_line":"        # ovs accepts only integer values of burst:"},{"line_number":59,"context_line":"        max_burst_kbps \u003d int(self._get_egress_burst_value(rule))"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"        self.br_int.create_egress_bw_limit_for_port(vif_port.port_name,"},{"line_number":62,"context_line":"                                                    max_kbps,"}],"source_content_type":"text/x-python","patch_set":6,"id":"dab17558_be1eb75c","line":59,"in_reply_to":"dab17558_2354701f","updated":"2016-05-10 11:17:00.000000000","message":"int( should be enough given slawek comments. :)","commit_id":"69cbf6ef6eee88dcc7e315b5b216e42b0524660c"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"89f4aad1ed66ed1141de6d405c80f494b4e5f56d","unresolved":false,"context_lines":[{"line_number":56,"context_line":"        # NOTE(slaweq): According to ovs docs:"},{"line_number":57,"context_line":"        # http://openvswitch.org/support/dist-docs/ovs-vswitchd.conf.db.5.html"},{"line_number":58,"context_line":"        # ovs accepts only integer values of burst:"},{"line_number":59,"context_line":"        max_burst_kbps \u003d int(self._get_egress_burst_value(rule))"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"        self.br_int.create_egress_bw_limit_for_port(vif_port.port_name,"},{"line_number":62,"context_line":"                                                    max_kbps,"}],"source_content_type":"text/x-python","patch_set":6,"id":"dab17558_2354701f","line":59,"in_reply_to":"dab17558_f594e243","updated":"2016-05-10 11:14:21.000000000","message":"but it will also return same value in such case, no? And math.ceil() returns float number but openvswitch require int so conversion would be still necessary","commit_id":"69cbf6ef6eee88dcc7e315b5b216e42b0524660c"}],"neutron/services/qos/qos_consts.py":[{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"03d91668b2bcd490ac95c04ccd4f5ec6bfc916df","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"QOS_POLICY_ID \u003d \u0027qos_policy_id\u0027"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"DEFAULT_BURST_THRESHHOLD \u003d 0.8"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a122d0e_6aa623ac","line":22,"updated":"2016-05-05 12:55:00.000000000","message":"ditto about Threshold (unsure)\nand ditto about the extra H","commit_id":"0ce09b78a458726acd3bd11d4511e97365cdea3e"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"a6e1bd1c16b9d57587fd5f034a4ebe158530ff94","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"QOS_POLICY_ID \u003d \u0027qos_policy_id\u0027"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"DEFAULT_BURST_THRESHHOLD \u003d 0.8"}],"source_content_type":"text/x-python","patch_set":4,"id":"faac7902_3841d13a","line":22,"in_reply_to":"1a122d0e_0db22996","updated":"2016-05-05 21:01:54.000000000","message":"Thx. As I talked on IRC I changed it to percentage","commit_id":"0ce09b78a458726acd3bd11d4511e97365cdea3e"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"a6e1bd1c16b9d57587fd5f034a4ebe158530ff94","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"QOS_POLICY_ID \u003d \u0027qos_policy_id\u0027"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"DEFAULT_BURST_THRESHHOLD \u003d 0.8"}],"source_content_type":"text/x-python","patch_set":4,"id":"faac7902_f81f4959","line":22,"in_reply_to":"1a122d0e_6aa623ac","updated":"2016-05-05 21:01:54.000000000","message":"Changed","commit_id":"0ce09b78a458726acd3bd11d4511e97365cdea3e"},{"author":{"_account_id":9515,"name":"Matthew Kassawara","email":"mkassawara@gmail.com","username":"ionosphere80"},"change_message_id":"3642aebc2084ffbd15ffef1f741d35ea7951b27e","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"QOS_POLICY_ID \u003d \u0027qos_policy_id\u0027"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"DEFAULT_BURST_THRESHHOLD \u003d 0.8"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a122d0e_0db22996","line":22,"in_reply_to":"1a122d0e_6aa623ac","updated":"2016-05-05 13:19:08.000000000","message":"I suggest \"multiplier\" here, but \"percentage\" was also discussed, although the value doesn\u0027t quite represent a percentage.","commit_id":"0ce09b78a458726acd3bd11d4511e97365cdea3e"},{"author":{"_account_id":7715,"name":"Hirofumi Ichihara","email":"ichihara.hirofumi@gmail.com","username":"Hirofumi-Ichihara"},"change_message_id":"50e6d6f3034300c3c580875176e996c65ae08401","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"QOS_POLICY_ID \u003d \u0027qos_policy_id\u0027"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"DEFAULT_BURST_PERCENTAGE \u003d 80"}],"source_content_type":"text/x-python","patch_set":5,"id":"dab17558_1209d3dd","line":22,"range":{"start_line":22,"start_character":0,"end_line":22,"end_character":29},"updated":"2016-05-10 01:29:49.000000000","message":"I was confused what does \"PERCENTAGE\" and \"80\" point. And also this happens wrong calculation like 80/100 on other place. Do you have any reasons using the value? I think that it\u0027s better to use \"DEFAULT_BURST_RATE \u003d 0.8\".","commit_id":"5a93aa259710500d95f6221b00d4378ea91613bc"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"b6cdcf5ef5d07c9f5d9892e325447981ee6bced9","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"QOS_POLICY_ID \u003d \u0027qos_policy_id\u0027"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"DEFAULT_BURST_PERCENTAGE \u003d 80"}],"source_content_type":"text/x-python","patch_set":5,"id":"dab17558_f99862c2","line":22,"range":{"start_line":22,"start_character":0,"end_line":22,"end_character":29},"in_reply_to":"dab17558_1209d3dd","updated":"2016-05-10 08:55:31.000000000","message":"There was some discussion on IRC about that. But IMO You\u0027re right and DEFAULT_BURST_RATE would be better. I changed it.","commit_id":"5a93aa259710500d95f6221b00d4378ea91613bc"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"e150eaf3bdd42484adb0787561c77d9cf61b22b2","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"QOS_POLICY_ID \u003d \u0027qos_policy_id\u0027"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"# NOTE(slaweq): Value used to calculate burst value for egress bandidth limit"},{"line_number":23,"context_line":"# if burst is not given by user. In such case burst value will be calculated"},{"line_number":24,"context_line":"# as 80% of bw_limit to ensure that at least limits for TCP traffic will work"},{"line_number":25,"context_line":"# fine."}],"source_content_type":"text/x-python","patch_set":10,"id":"dab17558_94852a5b","line":22,"updated":"2016-05-12 07:19:02.000000000","message":"typo: bandwidth-limit","commit_id":"a1033d065e0e7311b6d62b6a07839772f8539a94"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"5f3ada761876707ac6bc4c5447e12466b118c3a6","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"QOS_POLICY_ID \u003d \u0027qos_policy_id\u0027"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"# NOTE(slaweq): Value used to calculate burst value for egress bandidth limit"},{"line_number":23,"context_line":"# if burst is not given by user. In such case burst value will be calculated"},{"line_number":24,"context_line":"# as 80% of bw_limit to ensure that at least limits for TCP traffic will work"},{"line_number":25,"context_line":"# fine."}],"source_content_type":"text/x-python","patch_set":10,"id":"dab17558_53ae2fe8","line":22,"in_reply_to":"dab17558_94852a5b","updated":"2016-05-12 10:07:36.000000000","message":"Done","commit_id":"a1033d065e0e7311b6d62b6a07839772f8539a94"}],"neutron/tests/unit/agent/l2/extensions/test_qos.py":[{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"1a3c1bc678cfc6cfe4367b622e339d9c5544fcba","unresolved":false,"context_lines":[{"line_number":124,"context_line":"        self.driver.create(self.port, self.policy)"},{"line_number":125,"context_line":"        self.assertTrue(self.driver.create_bandwidth_limit.called)"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"    def test__get_max_burst_value(self):"},{"line_number":128,"context_line":"        rule \u003d self.rule"},{"line_number":129,"context_line":"        rule.max_burst_kbps \u003d 0"},{"line_number":130,"context_line":"        expected_burst \u003d float(rule.max_kbps) * 0.8"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a122d0e_945d3018","line":127,"updated":"2016-05-02 04:27:02.000000000","message":"IMO, API test will also be better for verifying this change.\nhttps://github.com/openstack/neutron/blob/master/neutron/tests/tempest/api/test_qos.py","commit_id":"9b1aadfa8e83161db1aa39b9ccece0af1d47e7e1"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"dd8fe93d50b7e2c8402e370e32f583632b6a7f44","unresolved":false,"context_lines":[{"line_number":124,"context_line":"        self.driver.create(self.port, self.policy)"},{"line_number":125,"context_line":"        self.assertTrue(self.driver.create_bandwidth_limit.called)"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"    def test__get_max_burst_value(self):"},{"line_number":128,"context_line":"        rule \u003d self.rule"},{"line_number":129,"context_line":"        rule.max_burst_kbps \u003d 0"},{"line_number":130,"context_line":"        expected_burst \u003d float(rule.max_kbps) * 0.8"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a122d0e_068f28cd","line":127,"in_reply_to":"1a122d0e_945d3018","updated":"2016-05-02 22:04:20.000000000","message":"API test it not necessary here because this \"change\" is not on API level. If user will set burst to 0 it will be like that in API visible. Only change is that agent on hypervisor will set different value (0.8 * bw_limit) in such case.\nI changed littlebit fullstack test to test this also. I hope it\u0027s better like that :)","commit_id":"9b1aadfa8e83161db1aa39b9ccece0af1d47e7e1"}],"releasenotes/notes/set-of-default-qos-burst-value-0790773703fa08fc.yaml":[{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"1a3c1bc678cfc6cfe4367b622e339d9c5544fcba","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"prelude: \u003e"},{"line_number":3,"context_line":"    QoS driver for Open vSwitch and Linuxbridge agents"},{"line_number":4,"context_line":"    set burst value as 80% of given bandwidth limit if"},{"line_number":5,"context_line":"    burst is not given by user."},{"line_number":6,"context_line":"fixes:"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"1a122d0e_34a37c02","line":3,"updated":"2016-05-02 04:27:02.000000000","message":"How about other driver\u0027s? (Ex: SR-IOV or vendor specific implementation)","commit_id":"9b1aadfa8e83161db1aa39b9ccece0af1d47e7e1"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"dd8fe93d50b7e2c8402e370e32f583632b6a7f44","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"prelude: \u003e"},{"line_number":3,"context_line":"    QoS driver for Open vSwitch and Linuxbridge agents"},{"line_number":4,"context_line":"    set burst value as 80% of given bandwidth limit if"},{"line_number":5,"context_line":"    burst is not given by user."},{"line_number":6,"context_line":"fixes:"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"1a122d0e_06a60853","line":3,"in_reply_to":"1a122d0e_34a37c02","updated":"2016-05-02 22:04:20.000000000","message":"SR-IOV doesn\u0027t support burst value at all. It is just ignored by this driver.\nI don\u0027t know about any vendor specifiv driver and in fact it can be made there in different way. This 80% of bw_limit is not \"general\" rule. It is something what can provide quite working limit but someone else can do it in own way :)","commit_id":"9b1aadfa8e83161db1aa39b9ccece0af1d47e7e1"},{"author":{"_account_id":9515,"name":"Matthew Kassawara","email":"mkassawara@gmail.com","username":"ionosphere80"},"change_message_id":"70a3eceffcd61e83245fa3049dcd75758f512acf","unresolved":false,"context_lines":[{"line_number":2,"context_line":"prelude: \u003e"},{"line_number":3,"context_line":"    QoS driver for Open vSwitch and Linuxbridge agents"},{"line_number":4,"context_line":"    set burst value as 80% of given bandwidth limit if"},{"line_number":5,"context_line":"    burst is not given by user."},{"line_number":6,"context_line":"fixes:"},{"line_number":7,"context_line":"  - Fixes bug 1572670"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"dab17558_07684fb8","line":5,"updated":"2016-05-10 13:39:48.000000000","message":"Suggestion, taking wording from the code...\n\nBy default, the QoS driver for the Open vSwitch and Linux bridge agents calculates the burst rate as 80% of the available bandwidth.","commit_id":"69cbf6ef6eee88dcc7e315b5b216e42b0524660c"}]}
