)]}'
{"neutron/db/l3_db.py":[{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"c81915e18cf0b0d5b5358290ffb5633e1c319d8e","unresolved":false,"context_lines":[{"line_number":1158,"context_line":"        if \u0027description\u0027 in fip:"},{"line_number":1159,"context_line":"            update[\u0027description\u0027] \u003d fip[\u0027description\u0027]"},{"line_number":1160,"context_line":"        floatingip_db.update(update)"},{"line_number":1161,"context_line":"        next_hop \u003d None"},{"line_number":1162,"context_line":"        if router_id:"},{"line_number":1163,"context_line":"            # NOTE(tidwellr) use admin context here"},{"line_number":1164,"context_line":"            # tenant may not own the router and that\u0027s OK on a FIP association"}],"source_content_type":"text/x-python","patch_set":1,"id":"1ac06dbe_2f09772d","side":"PARENT","line":1161,"updated":"2016-08-19 15:05:18.000000000","message":"You can\u0027t remove this block. This needs to be included on the registry event.  See [1] as just one example. This change should not be merged, we need to include next_hop in the registry event, consumers of the event expect it.\n\n[1] https://github.com/openstack/neutron-dynamic-routing/blob/master/neutron_dynamic_routing/services/bgp/bgp_plugin.py#L226","commit_id":"af9ad0c35e40e91357a7ec41b12416b4ca34cd83"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"7536fa6d53f818b08a8fe7809b9139604999d0f9","unresolved":false,"context_lines":[{"line_number":1158,"context_line":"        if \u0027description\u0027 in fip:"},{"line_number":1159,"context_line":"            update[\u0027description\u0027] \u003d fip[\u0027description\u0027]"},{"line_number":1160,"context_line":"        floatingip_db.update(update)"},{"line_number":1161,"context_line":"        next_hop \u003d None"},{"line_number":1162,"context_line":"        if router_id:"},{"line_number":1163,"context_line":"            # NOTE(tidwellr) use admin context here"},{"line_number":1164,"context_line":"            # tenant may not own the router and that\u0027s OK on a FIP association"}],"source_content_type":"text/x-python","patch_set":1,"id":"1ac06dbe_59910599","side":"PARENT","line":1161,"in_reply_to":"1ac06dbe_2f09772d","updated":"2016-08-19 23:57:59.000000000","message":"Yes, currently you are right.\nBut the patch, https://review.openstack.org/#/c/357716, will do that next_hop query:\nhttps://review.openstack.org/#/c/357716/2/neutron_dynamic_routing/services/bgp/bgp_plugin.py\n\n\nThis patch commit message said that it\u0027s based on neutron-dynamic-routing change: I67efa68bb8d115378dd99cb149d60f2b75659c1a","commit_id":"af9ad0c35e40e91357a7ec41b12416b4ca34cd83"},{"author":{"_account_id":5367,"name":"boden","email":"bodenvmw@gmail.com","username":"boden"},"change_message_id":"d60fea9dfb0ac322119100b9c4eb426367c44ebe","unresolved":false,"context_lines":[{"line_number":1201,"context_line":"                \u0027last_known_router_id\u0027: previous_router_id,"},{"line_number":1202,"context_line":"                \u0027floating_ip_address\u0027: floatingip_db.floating_ip_address,"},{"line_number":1203,"context_line":"                \u0027floating_network_id\u0027: floatingip_db.floating_network_id,"},{"line_number":1204,"context_line":"                \u0027next_hop\u0027: next_hop,"},{"line_number":1205,"context_line":"                \u0027context\u0027: context}"},{"line_number":1206,"context_line":"        registry.notify(resources.FLOATING_IP,"},{"line_number":1207,"context_line":"                        events.AFTER_UPDATE,"}],"source_content_type":"text/x-python","patch_set":3,"id":"da6895a0_1e42bb3e","side":"PARENT","line":1204,"range":{"start_line":1204,"start_character":17,"end_line":1204,"end_character":25},"updated":"2016-10-24 16:35:03.000000000","message":"There appears to be at least one consumer of this notification that uses next_hop [1]. Whats the plan for these consumers to get the next_hop value as part of a notification??\n\n\n[1] https://github.com/openstack/neutron-dynamic-routing/blob/master/neutron_dynamic_routing/services/bgp/bgp_plugin.py#L226","commit_id":"be29217d82cc633bda1a66c2e50612de1e3f7e15"},{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"70f5c521beae2e8c9408e90af5a8eb5b0fc9bc34","unresolved":false,"context_lines":[{"line_number":1179,"context_line":"                \u0027floating_ip_address\u0027: floatingip_db.floating_ip_address,"},{"line_number":1180,"context_line":"                \u0027floating_network_id\u0027: floatingip_db.floating_network_id,"},{"line_number":1181,"context_line":"                \u0027floating_ip_id\u0027: floatingip_db.id,"},{"line_number":1182,"context_line":"                \u0027next_hop\u0027: next_hop,"},{"line_number":1183,"context_line":"                \u0027context\u0027: context}"},{"line_number":1184,"context_line":""},{"line_number":1185,"context_line":"    def _is_ipv4_network(self, context, net_id):"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a71b18c_3bc5ad5a","side":"PARENT","line":1182,"updated":"2016-12-03 11:11:38.000000000","message":"i guess this kind of change needs a head up and probably some deprecation period.","commit_id":"b9d0a5b885282f170952b102a8f69f3112df9406"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"0a7e6de11de9599e36d4423219a868598afb8701","unresolved":false,"context_lines":[{"line_number":1179,"context_line":"                \u0027floating_ip_address\u0027: floatingip_db.floating_ip_address,"},{"line_number":1180,"context_line":"                \u0027floating_network_id\u0027: floatingip_db.floating_network_id,"},{"line_number":1181,"context_line":"                \u0027floating_ip_id\u0027: floatingip_db.id,"},{"line_number":1182,"context_line":"                \u0027next_hop\u0027: next_hop,"},{"line_number":1183,"context_line":"                \u0027context\u0027: context}"},{"line_number":1184,"context_line":""},{"line_number":1185,"context_line":"    def _is_ipv4_network(self, context, net_id):"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a71b18c_b48c03db","side":"PARENT","line":1182,"in_reply_to":"3a71b18c_3bc5ad5a","updated":"2016-12-06 18:28:29.000000000","message":"This was added specifically for BGP support when it was still in-tree. I\u0027m all for treading lightly. I\u0027m not aware of any projects beside neutron-dynamic-routing that would be leveraging this though.","commit_id":"b9d0a5b885282f170952b102a8f69f3112df9406"},{"author":{"_account_id":13995,"name":"Nate Johnston","email":"nate.johnston@redhat.com","username":"natejohnston"},"change_message_id":"86683a5c877965afd84b23e55871f1715faeb8fc","unresolved":false,"context_lines":[{"line_number":1179,"context_line":"                \u0027floating_ip_address\u0027: floatingip_db.floating_ip_address,"},{"line_number":1180,"context_line":"                \u0027floating_network_id\u0027: floatingip_db.floating_network_id,"},{"line_number":1181,"context_line":"                \u0027floating_ip_id\u0027: floatingip_db.id,"},{"line_number":1182,"context_line":"                \u0027next_hop\u0027: next_hop,"},{"line_number":1183,"context_line":"                \u0027context\u0027: context}"},{"line_number":1184,"context_line":""},{"line_number":1185,"context_line":"    def _is_ipv4_network(self, context, net_id):"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba5201f7_a4bce106","side":"PARENT","line":1182,"in_reply_to":"3a71b18c_b48c03db","updated":"2017-01-06 02:28:12.000000000","message":"If the API is returning next_hop in all cases - which it appears to be - then removing the field is an API change that I agree needs some kind of deprecation.  We could flag these two lines for deprecation:\n\n    1164    next_hop \u003d None\n    ...\n    1182     \u0027next_hop\u0027: next_hop,\n\nAnd we could remove the other lines deleted here (1165 to 1174) so next_hop is never set.","commit_id":"b9d0a5b885282f170952b102a8f69f3112df9406"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"197422205176cb376fa026b1f6930e8be4d3654e","unresolved":false,"context_lines":[{"line_number":1179,"context_line":"                \u0027floating_ip_address\u0027: floatingip_db.floating_ip_address,"},{"line_number":1180,"context_line":"                \u0027floating_network_id\u0027: floatingip_db.floating_network_id,"},{"line_number":1181,"context_line":"                \u0027floating_ip_id\u0027: floatingip_db.id,"},{"line_number":1182,"context_line":"                \u0027next_hop\u0027: next_hop,"},{"line_number":1183,"context_line":"                \u0027context\u0027: context}"},{"line_number":1184,"context_line":""},{"line_number":1185,"context_line":"    def _is_ipv4_network(self, context, net_id):"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba5201f7_e1077b15","side":"PARENT","line":1182,"in_reply_to":"ba5201f7_86524533","updated":"2017-01-09 06:51:39.000000000","message":"And this patch doesn\u0027t remove the notification, it just removed the next_hop param, and again:\n\"And now even neutron-dynamic-routing will no longer use such next_hop, bgp-plugin will query the next_hop directly [1], so we can remove these lines.\n[1] https://review.openstack.org/#/c/372310/\"","commit_id":"b9d0a5b885282f170952b102a8f69f3112df9406"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"83943ccacfdadc39b4d0f053fe7e8c2f2e7712cf","unresolved":false,"context_lines":[{"line_number":1179,"context_line":"                \u0027floating_ip_address\u0027: floatingip_db.floating_ip_address,"},{"line_number":1180,"context_line":"                \u0027floating_network_id\u0027: floatingip_db.floating_network_id,"},{"line_number":1181,"context_line":"                \u0027floating_ip_id\u0027: floatingip_db.id,"},{"line_number":1182,"context_line":"                \u0027next_hop\u0027: next_hop,"},{"line_number":1183,"context_line":"                \u0027context\u0027: context}"},{"line_number":1184,"context_line":""},{"line_number":1185,"context_line":"    def _is_ipv4_network(self, context, net_id):"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba5201f7_86524533","side":"PARENT","line":1182,"in_reply_to":"ba5201f7_8d3d2fdf","updated":"2017-01-09 06:48:05.000000000","message":"Thanks, I think your question has been answered by Ryan Tidwell. Just look up. : )","commit_id":"b9d0a5b885282f170952b102a8f69f3112df9406"},{"author":{"_account_id":13995,"name":"Nate Johnston","email":"nate.johnston@redhat.com","username":"natejohnston"},"change_message_id":"537ccf9f58838a691515e43f096d3f5993b13b02","unresolved":false,"context_lines":[{"line_number":1179,"context_line":"                \u0027floating_ip_address\u0027: floatingip_db.floating_ip_address,"},{"line_number":1180,"context_line":"                \u0027floating_network_id\u0027: floatingip_db.floating_network_id,"},{"line_number":1181,"context_line":"                \u0027floating_ip_id\u0027: floatingip_db.id,"},{"line_number":1182,"context_line":"                \u0027next_hop\u0027: next_hop,"},{"line_number":1183,"context_line":"                \u0027context\u0027: context}"},{"line_number":1184,"context_line":""},{"line_number":1185,"context_line":"    def _is_ipv4_network(self, context, net_id):"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba5201f7_8d3d2fdf","side":"PARENT","line":1182,"in_reply_to":"ba5201f7_9329d38c","updated":"2017-01-06 15:36:51.000000000","message":"Good point.  Is neutron-dynamic-routing the only thing that will listen for the FLOATING_IP RPC topic?  If so, then yes I believe that you are correct.  If not, then I think a deprecation is needed.","commit_id":"b9d0a5b885282f170952b102a8f69f3112df9406"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"f6650b861fbc4a7a605ada57fb388ad53488a7ff","unresolved":false,"context_lines":[{"line_number":1179,"context_line":"                \u0027floating_ip_address\u0027: floatingip_db.floating_ip_address,"},{"line_number":1180,"context_line":"                \u0027floating_network_id\u0027: floatingip_db.floating_network_id,"},{"line_number":1181,"context_line":"                \u0027floating_ip_id\u0027: floatingip_db.id,"},{"line_number":1182,"context_line":"                \u0027next_hop\u0027: next_hop,"},{"line_number":1183,"context_line":"                \u0027context\u0027: context}"},{"line_number":1184,"context_line":""},{"line_number":1185,"context_line":"    def _is_ipv4_network(self, context, net_id):"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba5201f7_9329d38c","side":"PARENT","line":1182,"in_reply_to":"ba5201f7_a4bce106","updated":"2017-01-06 13:07:09.000000000","message":"next_hop is not return to API, its just a notification value for neutron-dynamic-routing, please see Line 1266 and Line 1297. And now even neutron-dynamic-routing will no longer use such next_hop, bgp-plugin will query the next_hop directly [1], so we can remove these lines.\n\n[1] https://review.openstack.org/#/c/372310/","commit_id":"b9d0a5b885282f170952b102a8f69f3112df9406"},{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"ab25a7ec885b862cf4ff30b6edf15defaaf7a0a6","unresolved":false,"context_lines":[{"line_number":1179,"context_line":"                \u0027floating_ip_address\u0027: floatingip_db.floating_ip_address,"},{"line_number":1180,"context_line":"                \u0027floating_network_id\u0027: floatingip_db.floating_network_id,"},{"line_number":1181,"context_line":"                \u0027floating_ip_id\u0027: floatingip_db.id,"},{"line_number":1182,"context_line":"                \u0027next_hop\u0027: next_hop,"},{"line_number":1183,"context_line":"                \u0027context\u0027: context}"},{"line_number":1184,"context_line":""},{"line_number":1185,"context_line":"    def _is_ipv4_network(self, context, net_id):"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba5201f7_bd0f242d","side":"PARENT","line":1182,"in_reply_to":"ba5201f7_e1077b15","updated":"2017-01-10 06:36:16.000000000","message":"a heads-up wouldn\u0027t hurt anyway.  ie. send a mail to the ML and see.","commit_id":"b9d0a5b885282f170952b102a8f69f3112df9406"}]}
