)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1923,"name":"Mohammad Banikazemi","email":"mbanikazemi@gmail.com","username":"mb-s"},"change_message_id":"ac68e7cfdca20e482a7020c5e3b119110f45e20d","unresolved":false,"context_lines":[{"line_number":9,"context_line":"    - Handle topology dynamically"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Implements blueprint: apic-driver-enhancements"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I80ae799bf7c18939e58cb5c1ea8eb441633285df"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"1abeadc6_ecaa3819","line":12,"updated":"2014-08-26 23:30:57.000000000","message":"DocImpact for new config options?","commit_id":"7a687e510b72a09ffd4e4119fb5d083bfdf72a57"}],"neutron/plugins/ml2/drivers/cisco/apic/apic_topology.py":[{"author":{"_account_id":12737,"name":"Jacek Swiderski","email":"jacek.swiderski@codilime.com","username":"Altran"},"change_message_id":"3e22d79aac28007b8beef24f87ddb206e31ddb59","unresolved":false,"context_lines":[{"line_number":254,"context_line":"                    context, peer[0], peer[1], None, 0, 0, 0)"},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"        except Exception:"},{"line_number":257,"context_line":"            LOG.exception(_(\"APIC service agent: exception in LLDP parsing\"))"},{"line_number":258,"context_line":""},{"line_number":259,"context_line":"    def _get_peers(self):"},{"line_number":260,"context_line":"        peers \u003d {}"}],"source_content_type":"text/x-python","patch_set":12,"id":"fa98f980_2e89cbca","line":257,"updated":"2014-09-01 10:49:05.000000000","message":"_LE ?","commit_id":"da26350031ab76836d58084951241700dbf12cd3"},{"author":{"_account_id":7987,"name":"Ivar Lazzaro","email":"ivarlazzaro@gmail.com","username":"Ivar"},"change_message_id":"1cff9cc1dd5220a4ff127c2e381762228cdfe16f","unresolved":false,"context_lines":[{"line_number":254,"context_line":"                    context, peer[0], peer[1], None, 0, 0, 0)"},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"        except Exception:"},{"line_number":257,"context_line":"            LOG.exception(_(\"APIC service agent: exception in LLDP parsing\"))"},{"line_number":258,"context_line":""},{"line_number":259,"context_line":"    def _get_peers(self):"},{"line_number":260,"context_line":"        peers \u003d {}"}],"source_content_type":"text/x-python","patch_set":12,"id":"fa98f980_6bcacf50","line":257,"in_reply_to":"fa98f980_2e89cbca","updated":"2014-09-01 17:07:57.000000000","message":"Done","commit_id":"da26350031ab76836d58084951241700dbf12cd3"},{"author":{"_account_id":12737,"name":"Jacek Swiderski","email":"jacek.swiderski@codilime.com","username":"Altran"},"change_message_id":"3e22d79aac28007b8beef24f87ddb206e31ddb59","unresolved":false,"context_lines":[{"line_number":260,"context_line":"        peers \u003d {}"},{"line_number":261,"context_line":"        lldpkeys \u003d utils.execute(self.lldpcmd, self.root_helper)"},{"line_number":262,"context_line":"        for line in lldpkeys.split(\u0027\\n\u0027):"},{"line_number":263,"context_line":"            if not line or \u0027\u003d\u0027 not in line:"},{"line_number":264,"context_line":"                continue"},{"line_number":265,"context_line":"            fqkey, value \u003d line.split(\u0027\u003d\u0027, 1)"},{"line_number":266,"context_line":"            lldp, interface, key \u003d fqkey.split(\u0027.\u0027, 2)"}],"source_content_type":"text/x-python","patch_set":12,"id":"fa98f980_ee3b43e9","line":263,"updated":"2014-09-01 10:49:05.000000000","message":"line will never be None so there is no need to check not line","commit_id":"da26350031ab76836d58084951241700dbf12cd3"},{"author":{"_account_id":7987,"name":"Ivar Lazzaro","email":"ivarlazzaro@gmail.com","username":"Ivar"},"change_message_id":"1cff9cc1dd5220a4ff127c2e381762228cdfe16f","unresolved":false,"context_lines":[{"line_number":260,"context_line":"        peers \u003d {}"},{"line_number":261,"context_line":"        lldpkeys \u003d utils.execute(self.lldpcmd, self.root_helper)"},{"line_number":262,"context_line":"        for line in lldpkeys.split(\u0027\\n\u0027):"},{"line_number":263,"context_line":"            if not line or \u0027\u003d\u0027 not in line:"},{"line_number":264,"context_line":"                continue"},{"line_number":265,"context_line":"            fqkey, value \u003d line.split(\u0027\u003d\u0027, 1)"},{"line_number":266,"context_line":"            lldp, interface, key \u003d fqkey.split(\u0027.\u0027, 2)"}],"source_content_type":"text/x-python","patch_set":12,"id":"fa98f980_abad978a","line":263,"in_reply_to":"fa98f980_ee3b43e9","updated":"2014-09-01 17:07:57.000000000","message":"Done","commit_id":"da26350031ab76836d58084951241700dbf12cd3"},{"author":{"_account_id":12737,"name":"Jacek Swiderski","email":"jacek.swiderski@codilime.com","username":"Altran"},"change_message_id":"3e22d79aac28007b8beef24f87ddb206e31ddb59","unresolved":false,"context_lines":[{"line_number":311,"context_line":"            self.interfaces[interface] \u003d mac"},{"line_number":312,"context_line":"        except Exception:"},{"line_number":313,"context_line":"            # we can safely ignore it, it is only needed for debugging"},{"line_number":314,"context_line":"            LOG.exception(_(\"APIC service agent: can not get MACaddr for %s\"),"},{"line_number":315,"context_line":"                          interface)"},{"line_number":316,"context_line":"        return mac"},{"line_number":317,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"fa98f980_2e254bc2","line":314,"updated":"2014-09-01 10:49:05.000000000","message":"_LE","commit_id":"da26350031ab76836d58084951241700dbf12cd3"},{"author":{"_account_id":7987,"name":"Ivar Lazzaro","email":"ivarlazzaro@gmail.com","username":"Ivar"},"change_message_id":"1cff9cc1dd5220a4ff127c2e381762228cdfe16f","unresolved":false,"context_lines":[{"line_number":311,"context_line":"            self.interfaces[interface] \u003d mac"},{"line_number":312,"context_line":"        except Exception:"},{"line_number":313,"context_line":"            # we can safely ignore it, it is only needed for debugging"},{"line_number":314,"context_line":"            LOG.exception(_(\"APIC service agent: can not get MACaddr for %s\"),"},{"line_number":315,"context_line":"                          interface)"},{"line_number":316,"context_line":"        return mac"},{"line_number":317,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"fa98f980_8bc7f344","line":314,"in_reply_to":"fa98f980_2e254bc2","updated":"2014-09-01 17:07:57.000000000","message":"Done","commit_id":"da26350031ab76836d58084951241700dbf12cd3"},{"author":{"_account_id":12737,"name":"Jacek Swiderski","email":"jacek.swiderski@codilime.com","username":"Altran"},"change_message_id":"3e22d79aac28007b8beef24f87ddb206e31ddb59","unresolved":false,"context_lines":[{"line_number":328,"context_line":"            # ignore it"},{"line_number":329,"context_line":"            return"},{"line_number":330,"context_line":"        except Exception:"},{"line_number":331,"context_line":"            LOG.exception(_(\"APIC host agent: failed in reporting state\"))"},{"line_number":332,"context_line":""},{"line_number":333,"context_line":""},{"line_number":334,"context_line":"def launch(binary, manager, topic\u003dNone):"}],"source_content_type":"text/x-python","patch_set":12,"id":"fa98f980_4e228fba","line":331,"updated":"2014-09-01 10:49:05.000000000","message":"ditto","commit_id":"da26350031ab76836d58084951241700dbf12cd3"},{"author":{"_account_id":7987,"name":"Ivar Lazzaro","email":"ivarlazzaro@gmail.com","username":"Ivar"},"change_message_id":"1cff9cc1dd5220a4ff127c2e381762228cdfe16f","unresolved":false,"context_lines":[{"line_number":328,"context_line":"            # ignore it"},{"line_number":329,"context_line":"            return"},{"line_number":330,"context_line":"        except Exception:"},{"line_number":331,"context_line":"            LOG.exception(_(\"APIC host agent: failed in reporting state\"))"},{"line_number":332,"context_line":""},{"line_number":333,"context_line":""},{"line_number":334,"context_line":"def launch(binary, manager, topic\u003dNone):"}],"source_content_type":"text/x-python","patch_set":12,"id":"fa98f980_ebdddf15","line":331,"in_reply_to":"fa98f980_4e228fba","updated":"2014-09-01 17:07:57.000000000","message":"Done","commit_id":"da26350031ab76836d58084951241700dbf12cd3"},{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"63776b496ef5c2858cafdec4a1f894ba3d62660e","unresolved":false,"context_lines":[{"line_number":259,"context_line":"    def _get_peers(self):"},{"line_number":260,"context_line":"        peers \u003d {}"},{"line_number":261,"context_line":"        lldpkeys \u003d utils.execute(self.lldpcmd, self.root_helper)"},{"line_number":262,"context_line":"        for line in lldpkeys.split(\u0027\\n\u0027):"},{"line_number":263,"context_line":"            if \u0027\u003d\u0027 not in line:"},{"line_number":264,"context_line":"                continue"},{"line_number":265,"context_line":"            fqkey, value \u003d line.split(\u0027\u003d\u0027, 1)"}],"source_content_type":"text/x-python","patch_set":13,"id":"fa98f980_63ce7385","line":262,"updated":"2014-09-01 18:16:14.000000000","message":"nit: can probably use splitlines() instead of split here","commit_id":"7273a894a7dec78b80ac446f64ea741e52b80b7f"},{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"63776b496ef5c2858cafdec4a1f894ba3d62660e","unresolved":false,"context_lines":[{"line_number":289,"context_line":"        for interface in peers:"},{"line_number":290,"context_line":"            curr_peer \u003d None"},{"line_number":291,"context_line":"            for peer in peers[interface]:"},{"line_number":292,"context_line":"                if peer in self.invalid_peers:"},{"line_number":293,"context_line":"                    invalid_peers.append(peer)"},{"line_number":294,"context_line":"                else:"},{"line_number":295,"context_line":"                    if curr_peer is None:"}],"source_content_type":"text/x-python","patch_set":13,"id":"fa98f980_e3dd0316","line":292,"updated":"2014-09-01 18:16:14.000000000","message":"if peer in self.invalid_peers or curr_peer:\n    invalid_peers.appen(peer)\nelse:\n    curr_peer \u003d peer","commit_id":"7273a894a7dec78b80ac446f64ea741e52b80b7f"},{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"63776b496ef5c2858cafdec4a1f894ba3d62660e","unresolved":false,"context_lines":[{"line_number":308,"context_line":"            return self.interfaces[interface]"},{"line_number":309,"context_line":"        try:"},{"line_number":310,"context_line":"            mac \u003d ip_lib.IPDevice(interface).link.address"},{"line_number":311,"context_line":"            self.interfaces[interface] \u003d mac"},{"line_number":312,"context_line":"        except Exception:"},{"line_number":313,"context_line":"            # we can safely ignore it, it is only needed for debugging"},{"line_number":314,"context_line":"            LOG.exception("}],"source_content_type":"text/x-python","patch_set":13,"id":"fa98f980_43d7afc1","line":311,"updated":"2014-09-01 18:16:14.000000000","message":"Remove L305 and return mac here.\n\nDefault return value for a function is None.","commit_id":"7273a894a7dec78b80ac446f64ea741e52b80b7f"}],"neutron/tests/unit/ml2/drivers/cisco/apic/test_cisco_apic_topology_agent.py":[{"author":{"_account_id":1923,"name":"Mohammad Banikazemi","email":"mbanikazemi@gmail.com","username":"mb-s"},"change_message_id":"ac68e7cfdca20e482a7020c5e3b119110f45e20d","unresolved":false,"context_lines":[{"line_number":99,"context_line":"        self.service.apic_manager.add_hostlink.assert_called_once_with(*args)"},{"line_number":100,"context_line":"        self.assertEqual("},{"line_number":101,"context_line":"            self.service.peers["},{"line_number":102,"context_line":"                (mocked.SERVICE_HOST, mocked.SERVICE_HOST_IFACE)], args)"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"    def test_update_link_add_with_peers_eq(self):"},{"line_number":105,"context_line":"        args \u003d (mocked.SERVICE_HOST, mocked.SERVICE_HOST_IFACE,"}],"source_content_type":"text/x-python","patch_set":2,"id":"1abeadc6_6c638841","line":102,"updated":"2014-08-26 23:30:57.000000000","message":"expected, observed","commit_id":"7a687e510b72a09ffd4e4119fb5d083bfdf72a57"}]}
