)]}'
{"neutron/api/rpc/agentnotifiers/bgp_dr_rpc_agent_api.py":[{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"9ac4be5104ad0d391bc37938cb91beedd2f872ce","unresolved":false,"context_lines":[{"line_number":28,"context_line":"    \"\"\"API for plugin to notify BGP dr_agent.\"\"\""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    def __init__(self, topic\u003dtopics.BGP_SPEAKER_DR_AGENT):"},{"line_number":31,"context_line":"        target \u003d oslo_messaging.Target(topic\u003dtopic, version\u003d\u00271.0\u0027)"},{"line_number":32,"context_line":"        self.client \u003d n_rpc.get_client(target)"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    def start_route_advertisement(self, context, route, bgp_speaker_id):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a41bdd9_51e2f2d6","line":31,"updated":"2015-07-12 07:51:51.000000000","message":"Do we really want to hard-code the version? I would rather prefer a some version string provided by OSLO instead.","commit_id":"31c7c10c0b4c1cb6a1d5c34957d626c804adf3f6"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"ab1202b4a8d7d9f25e8c9a8f0580d79a07967b40","unresolved":false,"context_lines":[{"line_number":28,"context_line":"    \"\"\"API for plugin to notify BGP dr_agent.\"\"\""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    def __init__(self, topic\u003dtopics.BGP_SPEAKER_DR_AGENT):"},{"line_number":31,"context_line":"        target \u003d oslo_messaging.Target(topic\u003dtopic, version\u003d\u00271.0\u0027)"},{"line_number":32,"context_line":"        self.client \u003d n_rpc.get_client(target)"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    def start_route_advertisement(self, context, route, bgp_speaker_id):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a41bdd9_9bb811ca","line":31,"in_reply_to":"9a41bdd9_51e2f2d6","updated":"2015-07-14 20:33:50.000000000","message":"ACK, just interested in fleshing out the API.","commit_id":"31c7c10c0b4c1cb6a1d5c34957d626c804adf3f6"},{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"ed9852f4c10cc440c66b484bf538ecf400735942","unresolved":false,"context_lines":[{"line_number":32,"context_line":"        self.client \u003d n_rpc.get_client(target)"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    def start_route_advertisement(self, context, route, bgp_speaker_id):"},{"line_number":35,"context_line":"        # TODO(tidwellr) Implementation"},{"line_number":36,"context_line":"        pass"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    def stop_route_advertisement(self, context, route, bgp_speaker_id):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a41bdd9_321cc776","line":35,"updated":"2015-07-13 19:50:04.000000000","message":"For all of these, a docstring would be a good first start, IMHO. Then we can get a feel for what is intended by the method and better judge the naming.","commit_id":"31c7c10c0b4c1cb6a1d5c34957d626c804adf3f6"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"ab1202b4a8d7d9f25e8c9a8f0580d79a07967b40","unresolved":false,"context_lines":[{"line_number":32,"context_line":"        self.client \u003d n_rpc.get_client(target)"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    def start_route_advertisement(self, context, route, bgp_speaker_id):"},{"line_number":35,"context_line":"        # TODO(tidwellr) Implementation"},{"line_number":36,"context_line":"        pass"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    def stop_route_advertisement(self, context, route, bgp_speaker_id):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a41bdd9_3bca254f","line":35,"in_reply_to":"9a41bdd9_321cc776","updated":"2015-07-14 20:33:50.000000000","message":"Great suggestion, done.","commit_id":"31c7c10c0b4c1cb6a1d5c34957d626c804adf3f6"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"9ac4be5104ad0d391bc37938cb91beedd2f872ce","unresolved":false,"context_lines":[{"line_number":39,"context_line":"        # TODO(tidwellr) Implementation"},{"line_number":40,"context_line":"        pass"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    def bgp_peer_disassociated(self, context, bgp_speaker_id, bgp_peer_id):"},{"line_number":43,"context_line":"        # TODO(tidwellr) Implementation"},{"line_number":44,"context_line":"        pass"},{"line_number":45,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a41bdd9_71db761c","line":42,"updated":"2015-07-12 07:51:51.000000000","message":"How about renaming this API to \"disassociate_peer\"? Somehow I feel the API convention is not uniform in this class :(.","commit_id":"31c7c10c0b4c1cb6a1d5c34957d626c804adf3f6"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"ab1202b4a8d7d9f25e8c9a8f0580d79a07967b40","unresolved":false,"context_lines":[{"line_number":39,"context_line":"        # TODO(tidwellr) Implementation"},{"line_number":40,"context_line":"        pass"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    def bgp_peer_disassociated(self, context, bgp_speaker_id, bgp_peer_id):"},{"line_number":43,"context_line":"        # TODO(tidwellr) Implementation"},{"line_number":44,"context_line":"        pass"},{"line_number":45,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a41bdd9_bb9cf50f","line":42,"in_reply_to":"9a41bdd9_71db761c","updated":"2015-07-14 20:33:50.000000000","message":"See L50 comments.","commit_id":"31c7c10c0b4c1cb6a1d5c34957d626c804adf3f6"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"9ac4be5104ad0d391bc37938cb91beedd2f872ce","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        # TODO(tidwellr) Implementation"},{"line_number":44,"context_line":"        pass"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    def bgp_peer_associated(self, context, bgp_speaker_id, bgp_peer_id):"},{"line_number":47,"context_line":"        # TODO(tidwellr) Implementation"},{"line_number":48,"context_line":"        pass"},{"line_number":49,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a41bdd9_31040e7d","line":46,"updated":"2015-07-12 07:51:51.000000000","message":"Rename to \"associate_peer\"","commit_id":"31c7c10c0b4c1cb6a1d5c34957d626c804adf3f6"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"ab1202b4a8d7d9f25e8c9a8f0580d79a07967b40","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        # TODO(tidwellr) Implementation"},{"line_number":44,"context_line":"        pass"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    def bgp_peer_associated(self, context, bgp_speaker_id, bgp_peer_id):"},{"line_number":47,"context_line":"        # TODO(tidwellr) Implementation"},{"line_number":48,"context_line":"        pass"},{"line_number":49,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a41bdd9_5b9da908","line":46,"in_reply_to":"9a41bdd9_31040e7d","updated":"2015-07-14 20:33:50.000000000","message":"See L50 comments.","commit_id":"31c7c10c0b4c1cb6a1d5c34957d626c804adf3f6"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"9ac4be5104ad0d391bc37938cb91beedd2f872ce","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        # TODO(tidwellr) Implementation"},{"line_number":48,"context_line":"        pass"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    def bgp_speaker_created(self, context, bgp_speaker_id):"},{"line_number":51,"context_line":"        # TODO(tidwellr) Implementation"},{"line_number":52,"context_line":"        pass"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a41bdd9_d1c7e243","line":50,"updated":"2015-07-12 07:51:51.000000000","message":"1. Rename this API to \"create_speaker\"\n\n2. How about an API for removing a BGP speaker on the fly? Just a thought.","commit_id":"31c7c10c0b4c1cb6a1d5c34957d626c804adf3f6"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"ab1202b4a8d7d9f25e8c9a8f0580d79a07967b40","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        # TODO(tidwellr) Implementation"},{"line_number":48,"context_line":"        pass"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    def bgp_speaker_created(self, context, bgp_speaker_id):"},{"line_number":51,"context_line":"        # TODO(tidwellr) Implementation"},{"line_number":52,"context_line":"        pass"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a41bdd9_5bcfe928","line":50,"in_reply_to":"9a41bdd9_d1c7e243","updated":"2015-07-14 20:33:50.000000000","message":"1. I prefer this naming convention as these are notifications and I think this convention conveys that better.\n2. Done","commit_id":"31c7c10c0b4c1cb6a1d5c34957d626c804adf3f6"},{"author":{"_account_id":11682,"name":"Ryan Moats","email":"rmoats@us.ibm.com","username":"regXboi"},"change_message_id":"8c6a0d8e1b211c2ae692a5864eee874c037bc726","unresolved":false,"context_lines":[{"line_number":28,"context_line":"    \"\"\"API for plugin to notify BGP dr_agent.\"\"\""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    def __init__(self, topic\u003dtopics.BGP_SPEAKER_DR_AGENT):"},{"line_number":31,"context_line":"        target \u003d oslo_messaging.Target(topic\u003dtopic, version\u003d\u00271.0\u0027)"},{"line_number":32,"context_line":"        self.client \u003d n_rpc.get_client(target)"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    def start_route_advertisement(self, context, route, bgp_speaker_id):"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a41bdd9_3139f3f2","line":31,"updated":"2015-07-14 16:56:52.000000000","message":"+1 to vikram\u0027s comment from PS1","commit_id":"dfbe0980ac33cbb040ffcbecd8b804815328d930"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"133f4b9f11a48b7b93368ff5396588d14439723c","unresolved":false,"context_lines":[{"line_number":28,"context_line":"    \"\"\"API for plugin to notify BGP dr_agent.\"\"\""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    def __init__(self, topic\u003dtopics.BGP_SPEAKER_DR_AGENT):"},{"line_number":31,"context_line":"        target \u003d oslo_messaging.Target(topic\u003dtopic, version\u003d\u00271.0\u0027)"},{"line_number":32,"context_line":"        self.client \u003d n_rpc.get_client(target)"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    def start_route_advertisement(self, context, route, bgp_speaker_id):"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a41bdd9_5ba9298f","line":31,"in_reply_to":"9a41bdd9_3139f3f2","updated":"2015-07-14 20:34:04.000000000","message":"ACK. More interested in fleshing out the API at the moment","commit_id":"dfbe0980ac33cbb040ffcbecd8b804815328d930"},{"author":{"_account_id":11682,"name":"Ryan Moats","email":"rmoats@us.ibm.com","username":"regXboi"},"change_message_id":"8c6a0d8e1b211c2ae692a5864eee874c037bc726","unresolved":false,"context_lines":[{"line_number":32,"context_line":"        self.client \u003d n_rpc.get_client(target)"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    def start_route_advertisement(self, context, route, bgp_speaker_id):"},{"line_number":35,"context_line":"        # TODO(tidwellr) Implementation"},{"line_number":36,"context_line":"        pass"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    def stop_route_advertisement(self, context, route, bgp_speaker_id):"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a41bdd9_ec189277","line":35,"updated":"2015-07-14 16:56:52.000000000","message":"+1 to Paul\u0027s comment from PS1","commit_id":"dfbe0980ac33cbb040ffcbecd8b804815328d930"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"133f4b9f11a48b7b93368ff5396588d14439723c","unresolved":false,"context_lines":[{"line_number":32,"context_line":"        self.client \u003d n_rpc.get_client(target)"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    def start_route_advertisement(self, context, route, bgp_speaker_id):"},{"line_number":35,"context_line":"        # TODO(tidwellr) Implementation"},{"line_number":36,"context_line":"        pass"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    def stop_route_advertisement(self, context, route, bgp_speaker_id):"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a41bdd9_3b95453e","line":35,"in_reply_to":"9a41bdd9_ec189277","updated":"2015-07-14 20:34:04.000000000","message":"Done","commit_id":"dfbe0980ac33cbb040ffcbecd8b804815328d930"},{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"3a4b9432fad801c14d2fdf9962535ba5d2716393","unresolved":false,"context_lines":[{"line_number":50,"context_line":"        pass"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    def bgp_peer_disassociation(self, context, bgp_speaker_id, bgp_peer_id):"},{"line_number":53,"context_line":"        \"\"\"Tell bgp_dr_agent about a new BgpPeer association."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"           This effectively tells the bgp_dr_agent to stop a peering session."},{"line_number":56,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":3,"id":"9a41bdd9_0b332a15","line":53,"updated":"2015-07-15 13:35:16.000000000","message":"disassociation.  Should method be named stop_bgp_peering/stop_bgp_peering_session or some thing like that?","commit_id":"8d61216f2cc863c556dec07d4e4eb43eb5f14195"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"049138f5d4246487fa382a8d65ebfc569d5999ac","unresolved":false,"context_lines":[{"line_number":50,"context_line":"        pass"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    def bgp_peer_disassociation(self, context, bgp_speaker_id, bgp_peer_id):"},{"line_number":53,"context_line":"        \"\"\"Tell bgp_dr_agent about a new BgpPeer association."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"           This effectively tells the bgp_dr_agent to stop a peering session."},{"line_number":56,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":3,"id":"9a41bdd9_527a1e89","line":53,"in_reply_to":"9a41bdd9_0b332a15","updated":"2015-07-16 04:44:28.000000000","message":"@Paul: +1. We have already discussed about this. Will change the name accordingly.","commit_id":"8d61216f2cc863c556dec07d4e4eb43eb5f14195"},{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"3a4b9432fad801c14d2fdf9962535ba5d2716393","unresolved":false,"context_lines":[{"line_number":58,"context_line":"        pass"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    def bgp_peer_association(self, context, bgp_speaker_id, bgp_peer_id):"},{"line_number":61,"context_line":"        \"\"\"Tell bgp_dr_agent about a BgpPeer disassociation."},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"           This effectively tells the bgp_dr_agent to open a peering session."},{"line_number":64,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":3,"id":"9a41bdd9_eb3da6dd","line":61,"updated":"2015-07-15 13:35:16.000000000","message":"association.","commit_id":"8d61216f2cc863c556dec07d4e4eb43eb5f14195"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"4b7d42c2c028c6878add4431f2484807aa38e60e","unresolved":false,"context_lines":[{"line_number":65,"context_line":"        # TODO(tidwellr) Implementation"},{"line_number":66,"context_line":"        pass"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"    def bgp_speaker_created(self, context, bgp_speaker_id):"},{"line_number":69,"context_line":"        \"\"\"Tell bgp_dr_agent about the creation of a BgpSpeaker."},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"           Because a BgpSpeaker can be created with BgpPeer binding in place,"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a41bdd9_2a73b016","line":68,"updated":"2015-07-15 05:55:13.000000000","message":"Need to re-think whether a BgpSpeaker is created through the API or whether it\u0027s created by configuring a bgp_dr_agent with a config flag along the lines of local_as.  As such, this may not be needed and potentially might be turned into a server callback.","commit_id":"8d61216f2cc863c556dec07d4e4eb43eb5f14195"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"4b7d42c2c028c6878add4431f2484807aa38e60e","unresolved":false,"context_lines":[{"line_number":75,"context_line":"        # TODO(tidwellr) Implementation"},{"line_number":76,"context_line":"        pass"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"    def bgp_speaker_removed(self, context, bgp_speaker_id):"},{"line_number":79,"context_line":"        \"\"\"Tell bgp_dr_agent about the removal of a BgpSpeaker."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"           Because a BgpSpeaker can be removed with BgpPeer binding in place,"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a41bdd9_0a4d8cc3","line":78,"updated":"2015-07-15 05:55:13.000000000","message":"Same as L68","commit_id":"8d61216f2cc863c556dec07d4e4eb43eb5f14195"}],"neutron/api/rpc/handlers/bgp_speaker_rpc.py":[{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"ed9852f4c10cc440c66b484bf538ecf400735942","unresolved":false,"context_lines":[{"line_number":46,"context_line":"        return self._bgp_speaker_plugin.get_advertised_routes(context,"},{"line_number":47,"context_line":"                                                              bgp_speaker_id)"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    def get_bgp_speaker_details(self, context, bgp_speaker_id):"},{"line_number":50,"context_line":"        # TODO(tidwellr) Implementation"},{"line_number":51,"context_line":"        pass"},{"line_number":52,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a41bdd9_b56441e5","line":49,"updated":"2015-07-13 19:50:04.000000000","message":"Ditto on the docstrings...","commit_id":"31c7c10c0b4c1cb6a1d5c34957d626c804adf3f6"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"ab1202b4a8d7d9f25e8c9a8f0580d79a07967b40","unresolved":false,"context_lines":[{"line_number":46,"context_line":"        return self._bgp_speaker_plugin.get_advertised_routes(context,"},{"line_number":47,"context_line":"                                                              bgp_speaker_id)"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    def get_bgp_speaker_details(self, context, bgp_speaker_id):"},{"line_number":50,"context_line":"        # TODO(tidwellr) Implementation"},{"line_number":51,"context_line":"        pass"},{"line_number":52,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a41bdd9_db91b9f2","line":49,"in_reply_to":"9a41bdd9_b56441e5","updated":"2015-07-14 20:33:50.000000000","message":"Done","commit_id":"31c7c10c0b4c1cb6a1d5c34957d626c804adf3f6"}],"neutron/common/topics.py":[{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"9158122736c06e92a37fb7fa8c08be6c0973ff68","unresolved":false,"context_lines":[{"line_number":37,"context_line":"DHCP_AGENT \u003d \u0027dhcp_agent\u0027"},{"line_number":38,"context_line":"METERING_AGENT \u003d \u0027metering_agent\u0027"},{"line_number":39,"context_line":"LOADBALANCER_AGENT \u003d \u0027n-lbaas_agent\u0027"},{"line_number":40,"context_line":"BGP_SPEAKER_DR_AGENT \u003d \u0027n-bgp-speaker-dr-agent\u0027"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"def get_topic_name(prefix, table, operation, host\u003dNone):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a41bdd9_0eadc030","line":40,"updated":"2015-07-14 12:53:43.000000000","message":"I feel this should be included as the part of \"Agent patch\". Request you to make this patch as a dependent of the agent patch once out for review.","commit_id":"31c7c10c0b4c1cb6a1d5c34957d626c804adf3f6"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"ab1202b4a8d7d9f25e8c9a8f0580d79a07967b40","unresolved":false,"context_lines":[{"line_number":37,"context_line":"DHCP_AGENT \u003d \u0027dhcp_agent\u0027"},{"line_number":38,"context_line":"METERING_AGENT \u003d \u0027metering_agent\u0027"},{"line_number":39,"context_line":"LOADBALANCER_AGENT \u003d \u0027n-lbaas_agent\u0027"},{"line_number":40,"context_line":"BGP_SPEAKER_DR_AGENT \u003d \u0027n-bgp-speaker-dr-agent\u0027"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"def get_topic_name(prefix, table, operation, host\u003dNone):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a41bdd9_9b4c919f","line":40,"in_reply_to":"9a41bdd9_0eadc030","updated":"2015-07-14 20:33:50.000000000","message":"OK, will do. Leaving as is for now. Once we\u0027ve iterated on the API I\u0027ll pull this out.  Will add a TODO for now.","commit_id":"31c7c10c0b4c1cb6a1d5c34957d626c804adf3f6"}]}
