)]}'
{"neutron/agent/common/async_process.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"ba6a7428f50be9bc8d38d7a9a363cd906a49872c","unresolved":false,"context_lines":[{"line_number":112,"context_line":"        LOG.debug(\u0027Launching async process [%s].\u0027, self.cmd)"},{"line_number":113,"context_line":"        if self._is_running:"},{"line_number":114,"context_line":"            raise AsyncProcessException(_(\u0027Process is already started\u0027))"},{"line_number":115,"context_line":"        self._spawn()"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"        if block:"},{"line_number":118,"context_line":"            common_utils.wait_until_true(self.is_active)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_a24bf256","line":115,"updated":"2020-07-31 16:23:42.000000000","message":"makes sense","commit_id":"6d3ced83d2830e23097084d767274fde5a51dd63"}],"neutron/agent/linux/dhcp.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"ba6a7428f50be9bc8d38d7a9a363cd906a49872c","unresolved":false,"context_lines":[{"line_number":956,"context_line":"                                        \u0027lease file, dnsmasq is possibly \u0027"},{"line_number":957,"context_line":"                                        \u0027not functioning properly\u0027,"},{"line_number":958,"context_line":"                                        filename)"},{"line_number":959,"context_line":"                        continue"},{"line_number":960,"context_line":"                    parts \u003d line.strip().split()"},{"line_number":961,"context_line":"                    if len(parts) !\u003d 5:"},{"line_number":962,"context_line":"                        LOG.warning(\u0027Invalid lease entry %s found in %s \u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_6241da39","line":959,"updated":"2020-07-31 16:23:42.000000000","message":"hahaha I\u0027m having fun with this patch","commit_id":"6d3ced83d2830e23097084d767274fde5a51dd63"}],"neutron/agent/linux/iptables_firewall.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"ba6a7428f50be9bc8d38d7a9a363cd906a49872c","unresolved":false,"context_lines":[{"line_number":429,"context_line":"                    if self.enable_ipset:"},{"line_number":430,"context_line":"                        port_sg_rules.append(rule)"},{"line_number":431,"context_line":"                        break"},{"line_number":432,"context_line":"                    port_sg_rules.extend("},{"line_number":433,"context_line":"                        self._expand_sg_rule_with_remote_ips("},{"line_number":434,"context_line":"                            rule, port, constants.INGRESS_DIRECTION))"},{"line_number":435,"context_line":"                    if port_sg_rules:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_c250a60d","line":432,"updated":"2020-07-31 16:23:42.000000000","message":"makes sense but is curious this version complains about this","commit_id":"6d3ced83d2830e23097084d767274fde5a51dd63"}],"neutron/agent/linux/iptables_manager.py":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"b7fe01b34a7eb4b3fcc219ea37967f5209f82c47","unresolved":false,"context_lines":[{"line_number":853,"context_line":"            # since we are removing a line from the old rules, we"},{"line_number":854,"context_line":"            # backup the index by 1"},{"line_number":855,"context_line":"            old_index -\u003d 1"},{"line_number":856,"context_line":"        elif line.startswith(\u0027+\u0027):  # line added"},{"line_number":857,"context_line":"            # strip the chain name since we have to add it before the index"},{"line_number":858,"context_line":"            rule \u003d line[5:].split(\u0027 \u0027, 1)[-1]"},{"line_number":859,"context_line":"            # IptablesRule does not add trailing spaces for rules, so we"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_10e8157a","line":856,"range":{"start_line":856,"start_character":8,"end_line":856,"end_character":12},"updated":"2020-08-03 08:45:44.000000000","message":"maybe dummy question but I\u0027m curious. Why You changed L851 and not this one?","commit_id":"d7fc3ff9c532ffa3e944030944ccfa40d92b0dfb"},{"author":{"_account_id":21798,"name":"Bernard Cafarelli","email":"bcafarel@redhat.com","username":"bcafarel"},"change_message_id":"40219eaef708f81a74c1f32e5bef7b0db2a1a991","unresolved":false,"context_lines":[{"line_number":853,"context_line":"            # since we are removing a line from the old rules, we"},{"line_number":854,"context_line":"            # backup the index by 1"},{"line_number":855,"context_line":"            old_index -\u003d 1"},{"line_number":856,"context_line":"        elif line.startswith(\u0027+\u0027):  # line added"},{"line_number":857,"context_line":"            # strip the chain name since we have to add it before the index"},{"line_number":858,"context_line":"            rule \u003d line[5:].split(\u0027 \u0027, 1)[-1]"},{"line_number":859,"context_line":"            # IptablesRule does not add trailing spaces for rules, so we"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_c996f8f0","line":856,"range":{"start_line":856,"start_character":8,"end_line":856,"end_character":12},"in_reply_to":"9f560f44_10e8157a","updated":"2020-08-03 12:58:07.000000000","message":"L851 is actually still an elif, either we enter L848 and end the iteration there because of continue else we test in L851  (this is one of the new tests, elif after a continue)","commit_id":"d7fc3ff9c532ffa3e944030944ccfa40d92b0dfb"}],"neutron/cmd/sanity/checks.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"08c00edb52e92e379b2ed6bf3e62333db9820ee5","unresolved":false,"context_lines":[{"line_number":81,"context_line":""},{"line_number":82,"context_line":"def nova_notify_supported():"},{"line_number":83,"context_line":"    try:"},{"line_number":84,"context_line":"        #pylint: disable\u003dimport-outside-toplevel"},{"line_number":85,"context_line":"        import neutron.notifiers.nova  # noqa since unused"},{"line_number":86,"context_line":"        return True"},{"line_number":87,"context_line":"    except ImportError:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_00f451f1","line":84,"updated":"2020-08-01 00:36:26.000000000","message":"pep8: E265 block comment should start with \u0027# \u0027","commit_id":"6d3ced83d2830e23097084d767274fde5a51dd63"},{"author":{"_account_id":21798,"name":"Bernard Cafarelli","email":"bcafarel@redhat.com","username":"bcafarel"},"change_message_id":"4efe4c84ec411a4b2f17783d4fe3ad43f586e70a","unresolved":false,"context_lines":[{"line_number":81,"context_line":""},{"line_number":82,"context_line":"def nova_notify_supported():"},{"line_number":83,"context_line":"    try:"},{"line_number":84,"context_line":"        #pylint: disable\u003dimport-outside-toplevel"},{"line_number":85,"context_line":"        import neutron.notifiers.nova  # noqa since unused"},{"line_number":86,"context_line":"        return True"},{"line_number":87,"context_line":"    except ImportError:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_9048a55c","line":84,"in_reply_to":"9f560f44_00f451f1","updated":"2020-08-03 07:34:14.000000000","message":"Done","commit_id":"6d3ced83d2830e23097084d767274fde5a51dd63"}],"neutron/db/l3_db.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:gate","change_message_id":"a95bc1337368b97d5b32d0e4ac1ceb17c43c3d01","unresolved":false,"context_lines":[{"line_number":637,"context_line":"            addr_set \u003d netaddr.IPSet()"},{"line_number":638,"context_line":"            for range in s[\u0027allocation_pools\u0027]:"},{"line_number":639,"context_line":"                addr_set.add(netaddr.IPRange(netaddr.IPAddress(range[\u0027start\u0027]),"},{"line_number":640,"context_line":"                                             netaddr.IPAddress(range[\u0027end\u0027])))"},{"line_number":641,"context_line":"            subnets_by_id[s[\u0027id\u0027]] \u003d (addr_set, s[\u0027project_id\u0027],)"},{"line_number":642,"context_line":"        for subnet_id, ip in [(fix_ip[\u0027subnet_id\u0027], fix_ip[\u0027ip_address\u0027],)"},{"line_number":643,"context_line":"                              for fix_ip in port[\u0027fixed_ips\u0027]]:"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_c3cea358","line":640,"updated":"2020-08-06 03:08:57.000000000","message":"pep8: R1721: Unnecessary use of a comprehension (unnecessary-comprehension)","commit_id":"9adf53c066e3d1d3a5da874b18f28cd63e6e4d2d"},{"author":{"_account_id":21798,"name":"Bernard Cafarelli","email":"bcafarel@redhat.com","username":"bcafarel"},"change_message_id":"b209d856f96a7af5080d5793afb924c0e20fd428","unresolved":false,"context_lines":[{"line_number":637,"context_line":"            addr_set \u003d netaddr.IPSet()"},{"line_number":638,"context_line":"            for range in s[\u0027allocation_pools\u0027]:"},{"line_number":639,"context_line":"                addr_set.add(netaddr.IPRange(netaddr.IPAddress(range[\u0027start\u0027]),"},{"line_number":640,"context_line":"                                             netaddr.IPAddress(range[\u0027end\u0027])))"},{"line_number":641,"context_line":"            subnets_by_id[s[\u0027id\u0027]] \u003d (addr_set, s[\u0027project_id\u0027],)"},{"line_number":642,"context_line":"        for subnet_id, ip in [(fix_ip[\u0027subnet_id\u0027], fix_ip[\u0027ip_address\u0027],)"},{"line_number":643,"context_line":"                              for fix_ip in port[\u0027fixed_ips\u0027]]:"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_a453b038","line":640,"in_reply_to":"9f560f44_c3cea358","updated":"2020-08-06 13:59:20.000000000","message":"Line 640 after rebase, there is indeed a new one in _check_router_port()","commit_id":"9adf53c066e3d1d3a5da874b18f28cd63e6e4d2d"}],"neutron/services/qos/drivers/ovn/driver.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"ba6a7428f50be9bc8d38d7a9a363cd906a49872c","unresolved":false,"context_lines":[{"line_number":53,"context_line":"        obj._driver \u003d plugin_driver"},{"line_number":54,"context_line":"        return obj"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    @property"},{"line_number":57,"context_line":"    def is_loaded(self):"},{"line_number":58,"context_line":"        return OVN_QOS in cfg.CONF.ml2.extension_drivers"},{"line_number":59,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_225b62f7","side":"PARENT","line":56,"updated":"2020-07-31 16:23:42.000000000","message":"Sorry but we can\u0027t make this change. This must be a property, not a method.\n\nThe problem is in the DriverBase method definition. \"is_loaded\" is not implemented as a property, although the method description says this is a property.","commit_id":"fe79ef22b8edadc02c54435537a6cc947960906f"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"e6e1758867cc1a1e7d6d870c556e7f8568ba8f13","unresolved":false,"context_lines":[{"line_number":53,"context_line":"        obj._driver \u003d plugin_driver"},{"line_number":54,"context_line":"        return obj"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    @property"},{"line_number":57,"context_line":"    def is_loaded(self):"},{"line_number":58,"context_line":"        return OVN_QOS in cfg.CONF.ml2.extension_drivers"},{"line_number":59,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_5628d7e0","side":"PARENT","line":56,"in_reply_to":"9f560f44_225b62f7","updated":"2020-07-31 17:35:31.000000000","message":"Ifaf4657c37791e8e11907c66fb6cab7128c122a6 introduced DriverBase in n-lib. Because this class could be used in out-of-tree drivers, we need to be very careful when changing this.","commit_id":"fe79ef22b8edadc02c54435537a6cc947960906f"},{"author":{"_account_id":21798,"name":"Bernard Cafarelli","email":"bcafarel@redhat.com","username":"bcafarel"},"change_message_id":"4efe4c84ec411a4b2f17783d4fe3ad43f586e70a","unresolved":false,"context_lines":[{"line_number":53,"context_line":"        obj._driver \u003d plugin_driver"},{"line_number":54,"context_line":"        return obj"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    @property"},{"line_number":57,"context_line":"    def is_loaded(self):"},{"line_number":58,"context_line":"        return OVN_QOS in cfg.CONF.ml2.extension_drivers"},{"line_number":59,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_b0532917","side":"PARENT","line":56,"in_reply_to":"9f560f44_5628d7e0","updated":"2020-08-03 07:34:14.000000000","message":"Thanks for checking, let\u0027s disable the warning with a note for now!","commit_id":"fe79ef22b8edadc02c54435537a6cc947960906f"}]}
