)]}'
{"specs/xena/explicit-default-routes.rst":[{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"2d588c54038b25996fee55a2853a7d0b52623a26","unresolved":true,"context_lines":[{"line_number":40,"context_line":"This spec proposes to separate the implicit management of a router\u0027s"},{"line_number":41,"context_line":"default route from the explicit.  A router either has the one traditional"},{"line_number":42,"context_line":"implicit default route or all of its default route(s) are explicitly"},{"line_number":43,"context_line":"managed via the extraroute API.  But a never a mixture of these two."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"We propose to have a new API extension: ``default-route-management``."},{"line_number":46,"context_line":"Which introduces a new router attribute: ``explicit_default_routes``."}],"source_content_type":"text/x-rst","patch_set":1,"id":"a2df1d68_2d7fc7ee","line":43,"range":{"start_line":43,"start_character":33,"end_line":43,"end_character":46},"updated":"2021-03-22 08:26:32.000000000","message":"nit: But never a mixture...","commit_id":"11a2c8b3201ab79a9023d5e22cc88448cf25b6b6"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"9485c544b6810c5630acfff6174e7f8867c58e46","unresolved":false,"context_lines":[{"line_number":40,"context_line":"This spec proposes to separate the implicit management of a router\u0027s"},{"line_number":41,"context_line":"default route from the explicit.  A router either has the one traditional"},{"line_number":42,"context_line":"implicit default route or all of its default route(s) are explicitly"},{"line_number":43,"context_line":"managed via the extraroute API.  But a never a mixture of these two."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"We propose to have a new API extension: ``default-route-management``."},{"line_number":46,"context_line":"Which introduces a new router attribute: ``explicit_default_routes``."}],"source_content_type":"text/x-rst","patch_set":1,"id":"7cc8164d_29222a4c","line":43,"range":{"start_line":43,"start_character":33,"end_line":43,"end_character":46},"in_reply_to":"a2df1d68_2d7fc7ee","updated":"2021-03-31 12:29:48.000000000","message":"Done","commit_id":"11a2c8b3201ab79a9023d5e22cc88448cf25b6b6"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"2d588c54038b25996fee55a2853a7d0b52623a26","unresolved":true,"context_lines":[{"line_number":56,"context_line":"API is not recommended."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"When ``explicit_default_routes`` is set to ``True`` (explicit mode)"},{"line_number":59,"context_line":"the Neutron router is not going to have any default routes installed."},{"line_number":60,"context_line":"In explicit mode default routes can be managed via the ``extraroute`` API."},{"line_number":61,"context_line":"And they can be managed properly - for example all of the default routes"},{"line_number":62,"context_line":"set are visible via the ``extraroute`` API."}],"source_content_type":"text/x-rst","patch_set":1,"id":"bffdeb53_d1f9555b","line":59,"range":{"start_line":59,"start_character":0,"end_line":59,"end_character":69},"updated":"2021-03-22 08:26:32.000000000","message":"To have the same usability worth to think about adding the same default route (as in \"implicit\" mode) as extraroute during gw port addition.","commit_id":"11a2c8b3201ab79a9023d5e22cc88448cf25b6b6"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"9485c544b6810c5630acfff6174e7f8867c58e46","unresolved":true,"context_lines":[{"line_number":56,"context_line":"API is not recommended."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"When ``explicit_default_routes`` is set to ``True`` (explicit mode)"},{"line_number":59,"context_line":"the Neutron router is not going to have any default routes installed."},{"line_number":60,"context_line":"In explicit mode default routes can be managed via the ``extraroute`` API."},{"line_number":61,"context_line":"And they can be managed properly - for example all of the default routes"},{"line_number":62,"context_line":"set are visible via the ``extraroute`` API."}],"source_content_type":"text/x-rst","patch_set":1,"id":"3d2bd751_b0d8d27e","line":59,"range":{"start_line":59,"start_character":0,"end_line":59,"end_character":69},"in_reply_to":"bffdeb53_d1f9555b","updated":"2021-03-31 12:29:48.000000000","message":"I interpreted your idea as keeping the same behavior (of installing a default route) in explicit mode as we had in implicit mode. But this time together with the corresponding extra route record. So the switch from implicit to explicit would not actually change the routing table, only the list of extra routes.\n\nI really liked the idea first, but then I started to realize two things:\n\n1) If we do this, the user still cannot uniformly manage all default routes. One default route will occasionally be managed through the external gateway networks gateway_ip. The rest through explicit extra routes.\n\n2) This may have a bit more complex implementation, because we need to consider the case when the removal of the original default route\u0027s extra route overrides the external gateway networks gateway_ip.\n\nSo now I slightly lean to keep the original proposal.\n\nWhat do you think?","commit_id":"11a2c8b3201ab79a9023d5e22cc88448cf25b6b6"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"48d53e017ce98afb16377d0a2ad1f4228b10136a","unresolved":true,"context_lines":[{"line_number":25,"context_line":"its nexthop being the gateway port\u0027s first subnet\u0027s ``gateway_ip``)."},{"line_number":26,"context_line":"To the best of my knowledge the interaction of the default routes out of"},{"line_number":27,"context_line":"these two sources is problematic.  For example our api-ref has warnings"},{"line_number":28,"context_line":"about it. [1] Other times people not familiar with these warnings consider"},{"line_number":29,"context_line":"this behavior outright buggy. [2]"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"We also already have a spec merged for ECMP. [3] ECMP makes as much"}],"source_content_type":"text/x-rst","patch_set":2,"id":"73260436_d910e9c3","line":28,"range":{"start_line":28,"start_character":10,"end_line":28,"end_character":13},"updated":"2021-03-29 10:13:05.000000000","message":"_ is missing after [1] to make it really link in the rendered html page","commit_id":"39d3c02112362442e5a2e5013f05cdac5e2b5870"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"48d53e017ce98afb16377d0a2ad1f4228b10136a","unresolved":true,"context_lines":[{"line_number":25,"context_line":"its nexthop being the gateway port\u0027s first subnet\u0027s ``gateway_ip``)."},{"line_number":26,"context_line":"To the best of my knowledge the interaction of the default routes out of"},{"line_number":27,"context_line":"these two sources is problematic.  For example our api-ref has warnings"},{"line_number":28,"context_line":"about it. [1] Other times people not familiar with these warnings consider"},{"line_number":29,"context_line":"this behavior outright buggy. [2]"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"We also already have a spec merged for ECMP. [3] ECMP makes as much"}],"source_content_type":"text/x-rst","patch_set":2,"id":"db542419_ea422b11","line":28,"range":{"start_line":28,"start_character":8,"end_line":28,"end_character":9},"updated":"2021-03-29 10:13:05.000000000","message":"nit: shouldn\u0027t that dot be after \"[1]\"?","commit_id":"39d3c02112362442e5a2e5013f05cdac5e2b5870"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"9485c544b6810c5630acfff6174e7f8867c58e46","unresolved":false,"context_lines":[{"line_number":25,"context_line":"its nexthop being the gateway port\u0027s first subnet\u0027s ``gateway_ip``)."},{"line_number":26,"context_line":"To the best of my knowledge the interaction of the default routes out of"},{"line_number":27,"context_line":"these two sources is problematic.  For example our api-ref has warnings"},{"line_number":28,"context_line":"about it. [1] Other times people not familiar with these warnings consider"},{"line_number":29,"context_line":"this behavior outright buggy. [2]"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"We also already have a spec merged for ECMP. [3] ECMP makes as much"}],"source_content_type":"text/x-rst","patch_set":2,"id":"49af89fb_bc545ab3","line":28,"range":{"start_line":28,"start_character":10,"end_line":28,"end_character":13},"in_reply_to":"73260436_d910e9c3","updated":"2021-03-31 12:29:48.000000000","message":"Done","commit_id":"39d3c02112362442e5a2e5013f05cdac5e2b5870"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"9485c544b6810c5630acfff6174e7f8867c58e46","unresolved":false,"context_lines":[{"line_number":25,"context_line":"its nexthop being the gateway port\u0027s first subnet\u0027s ``gateway_ip``)."},{"line_number":26,"context_line":"To the best of my knowledge the interaction of the default routes out of"},{"line_number":27,"context_line":"these two sources is problematic.  For example our api-ref has warnings"},{"line_number":28,"context_line":"about it. [1] Other times people not familiar with these warnings consider"},{"line_number":29,"context_line":"this behavior outright buggy. [2]"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"We also already have a spec merged for ECMP. [3] ECMP makes as much"}],"source_content_type":"text/x-rst","patch_set":2,"id":"8974fc36_a96c9df6","line":28,"range":{"start_line":28,"start_character":8,"end_line":28,"end_character":9},"in_reply_to":"db542419_ea422b11","updated":"2021-03-31 12:29:48.000000000","message":"Done","commit_id":"39d3c02112362442e5a2e5013f05cdac5e2b5870"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"48d53e017ce98afb16377d0a2ad1f4228b10136a","unresolved":true,"context_lines":[{"line_number":26,"context_line":"To the best of my knowledge the interaction of the default routes out of"},{"line_number":27,"context_line":"these two sources is problematic.  For example our api-ref has warnings"},{"line_number":28,"context_line":"about it. [1] Other times people not familiar with these warnings consider"},{"line_number":29,"context_line":"this behavior outright buggy. [2]"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"We also already have a spec merged for ECMP. [3] ECMP makes as much"},{"line_number":32,"context_line":"sense for the default route as for any other route.  But today if you"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ca1aad57_94d693da","line":29,"range":{"start_line":29,"start_character":30,"end_line":29,"end_character":33},"updated":"2021-03-29 10:13:05.000000000","message":"missing \"_\" here too","commit_id":"39d3c02112362442e5a2e5013f05cdac5e2b5870"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"48d53e017ce98afb16377d0a2ad1f4228b10136a","unresolved":true,"context_lines":[{"line_number":26,"context_line":"To the best of my knowledge the interaction of the default routes out of"},{"line_number":27,"context_line":"these two sources is problematic.  For example our api-ref has warnings"},{"line_number":28,"context_line":"about it. [1] Other times people not familiar with these warnings consider"},{"line_number":29,"context_line":"this behavior outright buggy. [2]"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"We also already have a spec merged for ECMP. [3] ECMP makes as much"},{"line_number":32,"context_line":"sense for the default route as for any other route.  But today if you"}],"source_content_type":"text/x-rst","patch_set":2,"id":"79d377de_6ff842a0","line":29,"range":{"start_line":29,"start_character":28,"end_line":29,"end_character":29},"updated":"2021-03-29 10:13:05.000000000","message":"same nit here","commit_id":"39d3c02112362442e5a2e5013f05cdac5e2b5870"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"9485c544b6810c5630acfff6174e7f8867c58e46","unresolved":false,"context_lines":[{"line_number":26,"context_line":"To the best of my knowledge the interaction of the default routes out of"},{"line_number":27,"context_line":"these two sources is problematic.  For example our api-ref has warnings"},{"line_number":28,"context_line":"about it. [1] Other times people not familiar with these warnings consider"},{"line_number":29,"context_line":"this behavior outright buggy. [2]"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"We also already have a spec merged for ECMP. [3] ECMP makes as much"},{"line_number":32,"context_line":"sense for the default route as for any other route.  But today if you"}],"source_content_type":"text/x-rst","patch_set":2,"id":"f9187fda_4e7659b6","line":29,"range":{"start_line":29,"start_character":28,"end_line":29,"end_character":29},"in_reply_to":"79d377de_6ff842a0","updated":"2021-03-31 12:29:48.000000000","message":"Done","commit_id":"39d3c02112362442e5a2e5013f05cdac5e2b5870"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"9485c544b6810c5630acfff6174e7f8867c58e46","unresolved":false,"context_lines":[{"line_number":26,"context_line":"To the best of my knowledge the interaction of the default routes out of"},{"line_number":27,"context_line":"these two sources is problematic.  For example our api-ref has warnings"},{"line_number":28,"context_line":"about it. [1] Other times people not familiar with these warnings consider"},{"line_number":29,"context_line":"this behavior outright buggy. [2]"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"We also already have a spec merged for ECMP. [3] ECMP makes as much"},{"line_number":32,"context_line":"sense for the default route as for any other route.  But today if you"}],"source_content_type":"text/x-rst","patch_set":2,"id":"968a2b7a_ca892893","line":29,"range":{"start_line":29,"start_character":30,"end_line":29,"end_character":33},"in_reply_to":"ca1aad57_94d693da","updated":"2021-03-31 12:29:48.000000000","message":"Done","commit_id":"39d3c02112362442e5a2e5013f05cdac5e2b5870"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"48d53e017ce98afb16377d0a2ad1f4228b10136a","unresolved":true,"context_lines":[{"line_number":28,"context_line":"about it. [1] Other times people not familiar with these warnings consider"},{"line_number":29,"context_line":"this behavior outright buggy. [2]"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"We also already have a spec merged for ECMP. [3] ECMP makes as much"},{"line_number":32,"context_line":"sense for the default route as for any other route.  But today if you"},{"line_number":33,"context_line":"want to manage multiple default route entries in order to have ECMP over"},{"line_number":34,"context_line":"the default route, then you have to manage a mishmash of the implicit"}],"source_content_type":"text/x-rst","patch_set":2,"id":"36bc416f_006fcbfb","line":31,"range":{"start_line":31,"start_character":43,"end_line":31,"end_character":48},"updated":"2021-03-29 10:13:05.000000000","message":"same 2 comments applies here also","commit_id":"39d3c02112362442e5a2e5013f05cdac5e2b5870"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"9485c544b6810c5630acfff6174e7f8867c58e46","unresolved":false,"context_lines":[{"line_number":28,"context_line":"about it. [1] Other times people not familiar with these warnings consider"},{"line_number":29,"context_line":"this behavior outright buggy. [2]"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"We also already have a spec merged for ECMP. [3] ECMP makes as much"},{"line_number":32,"context_line":"sense for the default route as for any other route.  But today if you"},{"line_number":33,"context_line":"want to manage multiple default route entries in order to have ECMP over"},{"line_number":34,"context_line":"the default route, then you have to manage a mishmash of the implicit"}],"source_content_type":"text/x-rst","patch_set":2,"id":"b6e7e95f_3a56401a","line":31,"range":{"start_line":31,"start_character":43,"end_line":31,"end_character":48},"in_reply_to":"36bc416f_006fcbfb","updated":"2021-03-31 12:29:48.000000000","message":"Done","commit_id":"39d3c02112362442e5a2e5013f05cdac5e2b5870"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"48d53e017ce98afb16377d0a2ad1f4228b10136a","unresolved":true,"context_lines":[{"line_number":59,"context_line":"the Neutron router is not going to have any default routes installed."},{"line_number":60,"context_line":"In explicit mode default routes can be managed via the ``extraroute`` API."},{"line_number":61,"context_line":"And they can be managed properly - for example all of the default routes"},{"line_number":62,"context_line":"set are visible via the ``extraroute`` API."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"Updating a router\u0027s ``explicit_default_routes`` (in both directions)"},{"line_number":65,"context_line":"is rejected when a router\u0027s ``routes`` attribute contains default routes."}],"source_content_type":"text/x-rst","patch_set":2,"id":"83b565be_5caf26ca","line":62,"updated":"2021-03-29 10:13:05.000000000","message":"what in the case when router has gateway_ip and user will update it to be explicit_default_routes\u003dTrue? Will gateway_ip be removed? Or it will be still set but will have no effect anymore?\n\nAnd similar question applies to the creation of router too - what if user will do something like:\n\n    neutron router-create R1 --explicit_default_routes True\n\nwill it set gateway_ip of not at all?","commit_id":"39d3c02112362442e5a2e5013f05cdac5e2b5870"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"cd9aed2c81f48a0461bd5ab2eb9fd4cf88e0e5e7","unresolved":true,"context_lines":[{"line_number":59,"context_line":"the Neutron router is not going to have any default routes installed."},{"line_number":60,"context_line":"In explicit mode default routes can be managed via the ``extraroute`` API."},{"line_number":61,"context_line":"And they can be managed properly - for example all of the default routes"},{"line_number":62,"context_line":"set are visible via the ``extraroute`` API."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"Updating a router\u0027s ``explicit_default_routes`` (in both directions)"},{"line_number":65,"context_line":"is rejected when a router\u0027s ``routes`` attribute contains default routes."}],"source_content_type":"text/x-rst","patch_set":2,"id":"dc1ab3f0_2c7aca6d","line":62,"in_reply_to":"1ba27af7_94e663d8","updated":"2021-04-06 10:39:04.000000000","message":"correct. I somehow mixed things here. \"gateway_ip\" is set for subnet, not for router. Sorry for the noise here.","commit_id":"39d3c02112362442e5a2e5013f05cdac5e2b5870"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"9485c544b6810c5630acfff6174e7f8867c58e46","unresolved":true,"context_lines":[{"line_number":59,"context_line":"the Neutron router is not going to have any default routes installed."},{"line_number":60,"context_line":"In explicit mode default routes can be managed via the ``extraroute`` API."},{"line_number":61,"context_line":"And they can be managed properly - for example all of the default routes"},{"line_number":62,"context_line":"set are visible via the ``extraroute`` API."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"Updating a router\u0027s ``explicit_default_routes`` (in both directions)"},{"line_number":65,"context_line":"is rejected when a router\u0027s ``routes`` attribute contains default routes."}],"source_content_type":"text/x-rst","patch_set":2,"id":"1ba27af7_94e663d8","line":62,"in_reply_to":"83b565be_5caf26ca","updated":"2021-03-31 12:29:48.000000000","message":"By \u0027gateway_ip\u0027 do you mean the router\u0027s external gw\u0027s subnet\u0027s gateway_ip?\n\nThis gateway_ip is unfortunately not the attribute of the router, but of another API object. Because of that indirect connection I think changing it could be surprising to the user and I\u0027d like to avoid that.\n\nOn the other hand I believe if a user sets explicit mode knowingly that user is not going to be surprised if the gateway_ip is there, but it is ignored.","commit_id":"39d3c02112362442e5a2e5013f05cdac5e2b5870"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"48d53e017ce98afb16377d0a2ad1f4228b10136a","unresolved":true,"context_lines":[{"line_number":62,"context_line":"set are visible via the ``extraroute`` API."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"Updating a router\u0027s ``explicit_default_routes`` (in both directions)"},{"line_number":65,"context_line":"is rejected when a router\u0027s ``routes`` attribute contains default routes."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"DB Impact"},{"line_number":68,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"d7f82240_f0321b04","line":65,"updated":"2021-03-29 10:13:05.000000000","message":"Imagine the case when I have router with explicit_default_routes\u003dFalse and some gateway ip. It is configured as default route in router\u0027s namespace. Now I update router to be explicit_default_routes\u003dTrue but there is no any route to 0/0 in extraroutes yet - will my default route which is using gateway_ip be deleted from the router\u0027s namespace or not?","commit_id":"39d3c02112362442e5a2e5013f05cdac5e2b5870"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"cd9aed2c81f48a0461bd5ab2eb9fd4cf88e0e5e7","unresolved":true,"context_lines":[{"line_number":62,"context_line":"set are visible via the ``extraroute`` API."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"Updating a router\u0027s ``explicit_default_routes`` (in both directions)"},{"line_number":65,"context_line":"is rejected when a router\u0027s ``routes`` attribute contains default routes."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"DB Impact"},{"line_number":68,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"24da5ad4_c012db03","line":65,"in_reply_to":"39087d4f_55094172","updated":"2021-04-06 10:39:04.000000000","message":"\"clarity\" sounds good for me 😊 So I would also go that way but be sure to warn users in our docs (like e.g. api-ref) that setting \"explicit_default_router\u003dTrue\" on existing router may break connectivity to/from vms behind that router and addition of the new extra route may be needed to fix it.","commit_id":"39d3c02112362442e5a2e5013f05cdac5e2b5870"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"9485c544b6810c5630acfff6174e7f8867c58e46","unresolved":true,"context_lines":[{"line_number":62,"context_line":"set are visible via the ``extraroute`` API."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"Updating a router\u0027s ``explicit_default_routes`` (in both directions)"},{"line_number":65,"context_line":"is rejected when a router\u0027s ``routes`` attribute contains default routes."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"DB Impact"},{"line_number":68,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"39087d4f_55094172","line":65,"in_reply_to":"d7f82240_f0321b04","updated":"2021-03-31 12:29:48.000000000","message":"This question overlaps with a question from Lajos, please see my answer there too:\n\nhttps://review.opendev.org/c/openstack/neutron-specs/+/781475/1/specs/xena/explicit-default-routes.rst#59\n\nI believe there\u0027s a tradeoff here: If we keep the default route when switching to explicit mode, then there\u0027s one less API call to make.\n\nOn the other hand if we start with an empty set of default routes when switching to explicit mode, that provides more clarity and uniformity in managing the default routes in explicit mode:\n/1/ because no default route can be managed in two ways (via the external gw\u0027s subnet\u0027s gateway_ip and via an extra route),\n/2/ because we don\u0027t need to map those two ways to each other (for example to implicitly change one extra route when the user updates the gateway_ip or the other way around)\n\nAt the moment I lean to preferring the clarity.\n\nHowever I also realized that we may need to switch to explicit mode without interrupting traffic so I added an exception here to allow that.","commit_id":"39d3c02112362442e5a2e5013f05cdac5e2b5870"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"189b35494c5b5143341e1c0811155148f35abd4c","unresolved":true,"context_lines":[{"line_number":55,"context_line":"that in implicit mode managing default routes over the ``extraroute``"},{"line_number":56,"context_line":"API is not recommended."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"When ``explicit_default_routes`` is set to ``True`` (explicit mode)"},{"line_number":59,"context_line":"the Neutron router is not going to have any default routes installed."},{"line_number":60,"context_line":"In explicit mode default routes can be managed via the ``extraroute`` API."},{"line_number":61,"context_line":"And they can be managed properly - for example all of the default routes"},{"line_number":62,"context_line":"set are visible via the ``extraroute`` API."}],"source_content_type":"text/x-rst","patch_set":3,"id":"549b0201_1a55fd62","line":59,"range":{"start_line":58,"start_character":0,"end_line":59,"end_character":69},"updated":"2021-04-06 10:57:48.000000000","message":"Changing the explicit_default_routes from False to True will remove the existing default route by default implicitly?\n\nI mean if users run router in traditional mode (current mode), they do not change the default route. But if set explicit_default_routes\u003dTrue, the default route will gone? Then all traffic will get broken?","commit_id":"78eead3480da7b5b07c7c49f14020530dc31b5cf"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"bdbe86f7ce3ae9c9546a038f3033f49b8e021470","unresolved":true,"context_lines":[{"line_number":55,"context_line":"that in implicit mode managing default routes over the ``extraroute``"},{"line_number":56,"context_line":"API is not recommended."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"When ``explicit_default_routes`` is set to ``True`` (explicit mode)"},{"line_number":59,"context_line":"the Neutron router is not going to have any default routes installed."},{"line_number":60,"context_line":"In explicit mode default routes can be managed via the ``extraroute`` API."},{"line_number":61,"context_line":"And they can be managed properly - for example all of the default routes"},{"line_number":62,"context_line":"set are visible via the ``extraroute`` API."}],"source_content_type":"text/x-rst","patch_set":3,"id":"81dda131_1b2f486f","line":59,"range":{"start_line":58,"start_character":0,"end_line":59,"end_character":69},"in_reply_to":"549b0201_1a55fd62","updated":"2021-04-09 12:04:16.000000000","message":"Please see my answer at line 68.","commit_id":"78eead3480da7b5b07c7c49f14020530dc31b5cf"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"189b35494c5b5143341e1c0811155148f35abd4c","unresolved":true,"context_lines":[{"line_number":65,"context_line":"is rejected except when a router\u0027s ``routes`` attribute contains:"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"* either no default routes,"},{"line_number":68,"context_line":"* or exactly one default route with the same nexthop as in implicit mode."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"DB Impact"},{"line_number":71,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"c0b8e56b_1a8a3e73","line":68,"range":{"start_line":68,"start_character":0,"end_line":68,"end_character":73},"updated":"2021-04-06 10:57:48.000000000","message":"Same to the question in line 59, then what? That \"one default route with the same nexthop as in implicit mode\" will be deleted?\nIf yes, then traffic down? But why?","commit_id":"78eead3480da7b5b07c7c49f14020530dc31b5cf"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"bdbe86f7ce3ae9c9546a038f3033f49b8e021470","unresolved":true,"context_lines":[{"line_number":65,"context_line":"is rejected except when a router\u0027s ``routes`` attribute contains:"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"* either no default routes,"},{"line_number":68,"context_line":"* or exactly one default route with the same nexthop as in implicit mode."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"DB Impact"},{"line_number":71,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"b3d0a7f0_e85abe4e","line":68,"range":{"start_line":68,"start_character":0,"end_line":68,"end_character":73},"in_reply_to":"c0b8e56b_1a8a3e73","updated":"2021-04-09 12:04:16.000000000","message":"I added this exception to avoid the traffic down situation. But I forgot to also update lines 58-59. I rearranged these paragraphs a bit. Now I hope it\u0027s consistent and allows switching to explicit mode without traffic down.","commit_id":"78eead3480da7b5b07c7c49f14020530dc31b5cf"}]}
