)]}'
{"neutron/agent/common/ovs_lib.py":[{"author":{"_account_id":17120,"name":"Manjeet Singh Bhatia","email":"manjeet.s.bhatia@intel.com","username":"manjeets"},"change_message_id":"e8b216bd36b245015c1bdde321eb67f4c6757bf0","unresolved":false,"context_lines":[{"line_number":448,"context_line":"                extra_param.append(\u0027--bundle\u0027)"},{"line_number":449,"context_line":""},{"line_number":450,"context_line":"            step \u003d common_constants.AGENT_RES_PROCESSING_STEP"},{"line_number":451,"context_line":"            for i in range(0, len(flow_strs), step):"},{"line_number":452,"context_line":"                self.run_ofctl(\u0027%s-flows\u0027 % action, extra_param + [\u0027-\u0027],"},{"line_number":453,"context_line":"                               \u0027\\n\u0027.join(flow_strs[i:i + step]))"},{"line_number":454,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9fdfeff1_3c7e38e4","line":451,"range":{"start_line":451,"start_character":46,"end_line":451,"end_character":50},"updated":"2019-02-25 18:35:00.000000000","message":"how did you chose the magic number to be 100 ? just curious ?","commit_id":"55e329b38f8b7d57d99604fb120b65b068896b72"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"a6cadbd5b9621416dbecae26d011935c9a8fc1ba","unresolved":false,"context_lines":[{"line_number":448,"context_line":"                extra_param.append(\u0027--bundle\u0027)"},{"line_number":449,"context_line":""},{"line_number":450,"context_line":"            step \u003d common_constants.AGENT_RES_PROCESSING_STEP"},{"line_number":451,"context_line":"            for i in range(0, len(flow_strs), step):"},{"line_number":452,"context_line":"                self.run_ofctl(\u0027%s-flows\u0027 % action, extra_param + [\u0027-\u0027],"},{"line_number":453,"context_line":"                               \u0027\\n\u0027.join(flow_strs[i:i + step]))"},{"line_number":454,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9fdfeff1_ebad3f84","line":451,"range":{"start_line":451,"start_character":46,"end_line":451,"end_character":50},"in_reply_to":"9fdfeff1_3c7e38e4","updated":"2019-02-26 11:29:25.000000000","message":"No special conditions, just a human countable or scalable number.\n\nSetup the test environment by using such way:\nhttp://paste.openstack.org/show/745685/\nthe ovs-agent will have 600,000+ flow rules for bridge br-int.\nI have tested some large sets, such as 1000, 500, 200, 100, all could work. But for 100, ovs-agent will have a lower timeout probability. And according to my testing result, 100 can indeed cost about 10% much more time than 500/1000 for this step. But such extra time looks inevitably need be sacrificed for the restart success rate.\n\nI\u0027m also glad to see more developers to test these to find a more proper value for this.","commit_id":"55e329b38f8b7d57d99604fb120b65b068896b72"},{"author":{"_account_id":13995,"name":"Nate Johnston","email":"nate.johnston@redhat.com","username":"natejohnston"},"change_message_id":"64bc5d6e2265a33ed1291ae172b6d38aba9ba252","unresolved":false,"context_lines":[{"line_number":446,"context_line":"        else:"},{"line_number":447,"context_line":"            flow_strs \u003d [_build_flow_expr_str(kw, action, strict)"},{"line_number":448,"context_line":"                         for kw in kwargs_list]"},{"line_number":449,"context_line":"            LOG.info(\"flow_strs length: %s\", len(flow_strs))"},{"line_number":450,"context_line":"            if use_bundle:"},{"line_number":451,"context_line":"                extra_param.append(\u0027--bundle\u0027)"},{"line_number":452,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"5fc1f717_e023d1a5","line":449,"updated":"2019-03-15 21:54:48.000000000","message":"Is this a message for your debugging?  If I was an operator I would find this inscrutable.","commit_id":"b825394d230bc5bad3dedf6e536f63fceb703124"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"836696049bf0f8ec5aaac6fdb36114990fc7774f","unresolved":false,"context_lines":[{"line_number":446,"context_line":"        else:"},{"line_number":447,"context_line":"            flow_strs \u003d [_build_flow_expr_str(kw, action, strict)"},{"line_number":448,"context_line":"                         for kw in kwargs_list]"},{"line_number":449,"context_line":"            LOG.info(\"flow_strs length: %s\", len(flow_strs))"},{"line_number":450,"context_line":"            if use_bundle:"},{"line_number":451,"context_line":"                extra_param.append(\u0027--bundle\u0027)"},{"line_number":452,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"5fc1f717_657a93ba","line":449,"range":{"start_line":449,"start_character":21,"end_line":449,"end_character":59},"updated":"2019-03-15 21:55:24.000000000","message":"Nit: This should probably be flagged for localization. I would prefer to be a little more operator-friendly. Maybe something along these lines:\n\nLOG.info(_(\"Processing %s OpenFlow rules.\", len(flow_strs)))","commit_id":"b825394d230bc5bad3dedf6e536f63fceb703124"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"6e9f7107220504a0553ba48c5b89a05832f10683","unresolved":false,"context_lines":[{"line_number":446,"context_line":"        else:"},{"line_number":447,"context_line":"            flow_strs \u003d [_build_flow_expr_str(kw, action, strict)"},{"line_number":448,"context_line":"                         for kw in kwargs_list]"},{"line_number":449,"context_line":"            LOG.info(\"flow_strs length: %s\", len(flow_strs))"},{"line_number":450,"context_line":"            if use_bundle:"},{"line_number":451,"context_line":"                extra_param.append(\u0027--bundle\u0027)"},{"line_number":452,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"5fc1f717_1faf3c7d","line":449,"range":{"start_line":449,"start_character":21,"end_line":449,"end_character":59},"in_reply_to":"5fc1f717_3fd33306","updated":"2019-03-29 09:19:03.000000000","message":"We (as OpenStack community) decided not to support translations in log messages several releases ago.","commit_id":"b825394d230bc5bad3dedf6e536f63fceb703124"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"44b201326840f7673d71f7b79a81d14b04730676","unresolved":false,"context_lines":[{"line_number":446,"context_line":"        else:"},{"line_number":447,"context_line":"            flow_strs \u003d [_build_flow_expr_str(kw, action, strict)"},{"line_number":448,"context_line":"                         for kw in kwargs_list]"},{"line_number":449,"context_line":"            LOG.info(\"flow_strs length: %s\", len(flow_strs))"},{"line_number":450,"context_line":"            if use_bundle:"},{"line_number":451,"context_line":"                extra_param.append(\u0027--bundle\u0027)"},{"line_number":452,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"5fc1f717_d6b3ffe7","line":449,"range":{"start_line":449,"start_character":21,"end_line":449,"end_character":59},"in_reply_to":"5fc1f717_657a93ba","updated":"2019-03-17 04:15:46.000000000","message":"Done","commit_id":"b825394d230bc5bad3dedf6e536f63fceb703124"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"470e8b1cf06ba661329a4dc45f3224ff0a96c46c","unresolved":false,"context_lines":[{"line_number":446,"context_line":"        else:"},{"line_number":447,"context_line":"            flow_strs \u003d [_build_flow_expr_str(kw, action, strict)"},{"line_number":448,"context_line":"                         for kw in kwargs_list]"},{"line_number":449,"context_line":"            LOG.info(\"flow_strs length: %s\", len(flow_strs))"},{"line_number":450,"context_line":"            if use_bundle:"},{"line_number":451,"context_line":"                extra_param.append(\u0027--bundle\u0027)"},{"line_number":452,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"5fc1f717_3fd33306","line":449,"range":{"start_line":449,"start_character":21,"end_line":449,"end_character":59},"in_reply_to":"5fc1f717_d6b3ffe7","updated":"2019-03-17 04:21:45.000000000","message":"Pep does not happy with log translation.","commit_id":"b825394d230bc5bad3dedf6e536f63fceb703124"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"6bbbfe17493e4dacde6481c57e7ff04b15376452","unresolved":false,"context_lines":[{"line_number":447,"context_line":"        else:"},{"line_number":448,"context_line":"            flow_strs \u003d [_build_flow_expr_str(kw, action, strict)"},{"line_number":449,"context_line":"                         for kw in kwargs_list]"},{"line_number":450,"context_line":"            LOG.info(\"Processing %d OpenFlow rules.\", len(flow_strs))"},{"line_number":451,"context_line":"            if use_bundle:"},{"line_number":452,"context_line":"                extra_param.append(\u0027--bundle\u0027)"},{"line_number":453,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"5fc1f717_72f58956","line":450,"updated":"2019-03-27 10:19:59.000000000","message":"do this need to be INFO also? Why not debug?","commit_id":"a40804f497634fe3e7d2cb423ff2975286d36db3"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"9575c9f43201fd5dece636a6b6ca3496c5fb61d8","unresolved":false,"context_lines":[{"line_number":447,"context_line":"        else:"},{"line_number":448,"context_line":"            flow_strs \u003d [_build_flow_expr_str(kw, action, strict)"},{"line_number":449,"context_line":"                         for kw in kwargs_list]"},{"line_number":450,"context_line":"            LOG.info(\"Processing %d OpenFlow rules.\", len(flow_strs))"},{"line_number":451,"context_line":"            if use_bundle:"},{"line_number":452,"context_line":"                extra_param.append(\u0027--bundle\u0027)"},{"line_number":453,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"5fc1f717_8ccc9189","line":450,"in_reply_to":"5fc1f717_4943fb3f","updated":"2019-03-27 14:44:09.000000000","message":"Done","commit_id":"a40804f497634fe3e7d2cb423ff2975286d36db3"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"78a0622db45637b0752004924efa182ae168b67a","unresolved":false,"context_lines":[{"line_number":447,"context_line":"        else:"},{"line_number":448,"context_line":"            flow_strs \u003d [_build_flow_expr_str(kw, action, strict)"},{"line_number":449,"context_line":"                         for kw in kwargs_list]"},{"line_number":450,"context_line":"            LOG.info(\"Processing %d OpenFlow rules.\", len(flow_strs))"},{"line_number":451,"context_line":"            if use_bundle:"},{"line_number":452,"context_line":"                extra_param.append(\u0027--bundle\u0027)"},{"line_number":453,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"5fc1f717_4943fb3f","line":450,"in_reply_to":"5fc1f717_72f58956","updated":"2019-03-27 14:16:21.000000000","message":"Hmm, this can be huge number of log entries when there are tons of security group rules, I will set this to debug.","commit_id":"a40804f497634fe3e7d2cb423ff2975286d36db3"},{"author":{"_account_id":6593,"name":"Dirk Mueller","email":"dirk@dmllr.de","username":"dmllr"},"change_message_id":"1ada3c1806eaeb94042362912d699cfb531d9e55","unresolved":false,"context_lines":[{"line_number":452,"context_line":"                extra_param.append(\u0027--bundle\u0027)"},{"line_number":453,"context_line":""},{"line_number":454,"context_line":"            step \u003d common_constants.AGENT_RES_PROCESSING_STEP"},{"line_number":455,"context_line":"            for i in range(0, len(flow_strs), step):"},{"line_number":456,"context_line":"                self.run_ofctl(\u0027%s-flows\u0027 % action, extra_param + [\u0027-\u0027],"},{"line_number":457,"context_line":"                               \u0027\\n\u0027.join(flow_strs[i:i + step]))"},{"line_number":458,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"5fc1f717_02c7fc65","line":455,"updated":"2019-03-28 08:13:19.000000000","message":"is this six.range() so that it maps to xrange for python 2.x?","commit_id":"15cd40f3e0af0c1b0bc61a6d58dcabe86108e653"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"6e9f7107220504a0553ba48c5b89a05832f10683","unresolved":false,"context_lines":[{"line_number":452,"context_line":"                extra_param.append(\u0027--bundle\u0027)"},{"line_number":453,"context_line":""},{"line_number":454,"context_line":"            step \u003d common_constants.AGENT_RES_PROCESSING_STEP"},{"line_number":455,"context_line":"            for i in range(0, len(flow_strs), step):"},{"line_number":456,"context_line":"                self.run_ofctl(\u0027%s-flows\u0027 % action, extra_param + [\u0027-\u0027],"},{"line_number":457,"context_line":"                               \u0027\\n\u0027.join(flow_strs[i:i + step]))"},{"line_number":458,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"5fc1f717_3f0f98e0","line":455,"in_reply_to":"5fc1f717_02c7fc65","updated":"2019-03-29 09:19:03.000000000","message":"From our past discussion, the cost of range in python2 is not high, so I think range() is okay. Unfortunately I cannot find a good source on the information.","commit_id":"15cd40f3e0af0c1b0bc61a6d58dcabe86108e653"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"ebfa078b90fecc9148ed758bfc158d61dfe059b8","unresolved":false,"context_lines":[{"line_number":452,"context_line":"                extra_param.append(\u0027--bundle\u0027)"},{"line_number":453,"context_line":""},{"line_number":454,"context_line":"            step \u003d common_constants.AGENT_RES_PROCESSING_STEP"},{"line_number":455,"context_line":"            for i in range(0, len(flow_strs), step):"},{"line_number":456,"context_line":"                self.run_ofctl(\u0027%s-flows\u0027 % action, extra_param + [\u0027-\u0027],"},{"line_number":457,"context_line":"                               \u0027\\n\u0027.join(flow_strs[i:i + step]))"},{"line_number":458,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"5fc1f717_b3bf40a9","line":455,"in_reply_to":"5fc1f717_3f0f98e0","updated":"2019-03-29 14:00:40.000000000","message":"Maybe you mean the comments here:\nhttps://review.openstack.org/#/c/638646/12/neutron/common/constants.py@284","commit_id":"15cd40f3e0af0c1b0bc61a6d58dcabe86108e653"}],"neutron/agent/securitygroups_rpc.py":[{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"836696049bf0f8ec5aaac6fdb36114990fc7774f","unresolved":false,"context_lines":[{"line_number":149,"context_line":""},{"line_number":150,"context_line":"        with self.firewall.defer_apply():"},{"line_number":151,"context_line":"            if self.use_enhanced_rpc:"},{"line_number":152,"context_line":"                LOG.info(\"Update security group information for ports %s\","},{"line_number":153,"context_line":"                         devices.keys())"},{"line_number":154,"context_line":"                self._update_security_group_info("},{"line_number":155,"context_line":"                    security_groups, security_group_member_ips)"},{"line_number":156,"context_line":"            for device in devices.values():"}],"source_content_type":"text/x-python","patch_set":6,"id":"5fc1f717_c544a776","line":153,"range":{"start_line":152,"start_character":16,"end_line":153,"end_character":40},"updated":"2019-03-15 21:55:24.000000000","message":"We should probably ensure these strings are localized. Not as much of an issue with debug messages, but definitely more important with info messages.","commit_id":"b825394d230bc5bad3dedf6e536f63fceb703124"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"44b201326840f7673d71f7b79a81d14b04730676","unresolved":false,"context_lines":[{"line_number":149,"context_line":""},{"line_number":150,"context_line":"        with self.firewall.defer_apply():"},{"line_number":151,"context_line":"            if self.use_enhanced_rpc:"},{"line_number":152,"context_line":"                LOG.info(\"Update security group information for ports %s\","},{"line_number":153,"context_line":"                         devices.keys())"},{"line_number":154,"context_line":"                self._update_security_group_info("},{"line_number":155,"context_line":"                    security_groups, security_group_member_ips)"},{"line_number":156,"context_line":"            for device in devices.values():"}],"source_content_type":"text/x-python","patch_set":6,"id":"5fc1f717_36d92321","line":153,"range":{"start_line":152,"start_character":16,"end_line":153,"end_character":40},"in_reply_to":"5fc1f717_c544a776","updated":"2019-03-17 04:15:46.000000000","message":"Done","commit_id":"b825394d230bc5bad3dedf6e536f63fceb703124"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"836696049bf0f8ec5aaac6fdb36114990fc7774f","unresolved":false,"context_lines":[{"line_number":155,"context_line":"                    security_groups, security_group_member_ips)"},{"line_number":156,"context_line":"            for device in devices.values():"},{"line_number":157,"context_line":"                if update_filter:"},{"line_number":158,"context_line":"                    LOG.info(\"Update port filter for %s\", device[\u0027device\u0027])"},{"line_number":159,"context_line":"                    self.firewall.update_port_filter(device)"},{"line_number":160,"context_line":"                else:"},{"line_number":161,"context_line":"                    LOG.info(\"Prepare port filter for %s\", device[\u0027device\u0027])"}],"source_content_type":"text/x-python","patch_set":6,"id":"5fc1f717_e5476376","line":158,"range":{"start_line":158,"start_character":20,"end_line":158,"end_character":75},"updated":"2019-03-15 21:55:24.000000000","message":"Ditto","commit_id":"b825394d230bc5bad3dedf6e536f63fceb703124"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"44b201326840f7673d71f7b79a81d14b04730676","unresolved":false,"context_lines":[{"line_number":155,"context_line":"                    security_groups, security_group_member_ips)"},{"line_number":156,"context_line":"            for device in devices.values():"},{"line_number":157,"context_line":"                if update_filter:"},{"line_number":158,"context_line":"                    LOG.info(\"Update port filter for %s\", device[\u0027device\u0027])"},{"line_number":159,"context_line":"                    self.firewall.update_port_filter(device)"},{"line_number":160,"context_line":"                else:"},{"line_number":161,"context_line":"                    LOG.info(\"Prepare port filter for %s\", device[\u0027device\u0027])"}],"source_content_type":"text/x-python","patch_set":6,"id":"5fc1f717_96ced757","line":158,"range":{"start_line":158,"start_character":20,"end_line":158,"end_character":75},"in_reply_to":"5fc1f717_e5476376","updated":"2019-03-17 04:15:46.000000000","message":"Done","commit_id":"b825394d230bc5bad3dedf6e536f63fceb703124"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"836696049bf0f8ec5aaac6fdb36114990fc7774f","unresolved":false,"context_lines":[{"line_number":158,"context_line":"                    LOG.info(\"Update port filter for %s\", device[\u0027device\u0027])"},{"line_number":159,"context_line":"                    self.firewall.update_port_filter(device)"},{"line_number":160,"context_line":"                else:"},{"line_number":161,"context_line":"                    LOG.info(\"Prepare port filter for %s\", device[\u0027device\u0027])"},{"line_number":162,"context_line":"                    self.firewall.prepare_port_filter(device)"},{"line_number":163,"context_line":"            self.firewall.process_trusted_ports(trusted_devices)"},{"line_number":164,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"5fc1f717_85621f09","line":161,"range":{"start_line":161,"start_character":20,"end_line":161,"end_character":76},"updated":"2019-03-15 21:55:24.000000000","message":"Ditto","commit_id":"b825394d230bc5bad3dedf6e536f63fceb703124"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"44b201326840f7673d71f7b79a81d14b04730676","unresolved":false,"context_lines":[{"line_number":158,"context_line":"                    LOG.info(\"Update port filter for %s\", device[\u0027device\u0027])"},{"line_number":159,"context_line":"                    self.firewall.update_port_filter(device)"},{"line_number":160,"context_line":"                else:"},{"line_number":161,"context_line":"                    LOG.info(\"Prepare port filter for %s\", device[\u0027device\u0027])"},{"line_number":162,"context_line":"                    self.firewall.prepare_port_filter(device)"},{"line_number":163,"context_line":"            self.firewall.process_trusted_ports(trusted_devices)"},{"line_number":164,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"5fc1f717_76d32b05","line":161,"range":{"start_line":161,"start_character":20,"end_line":161,"end_character":76},"in_reply_to":"5fc1f717_85621f09","updated":"2019-03-17 04:15:46.000000000","message":"Done","commit_id":"b825394d230bc5bad3dedf6e536f63fceb703124"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"836696049bf0f8ec5aaac6fdb36114990fc7774f","unresolved":false,"context_lines":[{"line_number":251,"context_line":"        # could arrive while we\u0027re processing, and we need to make"},{"line_number":252,"context_line":"        # sure we don\u0027t skip it.  It will get handled the next time."},{"line_number":253,"context_line":"        if new_devices:"},{"line_number":254,"context_line":"            LOG.info(\"Preparing device filters for %d new devices\","},{"line_number":255,"context_line":"                     len(new_devices))"},{"line_number":256,"context_line":"            self.prepare_devices_filter(new_devices)"},{"line_number":257,"context_line":"        # TODO(salv-orlando): Avoid if possible ever performing the global"},{"line_number":258,"context_line":"        # refresh providing a precise list of devices for which firewall"}],"source_content_type":"text/x-python","patch_set":6,"id":"5fc1f717_80152d42","line":255,"range":{"start_line":254,"start_character":12,"end_line":255,"end_character":38},"updated":"2019-03-15 21:55:24.000000000","message":"Ditto","commit_id":"b825394d230bc5bad3dedf6e536f63fceb703124"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"44b201326840f7673d71f7b79a81d14b04730676","unresolved":false,"context_lines":[{"line_number":251,"context_line":"        # could arrive while we\u0027re processing, and we need to make"},{"line_number":252,"context_line":"        # sure we don\u0027t skip it.  It will get handled the next time."},{"line_number":253,"context_line":"        if new_devices:"},{"line_number":254,"context_line":"            LOG.info(\"Preparing device filters for %d new devices\","},{"line_number":255,"context_line":"                     len(new_devices))"},{"line_number":256,"context_line":"            self.prepare_devices_filter(new_devices)"},{"line_number":257,"context_line":"        # TODO(salv-orlando): Avoid if possible ever performing the global"},{"line_number":258,"context_line":"        # refresh providing a precise list of devices for which firewall"}],"source_content_type":"text/x-python","patch_set":6,"id":"5fc1f717_d6e8dfb3","line":255,"range":{"start_line":254,"start_character":12,"end_line":255,"end_character":38},"in_reply_to":"5fc1f717_80152d42","updated":"2019-03-17 04:15:46.000000000","message":"Done","commit_id":"b825394d230bc5bad3dedf6e536f63fceb703124"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"836696049bf0f8ec5aaac6fdb36114990fc7774f","unresolved":false,"context_lines":[{"line_number":258,"context_line":"        # refresh providing a precise list of devices for which firewall"},{"line_number":259,"context_line":"        # should be refreshed"},{"line_number":260,"context_line":"        if global_refresh_firewall:"},{"line_number":261,"context_line":"            LOG.info(\"Refreshing firewall for all filtered devices\")"},{"line_number":262,"context_line":"            self.refresh_firewall()"},{"line_number":263,"context_line":"        else:"},{"line_number":264,"context_line":"            if self.use_enhanced_rpc and updated_devices:"}],"source_content_type":"text/x-python","patch_set":6,"id":"5fc1f717_a010694f","line":261,"range":{"start_line":261,"start_character":12,"end_line":261,"end_character":68},"updated":"2019-03-15 21:55:24.000000000","message":"Ditto","commit_id":"b825394d230bc5bad3dedf6e536f63fceb703124"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"44b201326840f7673d71f7b79a81d14b04730676","unresolved":false,"context_lines":[{"line_number":258,"context_line":"        # refresh providing a precise list of devices for which firewall"},{"line_number":259,"context_line":"        # should be refreshed"},{"line_number":260,"context_line":"        if global_refresh_firewall:"},{"line_number":261,"context_line":"            LOG.info(\"Refreshing firewall for all filtered devices\")"},{"line_number":262,"context_line":"            self.refresh_firewall()"},{"line_number":263,"context_line":"        else:"},{"line_number":264,"context_line":"            if self.use_enhanced_rpc and updated_devices:"}],"source_content_type":"text/x-python","patch_set":6,"id":"5fc1f717_b6e513de","line":261,"range":{"start_line":261,"start_character":12,"end_line":261,"end_character":68},"in_reply_to":"5fc1f717_a010694f","updated":"2019-03-17 04:15:46.000000000","message":"Done","commit_id":"b825394d230bc5bad3dedf6e536f63fceb703124"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"836696049bf0f8ec5aaac6fdb36114990fc7774f","unresolved":false,"context_lines":[{"line_number":269,"context_line":"            updated_devices \u003d ((updated_devices | devices_to_refilter) -"},{"line_number":270,"context_line":"                               new_devices)"},{"line_number":271,"context_line":"            if updated_devices:"},{"line_number":272,"context_line":"                LOG.info(\"Refreshing firewall for %d devices\","},{"line_number":273,"context_line":"                         len(updated_devices))"},{"line_number":274,"context_line":"                self.refresh_firewall(updated_devices)"}],"source_content_type":"text/x-python","patch_set":6,"id":"5fc1f717_401bc571","line":273,"range":{"start_line":272,"start_character":16,"end_line":273,"end_character":46},"updated":"2019-03-15 21:55:24.000000000","message":"Ditto","commit_id":"b825394d230bc5bad3dedf6e536f63fceb703124"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"44b201326840f7673d71f7b79a81d14b04730676","unresolved":false,"context_lines":[{"line_number":269,"context_line":"            updated_devices \u003d ((updated_devices | devices_to_refilter) -"},{"line_number":270,"context_line":"                               new_devices)"},{"line_number":271,"context_line":"            if updated_devices:"},{"line_number":272,"context_line":"                LOG.info(\"Refreshing firewall for %d devices\","},{"line_number":273,"context_line":"                         len(updated_devices))"},{"line_number":274,"context_line":"                self.refresh_firewall(updated_devices)"}],"source_content_type":"text/x-python","patch_set":6,"id":"5fc1f717_16e3c7da","line":273,"range":{"start_line":272,"start_character":16,"end_line":273,"end_character":46},"in_reply_to":"5fc1f717_401bc571","updated":"2019-03-17 04:15:46.000000000","message":"Done","commit_id":"b825394d230bc5bad3dedf6e536f63fceb703124"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"c576f8cc30fd1a532a7badca2377f14d23b4fdf7","unresolved":false,"context_lines":[{"line_number":138,"context_line":"            devices \u003d {}"},{"line_number":139,"context_line":"            security_groups \u003d {}"},{"line_number":140,"context_line":"            security_group_member_ips \u003d {}"},{"line_number":141,"context_line":"            for i in range(0, len(device_ids), step):"},{"line_number":142,"context_line":"                devices_info \u003d self.plugin_rpc.security_group_info_for_devices("},{"line_number":143,"context_line":"                    self.context, list(device_ids)[i:i + step])"},{"line_number":144,"context_line":"                devices.update(devices_info[\u0027devices\u0027])"}],"source_content_type":"text/x-python","patch_set":12,"id":"5fc1f717_8a2b4c93","line":141,"updated":"2019-03-25 14:50:07.000000000","message":"Maybe, like in https://review.openstack.org/#/c/638646/14/neutron/agent/rpc.py, what you can modify is the function itself.","commit_id":"a40804f497634fe3e7d2cb423ff2975286d36db3"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"b34f3dba3278156c5e92ab240f681bde21597d18","unresolved":false,"context_lines":[{"line_number":138,"context_line":"            devices \u003d {}"},{"line_number":139,"context_line":"            security_groups \u003d {}"},{"line_number":140,"context_line":"            security_group_member_ips \u003d {}"},{"line_number":141,"context_line":"            for i in range(0, len(device_ids), step):"},{"line_number":142,"context_line":"                devices_info \u003d self.plugin_rpc.security_group_info_for_devices("},{"line_number":143,"context_line":"                    self.context, list(device_ids)[i:i + step])"},{"line_number":144,"context_line":"                devices.update(devices_info[\u0027devices\u0027])"}],"source_content_type":"text/x-python","patch_set":12,"id":"5fc1f717_e3d7844a","line":141,"in_reply_to":"5fc1f717_8a2b4c93","updated":"2019-03-26 13:29:51.000000000","message":"Maybe a follow-up patch, current security_group related RPC call stack is a little complicated.  Let\u0027s make it simple for now.","commit_id":"a40804f497634fe3e7d2cb423ff2975286d36db3"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"6bbbfe17493e4dacde6481c57e7ff04b15376452","unresolved":false,"context_lines":[{"line_number":151,"context_line":""},{"line_number":152,"context_line":"        with self.firewall.defer_apply():"},{"line_number":153,"context_line":"            if self.use_enhanced_rpc:"},{"line_number":154,"context_line":"                LOG.info(\"Update security group information for ports %s\","},{"line_number":155,"context_line":"                         devices.keys())"},{"line_number":156,"context_line":"                self._update_security_group_info("},{"line_number":157,"context_line":"                    security_groups, security_group_member_ips)"},{"line_number":158,"context_line":"            for device in devices.values():"},{"line_number":159,"context_line":"                if update_filter:"},{"line_number":160,"context_line":"                    LOG.info(\"Update port filter for %s\", device[\u0027device\u0027])"},{"line_number":161,"context_line":"                    self.firewall.update_port_filter(device)"},{"line_number":162,"context_line":"                else:"},{"line_number":163,"context_line":"                    LOG.info(\"Prepare port filter for %s\", device[\u0027device\u0027])"},{"line_number":164,"context_line":"                    self.firewall.prepare_port_filter(device)"},{"line_number":165,"context_line":"            self.firewall.process_trusted_ports(trusted_devices)"},{"line_number":166,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"5fc1f717_d2b31d97","line":163,"range":{"start_line":154,"start_character":1,"end_line":163,"end_character":76},"updated":"2019-03-27 10:19:59.000000000","message":"do we really need all those logs to be changed to INFO? If we will log too many things in INFO log it will be in practice useless.\nAnd same comment can be applied to all other changes in this patch","commit_id":"a40804f497634fe3e7d2cb423ff2975286d36db3"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"9575c9f43201fd5dece636a6b6ca3496c5fb61d8","unresolved":false,"context_lines":[{"line_number":151,"context_line":""},{"line_number":152,"context_line":"        with self.firewall.defer_apply():"},{"line_number":153,"context_line":"            if self.use_enhanced_rpc:"},{"line_number":154,"context_line":"                LOG.info(\"Update security group information for ports %s\","},{"line_number":155,"context_line":"                         devices.keys())"},{"line_number":156,"context_line":"                self._update_security_group_info("},{"line_number":157,"context_line":"                    security_groups, security_group_member_ips)"},{"line_number":158,"context_line":"            for device in devices.values():"},{"line_number":159,"context_line":"                if update_filter:"},{"line_number":160,"context_line":"                    LOG.info(\"Update port filter for %s\", device[\u0027device\u0027])"},{"line_number":161,"context_line":"                    self.firewall.update_port_filter(device)"},{"line_number":162,"context_line":"                else:"},{"line_number":163,"context_line":"                    LOG.info(\"Prepare port filter for %s\", device[\u0027device\u0027])"},{"line_number":164,"context_line":"                    self.firewall.prepare_port_filter(device)"},{"line_number":165,"context_line":"            self.firewall.process_trusted_ports(trusted_devices)"},{"line_number":166,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"5fc1f717_2cc79d66","line":163,"range":{"start_line":154,"start_character":1,"end_line":163,"end_character":76},"in_reply_to":"5fc1f717_a96dbfcc","updated":"2019-03-27 14:44:09.000000000","message":"Done","commit_id":"a40804f497634fe3e7d2cb423ff2975286d36db3"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"78a0622db45637b0752004924efa182ae168b67a","unresolved":false,"context_lines":[{"line_number":151,"context_line":""},{"line_number":152,"context_line":"        with self.firewall.defer_apply():"},{"line_number":153,"context_line":"            if self.use_enhanced_rpc:"},{"line_number":154,"context_line":"                LOG.info(\"Update security group information for ports %s\","},{"line_number":155,"context_line":"                         devices.keys())"},{"line_number":156,"context_line":"                self._update_security_group_info("},{"line_number":157,"context_line":"                    security_groups, security_group_member_ips)"},{"line_number":158,"context_line":"            for device in devices.values():"},{"line_number":159,"context_line":"                if update_filter:"},{"line_number":160,"context_line":"                    LOG.info(\"Update port filter for %s\", device[\u0027device\u0027])"},{"line_number":161,"context_line":"                    self.firewall.update_port_filter(device)"},{"line_number":162,"context_line":"                else:"},{"line_number":163,"context_line":"                    LOG.info(\"Prepare port filter for %s\", device[\u0027device\u0027])"},{"line_number":164,"context_line":"                    self.firewall.prepare_port_filter(device)"},{"line_number":165,"context_line":"            self.firewall.process_trusted_ports(trusted_devices)"},{"line_number":166,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"5fc1f717_a96dbfcc","line":163,"range":{"start_line":154,"start_character":1,"end_line":163,"end_character":76},"in_reply_to":"5fc1f717_d2b31d97","updated":"2019-03-27 14:16:21.000000000","message":"OK, let\u0027s keep this quiet.","commit_id":"a40804f497634fe3e7d2cb423ff2975286d36db3"}],"neutron/common/constants.py":[{"author":{"_account_id":13995,"name":"Nate Johnston","email":"nate.johnston@redhat.com","username":"natejohnston"},"change_message_id":"64bc5d6e2265a33ed1291ae172b6d38aba9ba252","unresolved":false,"context_lines":[{"line_number":256,"context_line":""},{"line_number":257,"context_line":"# Number of resources for neutron agent side functions to deal"},{"line_number":258,"context_line":"# with large sets."},{"line_number":259,"context_line":"AGENT_RES_PROCESSING_STEP \u003d 100"}],"source_content_type":"text/x-python","patch_set":6,"id":"5fc1f717_803e8dbe","line":259,"updated":"2019-03-15 21:54:48.000000000","message":"Is 100 a value you have arrived on through thesting this change, or is it an essentially arbitrary number?  Either answer is fine, but I am interested in what happens if this becomes larger or smaller in highly active environments - does efficiency increase or decrease?","commit_id":"b825394d230bc5bad3dedf6e536f63fceb703124"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"98a4047e30da8e167f8c2cee916eb66b5c3a36bd","unresolved":false,"context_lines":[{"line_number":256,"context_line":""},{"line_number":257,"context_line":"# Number of resources for neutron agent side functions to deal"},{"line_number":258,"context_line":"# with large sets."},{"line_number":259,"context_line":"AGENT_RES_PROCESSING_STEP \u003d 100"}],"source_content_type":"text/x-python","patch_set":6,"id":"5fc1f717_365363e4","line":259,"in_reply_to":"5fc1f717_803e8dbe","updated":"2019-03-16 03:19:16.000000000","message":"I think you can find the answer here:\nhttps://review.openstack.org/#/c/638642/2/neutron/agent/common/ovs_lib.py@451\n\nThe test method:\nhttp://paste.openstack.org/show/745685/\n\nAnd the result:\nhttps://bugs.launchpad.net/neutron/+bug/1813703/comments/15","commit_id":"b825394d230bc5bad3dedf6e536f63fceb703124"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"6bbbfe17493e4dacde6481c57e7ff04b15376452","unresolved":false,"context_lines":[{"line_number":278,"context_line":""},{"line_number":279,"context_line":"# Number of resources for neutron agent side functions to deal"},{"line_number":280,"context_line":"# with large sets."},{"line_number":281,"context_line":"AGENT_RES_PROCESSING_STEP \u003d 100"}],"source_content_type":"text/x-python","patch_set":12,"id":"5fc1f717_f20ad923","line":281,"updated":"2019-03-27 10:19:59.000000000","message":"Why this is hardcoded value and e.g. in case of https://review.openstack.org/#/c/638645/ You are changing defaults to \"good ones\" but still want to have it configurable.\nIn fact it\u0027s something very similar IMO as it depends on interaction with some external process (iptables or ovs). So maybe we should be consequent and do it in the same way everywhere?","commit_id":"a40804f497634fe3e7d2cb423ff2975286d36db3"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"78a0622db45637b0752004924efa182ae168b67a","unresolved":false,"context_lines":[{"line_number":278,"context_line":""},{"line_number":279,"context_line":"# Number of resources for neutron agent side functions to deal"},{"line_number":280,"context_line":"# with large sets."},{"line_number":281,"context_line":"AGENT_RES_PROCESSING_STEP \u003d 100"}],"source_content_type":"text/x-python","patch_set":12,"id":"5fc1f717_2961cfd3","line":281,"in_reply_to":"5fc1f717_f20ad923","updated":"2019-03-27 14:16:21.000000000","message":"There are some comments in [1] where we have talked about this trunk size. This is for ovs-agent, any other neutron agent or neutron-server to deal with large set of resources. The resources are generated inside from neutron itself. For now neutron, after some local testing, we can say neutron may handle such 100 resources smoothly. Larger value may cause higher Timeout probability. Lower may reduce service operating efficiency. For my personal experience, neutron now can handle a maximum 1000 hosts cluster. And such trunk size meets this estimated capacity. So I don\u0027t think add a config for this is a good idea. We have the tested value, we can save the users testing time.\n\nFor the patch [2] you mentioned here, I\u0027d like to say we just give those users who are using the default value a better experience of handling large scale issue.\n\n\n[1] https://review.openstack.org/#/c/638646/12/neutron/common/constants.py@284\n[2] https://review.openstack.org/#/c/638645/","commit_id":"a40804f497634fe3e7d2cb423ff2975286d36db3"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"6e9f7107220504a0553ba48c5b89a05832f10683","unresolved":false,"context_lines":[{"line_number":265,"context_line":""},{"line_number":266,"context_line":"# Number of resources for neutron agent side functions to deal"},{"line_number":267,"context_line":"# with large sets."},{"line_number":268,"context_line":"AGENT_RES_PROCESSING_STEP \u003d 100"}],"source_content_type":"text/x-python","patch_set":13,"id":"5fc1f717_5f906443","line":268,"range":{"start_line":268,"start_character":28,"end_line":268,"end_character":31},"updated":"2019-03-29 09:19:03.000000000","message":"Could you provide the information on why you chose \"100\" finally in a comment and/or the commit message?\n\nLooking at past comments, Manjeet and Nate had a same question.\nYour answer looks fine to me, but it would be nice if the information is provided in places where others can find it more easily.","commit_id":"15cd40f3e0af0c1b0bc61a6d58dcabe86108e653"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"6e9f7107220504a0553ba48c5b89a05832f10683","unresolved":false,"context_lines":[{"line_number":265,"context_line":""},{"line_number":266,"context_line":"# Number of resources for neutron agent side functions to deal"},{"line_number":267,"context_line":"# with large sets."},{"line_number":268,"context_line":"AGENT_RES_PROCESSING_STEP \u003d 100"}],"source_content_type":"text/x-python","patch_set":13,"id":"5fc1f717_1fdadc49","line":268,"range":{"start_line":268,"start_character":6,"end_line":268,"end_character":9},"updated":"2019-03-29 09:19:03.000000000","message":"I prefer to RESOURCE (the full spelling).","commit_id":"15cd40f3e0af0c1b0bc61a6d58dcabe86108e653"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"ebfa078b90fecc9148ed758bfc158d61dfe059b8","unresolved":false,"context_lines":[{"line_number":265,"context_line":""},{"line_number":266,"context_line":"# Number of resources for neutron agent side functions to deal"},{"line_number":267,"context_line":"# with large sets."},{"line_number":268,"context_line":"AGENT_RES_PROCESSING_STEP \u003d 100"}],"source_content_type":"text/x-python","patch_set":13,"id":"5fc1f717_f377083b","line":268,"range":{"start_line":268,"start_character":28,"end_line":268,"end_character":31},"in_reply_to":"5fc1f717_5f906443","updated":"2019-03-29 14:00:40.000000000","message":"Done","commit_id":"15cd40f3e0af0c1b0bc61a6d58dcabe86108e653"}],"neutron/plugins/ml2/drivers/openvswitch/agent/ovs_neutron_agent.py":[{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"836696049bf0f8ec5aaac6fdb36114990fc7774f","unresolved":false,"context_lines":[{"line_number":1800,"context_line":"        self._add_port_tag_info(need_binding_devices)"},{"line_number":1801,"context_line":"        self.sg_agent.setup_port_filters(added_ports,"},{"line_number":1802,"context_line":"                                         port_info.get(\u0027updated\u0027, set()))"},{"line_number":1803,"context_line":"        LOG.info(\"process_network_ports - iteration:%(iter_num)d - \""},{"line_number":1804,"context_line":"                 \"agent security group setup_port_filters completed. \""},{"line_number":1805,"context_line":"                 \"Time elapsed: %(elapsed).3f\","},{"line_number":1806,"context_line":"                 {\u0027iter_num\u0027: self.iter_num,"},{"line_number":1807,"context_line":"                  \u0027elapsed\u0027: time.time() - start})"},{"line_number":1808,"context_line":"        failed_devices[\u0027added\u0027] |\u003d self._bind_devices(need_binding_devices)"},{"line_number":1809,"context_line":""},{"line_number":1810,"context_line":"        if \u0027removed\u0027 in port_info and port_info[\u0027removed\u0027]:"}],"source_content_type":"text/x-python","patch_set":6,"id":"5fc1f717_c007b517","line":1807,"range":{"start_line":1803,"start_character":8,"end_line":1807,"end_character":50},"updated":"2019-03-15 21:55:24.000000000","message":"We should consider localizing this message as well. Consider removing method names such as process_network_ports and setup_port_filters in favor of language that someone who doesn\u0027t know the code would be able to make sense of.","commit_id":"b825394d230bc5bad3dedf6e536f63fceb703124"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"44b201326840f7673d71f7b79a81d14b04730676","unresolved":false,"context_lines":[{"line_number":1800,"context_line":"        self._add_port_tag_info(need_binding_devices)"},{"line_number":1801,"context_line":"        self.sg_agent.setup_port_filters(added_ports,"},{"line_number":1802,"context_line":"                                         port_info.get(\u0027updated\u0027, set()))"},{"line_number":1803,"context_line":"        LOG.info(\"process_network_ports - iteration:%(iter_num)d - \""},{"line_number":1804,"context_line":"                 \"agent security group setup_port_filters completed. \""},{"line_number":1805,"context_line":"                 \"Time elapsed: %(elapsed).3f\","},{"line_number":1806,"context_line":"                 {\u0027iter_num\u0027: self.iter_num,"},{"line_number":1807,"context_line":"                  \u0027elapsed\u0027: time.time() - start})"},{"line_number":1808,"context_line":"        failed_devices[\u0027added\u0027] |\u003d self._bind_devices(need_binding_devices)"},{"line_number":1809,"context_line":""},{"line_number":1810,"context_line":"        if \u0027removed\u0027 in port_info and port_info[\u0027removed\u0027]:"}],"source_content_type":"text/x-python","patch_set":6,"id":"5fc1f717_160c27a3","line":1807,"range":{"start_line":1803,"start_character":8,"end_line":1807,"end_character":50},"in_reply_to":"5fc1f717_c007b517","updated":"2019-03-17 04:15:46.000000000","message":"Just want to make consistent with other logs, please see line 1779 and 1814. I will add something else.","commit_id":"b825394d230bc5bad3dedf6e536f63fceb703124"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"6bbbfe17493e4dacde6481c57e7ff04b15376452","unresolved":false,"context_lines":[{"line_number":1806,"context_line":"        self._add_port_tag_info(need_binding_devices)"},{"line_number":1807,"context_line":"        self.sg_agent.setup_port_filters(added_ports,"},{"line_number":1808,"context_line":"                                         port_info.get(\u0027updated\u0027, set()))"},{"line_number":1809,"context_line":"        LOG.info(\"process_network_ports - iteration:%(iter_num)d - \""},{"line_number":1810,"context_line":"                 \"agent port security group processed in %(elapsed).3f\","},{"line_number":1811,"context_line":"                 {\u0027iter_num\u0027: self.iter_num,"},{"line_number":1812,"context_line":"                  \u0027elapsed\u0027: time.time() - start})"}],"source_content_type":"text/x-python","patch_set":12,"id":"5fc1f717_2d0a401f","line":1809,"updated":"2019-03-27 10:19:59.000000000","message":"isn\u0027t this already changed in different patch?","commit_id":"a40804f497634fe3e7d2cb423ff2975286d36db3"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"78a0622db45637b0752004924efa182ae168b67a","unresolved":false,"context_lines":[{"line_number":1806,"context_line":"        self._add_port_tag_info(need_binding_devices)"},{"line_number":1807,"context_line":"        self.sg_agent.setup_port_filters(added_ports,"},{"line_number":1808,"context_line":"                                         port_info.get(\u0027updated\u0027, set()))"},{"line_number":1809,"context_line":"        LOG.info(\"process_network_ports - iteration:%(iter_num)d - \""},{"line_number":1810,"context_line":"                 \"agent port security group processed in %(elapsed).3f\","},{"line_number":1811,"context_line":"                 {\u0027iter_num\u0027: self.iter_num,"},{"line_number":1812,"context_line":"                  \u0027elapsed\u0027: time.time() - start})"}],"source_content_type":"text/x-python","patch_set":12,"id":"5fc1f717_8966c3ec","line":1809,"in_reply_to":"5fc1f717_2d0a401f","updated":"2019-03-27 14:16:21.000000000","message":"This is a critical iteration log for the rpc loop, it is new added.","commit_id":"a40804f497634fe3e7d2cb423ff2975286d36db3"}]}
