)]}'
{"dragonflow/neutron/services/bgp/bgp_plugin.py":[{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"0de622d0702b542c8f57a67c2927232ea9dc44da","unresolved":false,"context_lines":[{"line_number":97,"context_line":"        speakers \u003d self._bgp_speakers_for_gateway_network(ctx, gw_network)"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"        for speaker in speakers:"},{"line_number":100,"context_line":"            prefixes \u003d self._get_tenant_network_routes_by_bgp_speaker("},{"line_number":101,"context_line":"                ctx, speaker.id)"},{"line_number":102,"context_line":"            routes \u003d self._route_list_from_prefixes_and_next_hop(prefixes)"},{"line_number":103,"context_line":"            self._update_bgp_speaker_routes(None, speaker.id, routes)"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"    def _route_list_from_prefixes_and_next_hop(self, routes):"}],"source_content_type":"text/x-python","patch_set":1,"id":"7ffa3b31_f24fbb8f","line":102,"range":{"start_line":100,"start_character":0,"end_line":102,"end_character":74},"updated":"2017-04-19 11:06:37.000000000","message":"Maybe add this also to _update_bgp_speaker_routes?","commit_id":"e6b524834b5a655b1ddcfa4afe0cd579bd6dde1a"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"66610dd0d4817f486b7300797b02165defc686b4","unresolved":false,"context_lines":[{"line_number":97,"context_line":"        speakers \u003d self._bgp_speakers_for_gateway_network(ctx, gw_network)"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"        for speaker in speakers:"},{"line_number":100,"context_line":"            prefixes \u003d self._get_tenant_network_routes_by_bgp_speaker("},{"line_number":101,"context_line":"                ctx, speaker.id)"},{"line_number":102,"context_line":"            routes \u003d self._route_list_from_prefixes_and_next_hop(prefixes)"},{"line_number":103,"context_line":"            self._update_bgp_speaker_routes(None, speaker.id, routes)"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"    def _route_list_from_prefixes_and_next_hop(self, routes):"}],"source_content_type":"text/x-python","patch_set":1,"id":"7ffa3b31_d0b81ee6","line":102,"range":{"start_line":100,"start_character":0,"end_line":102,"end_character":74},"in_reply_to":"7ffa3b31_f24fbb8f","updated":"2017-04-20 03:43:23.000000000","message":"Done","commit_id":"e6b524834b5a655b1ddcfa4afe0cd579bd6dde1a"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"0de622d0702b542c8f57a67c2927232ea9dc44da","unresolved":false,"context_lines":[{"line_number":108,"context_line":"        return route_list"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"    @lock_db.wrap_db_lock(lock_db.RESOURCE_BGP_SPEAKER)"},{"line_number":111,"context_line":"    def _update_bgp_speaker_routes(self, context, bgp_speaker_id, routes):"},{"line_number":112,"context_line":"        bgp_speaker \u003d self.nb_api.get(bgp.BGPSpeaker(id\u003dbgp_speaker_id))"},{"line_number":113,"context_line":"        bgp_speaker.routes \u003d routes"},{"line_number":114,"context_line":"        self.nb_api.update(bgp_speaker, skip_send_event\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7ffa3b31_d2b83f77","line":111,"updated":"2017-04-19 11:06:37.000000000","message":"Why not try to get tenant_id from the context?","commit_id":"e6b524834b5a655b1ddcfa4afe0cd579bd6dde1a"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"66610dd0d4817f486b7300797b02165defc686b4","unresolved":false,"context_lines":[{"line_number":108,"context_line":"        return route_list"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"    @lock_db.wrap_db_lock(lock_db.RESOURCE_BGP_SPEAKER)"},{"line_number":111,"context_line":"    def _update_bgp_speaker_routes(self, context, bgp_speaker_id, routes):"},{"line_number":112,"context_line":"        bgp_speaker \u003d self.nb_api.get(bgp.BGPSpeaker(id\u003dbgp_speaker_id))"},{"line_number":113,"context_line":"        bgp_speaker.routes \u003d routes"},{"line_number":114,"context_line":"        self.nb_api.update(bgp_speaker, skip_send_event\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7ffa3b31_70c70a66","line":111,"in_reply_to":"7ffa3b31_d2b83f77","updated":"2017-04-20 03:43:23.000000000","message":"Done","commit_id":"e6b524834b5a655b1ddcfa4afe0cd579bd6dde1a"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"0de622d0702b542c8f57a67c2927232ea9dc44da","unresolved":false,"context_lines":[{"line_number":189,"context_line":"        tenant_id \u003d context.tenant_id"},{"line_number":190,"context_line":"        prefixes \u003d self._get_tenant_network_routes_by_bgp_speaker("},{"line_number":191,"context_line":"            context, bgp_speaker_id)"},{"line_number":192,"context_line":"        routes \u003d self._route_list_from_prefixes_and_next_hop(prefixes)"},{"line_number":193,"context_line":"        self.nb_api.update(bgp.BGPSpeaker(id\u003dbgp_speaker_id,"},{"line_number":194,"context_line":"                                          topic\u003dtenant_id,"},{"line_number":195,"context_line":"                                          routes\u003droutes),"},{"line_number":196,"context_line":"                           skip_send_event\u003dTrue)"},{"line_number":197,"context_line":"        return ret_value"},{"line_number":198,"context_line":""},{"line_number":199,"context_line":"    @lock_db.wrap_db_lock(lock_db.RESOURCE_BGP_SPEAKER)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7ffa3b31_52930ffb","line":196,"range":{"start_line":192,"start_character":0,"end_line":196,"end_character":48},"updated":"2017-04-19 11:06:37.000000000","message":"Same as _update_bgp_speaker_routes","commit_id":"e6b524834b5a655b1ddcfa4afe0cd579bd6dde1a"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"0de622d0702b542c8f57a67c2927232ea9dc44da","unresolved":false,"context_lines":[{"line_number":201,"context_line":"        ret_value \u003d super(DFBgpPlugin, self).remove_gateway_network("},{"line_number":202,"context_line":"            context, bgp_speaker_id, network_info)"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"        tenant_id \u003d context.tenant_id"},{"line_number":205,"context_line":"        self.nb_api.update(bgp.BGPSpeaker(id\u003dbgp_speaker_id,"},{"line_number":206,"context_line":"                                          topic\u003dtenant_id,"},{"line_number":207,"context_line":"                                          routes\u003d[]),"},{"line_number":208,"context_line":"                           skip_send_event\u003dTrue)"},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"        return ret_value"},{"line_number":211,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7ffa3b31_f2669b29","line":208,"range":{"start_line":204,"start_character":0,"end_line":208,"end_character":48},"updated":"2017-04-19 11:06:37.000000000","message":"Same as _update_bgp_speaker_routes","commit_id":"e6b524834b5a655b1ddcfa4afe0cd579bd6dde1a"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"66610dd0d4817f486b7300797b02165defc686b4","unresolved":false,"context_lines":[{"line_number":209,"context_line":""},{"line_number":210,"context_line":"        return ret_value"},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"    def get_advertised_routes(self, context, bgp_speaker_id):"},{"line_number":213,"context_line":"        tenant_id \u003d context.tenant_id"},{"line_number":214,"context_line":"        bgp_speaker \u003d self.nb_api.get(bgp.BGPSpeaker(id\u003dbgp_speaker_id,"},{"line_number":215,"context_line":"                                                     topic\u003dtenant_id))"},{"line_number":216,"context_line":"        return {\u0027advertised_routes\u0027: [{\u0027destination\u0027: r.destination,"},{"line_number":217,"context_line":"                                       \u0027next_hop\u0027: r.nexthop}"},{"line_number":218,"context_line":"                                      for r in bgp_speaker.routes]}"}],"source_content_type":"text/x-python","patch_set":1,"id":"7ffa3b31_10d9e67d","line":218,"range":{"start_line":212,"start_character":0,"end_line":218,"end_character":67},"updated":"2017-04-20 03:43:23.000000000","message":"These lines should go to https://review.openstack.org/#/c/452507/","commit_id":"e6b524834b5a655b1ddcfa4afe0cd579bd6dde1a"}],"dragonflow/tests/fullstack/test_neutron_api.py":[{"author":{"_account_id":23766,"name":"Dima Kuznetsov","email":"dima.kuznetsov@toganetworks.com","username":"dimak"},"change_message_id":"92c9f7f73112881d2e3f33f303a0596812747c9f","unresolved":false,"context_lines":[{"line_number":685,"context_line":"            router_id, body\u003d{\u0027subnet_id\u0027: private_sn_id})"},{"line_number":686,"context_line":"        self.neutron.add_gateway_router("},{"line_number":687,"context_line":"            router_id, body\u003d{\u0027network_id\u0027: public_network_id})"},{"line_number":688,"context_line":"        # Finnally, verify the route has been set in nb db."},{"line_number":689,"context_line":"        nb_bgp_speaker \u003d bgp_speaker.get_nb_bgp_speaker()"},{"line_number":690,"context_line":"        self.assertTrue(nb_bgp_speaker.routes)"},{"line_number":691,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"5ff73747_bfa84a77","line":688,"range":{"start_line":688,"start_character":10,"end_line":688,"end_character":18},"updated":"2017-04-24 10:16:17.000000000","message":"nit: Finally","commit_id":"1a8de8aecf06a2ce01e1bc55101d456199fe75e0"}]}
