)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"4a9e5ade28569fb162d184d0e5400c9c8028500d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"6de05eac_2622bb68","updated":"2022-03-23 13:08:32.000000000","message":"I like the config option","commit_id":"bf16517d806684d890ee1367af99d5e8732c654c"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"e6fdf2043741c79eb1bedf222a408afbe5d0bcc0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"32d92761_6f2bf11e","updated":"2022-03-31 02:57:18.000000000","message":"There needs to be a release note for the new option.","commit_id":"b7c0364ad8051ab39f56415364755d2723837983"},{"author":{"_account_id":6737,"name":"Edward Hope-Morley","email":"edward.hope-morley@canonical.com","username":"hopem"},"change_message_id":"2206afa8b942a5ef699d6f6ce1c4e9073c705e36","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"5e49ab23_7f25fedd","updated":"2022-05-03 14:04:19.000000000","message":"Feels like we are going around in circles again here. I think we need to consider the fact that no matter how many routers per node, having the l3-agent manage qg port up/down is fundamentally breaking HA (if all l3-agents become unresponsive you lose your dataplane) while also breaking keepalived in environments with higher load such that the l3-agent takes too long to bring the port up once vrrp transitions. I don\u0027t refute that there are genuine issues to be resolved like the MLDv2 one but doing so in a way that breaks existing functionality is not acceptable and that is what the \"Do not link up HA router gateway in backup node\" has given us. To make matters worse, follow up patches to that patch also introduced some critical regressions as ref\u0027d in https://bugs.launchpad.net/neutron/+bug/1965297. So please, can we accept that the previous approach was not ok, allow those whose are critically impacted to move on and then spend time thinking about how to resolve all the issues correctly. Personally I agree that it would be better if keepalived could manage/block the qg port traffic for backup nodes but I do not know if keepalived supports that so I would be happy for this patch to land to at least allow those affected to get out of dodge. That or just revert the original patch.","commit_id":"a7a98fb46427713fb4c2e4d16e4c519e2dc09566"},{"author":{"_account_id":26832,"name":"Stefan Hoffmann","email":"stefan.hoffmann@cloudandheat.com","username":"shoffmann"},"change_message_id":"44b2d757252f51e62a93ef1bca98066d681af6fb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"f54c2d18_843562fe","updated":"2022-04-13 15:06:59.000000000","message":"This solution is better than reverting the hole change[1] (like [2] did).\nWe see ipv6 neighbor packages as soon as the interface is up, so [3]\n\n[1] https://review.opendev.org/q/c52029c39aa824a67095fbbf9e59eff769d92587\n[2] https://review.opendev.org/c/openstack/neutron/+/834162\n[3] https://github.com/acassen/keepalived/commit/b10bbfc2a2b216487cea5a586c55765275e41253","commit_id":"a7a98fb46427713fb4c2e4d16e4c519e2dc09566"},{"author":{"_account_id":26832,"name":"Stefan Hoffmann","email":"stefan.hoffmann@cloudandheat.com","username":"shoffmann"},"change_message_id":"c140023ce81d6bdaf3e5f771042a039978a00567","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"db4ed544_1f86ce10","updated":"2022-04-08 13:44:38.000000000","message":"This won\u0027t prevent MLDv2 related problems, right?\nSo is your idea, that everyone who don\u0027t care can set this option?\n\nThis is bad for environments with many routers (250 or more), where MLDv2 and other traffic is a problem but also l3-agent setting up the interface takes ages.\n\nI would like a solution, that handles all, MLDv2 issues [1] and GARP not sent [2], as well as failover with many routers takes long (no idea if there is already a bug for that)\n\n[1] https://bugs.launchpad.net/neutron/+bug/1859832\n[2] https://bugs.launchpad.net/neutron/+bug/1952907","commit_id":"a7a98fb46427713fb4c2e4d16e4c519e2dc09566"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"46340bc30f8cce139a35acf11600da07bbc754b8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"fb1ae9dd_73132eff","in_reply_to":"5e49ab23_7f25fedd","updated":"2022-05-06 02:14:08.000000000","message":"I added Review-Priority +1 for this, hope others can consider move this on.\n\nAs I said before, MLDv2 is just an use case. Any remain IP address on backup node can cause the physical devices a mess for MAC address. I will update the commit message.","commit_id":"a7a98fb46427713fb4c2e4d16e4c519e2dc09566"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"9b972613d05cace215da495da07d4f1716c27075","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":4,"id":"dc65d02e_37c57fe8","in_reply_to":"c3547b63_04d9d494","updated":"2022-05-11 03:46:39.000000000","message":"I don\u0027t have the steps on how to reproduce the residual addresses issue. For our running deployments, especially those with a lot of routers, our operators reported that there are broken connections due to the IPs are not removed in backup nodes. But mostly, IMO, it is related to keepalived unexpected exit.","commit_id":"a7a98fb46427713fb4c2e4d16e4c519e2dc09566"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"c28a11f65cf1808debc955684e3c0049cbca524a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"e476b3c7_e63866da","in_reply_to":"db4ed544_1f86ce10","updated":"2022-04-08 15:41:20.000000000","message":"This is a mild alternative for totally reverting the commit c52029c39aa824a67095fbbf9e59eff769d92587 https://review.opendev.org/c/openstack/neutron/+/834162.\n\nHonestly, we have run such setting link the qg-dev link down for almost 4 years. If one host goes down, those routers should be spreaded on not only one host. So, for many backup nodes, the L3-agent should be in lower pressure. But, if you really run 250 routers in two hosts, IMO, for current L3 agent processing performance, it can meet many problems like long recovery time of host reboot, routers full sync, resources processing, datapath performance and so on.\n\nFor the case of \"environments with many routers (250 or more)\", if you do not want L3 agent to be involved with the failover, you can set it to False. But remember to optimize the carrying capacity of resources for one L3-agent.\n\nFor MLDv2, it is just one case, in real running environments, any residual IPv4/IPv6 addresses will cause physical devices failed to find (ARP/NDP) the right destination, this happens when keepalived is dead. Large HA router resources in one same hosts may also encounter such kind of problem.\n\nSo, for various environments (with different version of software, such as keepalived, kernel), I suggest not directly revert that. Instead, adding a config option, which can be defaut to True to remain the link down (the current behavior) the qg-dev action to make those clouds that rely on this can still work after upgrading.\n\nSummary：\nRegards to the MLDv2 issues, GARP not sent and time-consuming failover, the main problems can be:\n1. host too many routers for one L3-agent\n2. router settings and config processing is too heavy, namespace, iptables, extra processes like keepalived, haproxy, ndp.\n3. Residual IP addresses with unexpected \n4. VRRP failover is faster than L3-agent\n\nHardly to see if one solution can fix them all.","commit_id":"a7a98fb46427713fb4c2e4d16e4c519e2dc09566"},{"author":{"_account_id":26832,"name":"Stefan Hoffmann","email":"stefan.hoffmann@cloudandheat.com","username":"shoffmann"},"change_message_id":"c5be631eb4889a095bb85bc584ac818bb89cec74","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"a91d49a5_c5e853aa","in_reply_to":"dc65d02e_37c57fe8","updated":"2022-05-11 13:19:51.000000000","message":"ok, when keepalived exit, l3 starts a new one. But not sure, what this one will do with the IPs still on the interfaces.","commit_id":"a7a98fb46427713fb4c2e4d16e4c519e2dc09566"},{"author":{"_account_id":26832,"name":"Stefan Hoffmann","email":"stefan.hoffmann@cloudandheat.com","username":"shoffmann"},"change_message_id":"44b2d757252f51e62a93ef1bca98066d681af6fb","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":4,"id":"fb35615f_316d53e1","in_reply_to":"e476b3c7_e63866da","updated":"2022-04-13 15:06:59.000000000","message":"I see your point and understand, that simply revert is not an option.\n\nBut also deciding between having fast failover or a real working environment is no option, I guess.\n\nInstead, I would like to discuss a way to make ARP/NDP working but also have a fast failover of routers. Maybe this is not the right place, but both, reverting [1] or adding an option to revert it, is not really nice.\n\nSo two options, I see is either\nlet keepalived handle the interface up and down or\nfind out, what traffic is problematic if the interface is up and filter it.\n\nI think you can see the delay of l3-agent taking the interface up also with less routers, like 50 or 100. So l3-agent is the bottle neck here.\nThe issues with openvswitch and dataplane are comming with higher numbers.\n\n[1] https://review.opendev.org/c/openstack/neutron/+/834162","commit_id":"a7a98fb46427713fb4c2e4d16e4c519e2dc09566"},{"author":{"_account_id":26832,"name":"Stefan Hoffmann","email":"stefan.hoffmann@cloudandheat.com","username":"shoffmann"},"change_message_id":"9c8151da7283c8b7da467ddc2373a42817b7f085","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"dc2522bd_a5698235","in_reply_to":"f54c2d18_843562fe","updated":"2022-04-14 09:36:11.000000000","message":"I meant\n\u003e We see ipv6 neighbor packages as soon as the interface is up, so [3]\nis not solving the MLDv2 package issue","commit_id":"a7a98fb46427713fb4c2e4d16e4c519e2dc09566"},{"author":{"_account_id":26832,"name":"Stefan Hoffmann","email":"stefan.hoffmann@cloudandheat.com","username":"shoffmann"},"change_message_id":"66df7d975cff8bdb9c43e3eae9eb0482643fe3ca","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":4,"id":"c3547b63_04d9d494","in_reply_to":"fb1ae9dd_73132eff","updated":"2022-05-06 09:05:50.000000000","message":"I understand your concerns, but saw other patches that handles the issues with remaining IPs (e.g. [1]).\n\nI don\u0027t get your point with remaining IP:\nLet\u0027s say the router was master before and has the router and floating IPs, now keepalived dies. Than l3-agent don\u0027t get, that keepalived is \"backup\"/dead and also won\u0027t set the interface down, right? (Ok, l3 will start a new keepalived process, but this one can also take away the IP)\nSo I don\u0027t see, why there should be an IP remaining on the interface and keepalived is dead or how this is worse with l3 handling the interface (as l3 nevertheless needs to see that keepalived is down)\n\nMaybe you can explain that to me.\n\n[1] https://review.opendev.org/c/openstack/neutron/+/839671","commit_id":"a7a98fb46427713fb4c2e4d16e4c519e2dc09566"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"ff333118b53a544ffd2d130d9577dfe8ffd0ce75","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"2f406d89_ea3a41b5","updated":"2022-05-10 09:38:21.000000000","message":"I am fine with it, as I remember we discussed it on one of our meetings","commit_id":"4bbd79340fae7599ea17e585ebfff62b6adb5126"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"91a5499275590f10d28ac19e47ffa109c19abb33","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"bf655b5e_61552736","updated":"2022-05-06 05:33:54.000000000","message":"recheck","commit_id":"4bbd79340fae7599ea17e585ebfff62b6adb5126"},{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"6619b2ed1b5ae0af8a88b98baecca8ac18707c48","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"6486189d_87b74f1d","updated":"2022-05-13 12:46:57.000000000","message":"Alternative without new config option, please review: https://review.opendev.org/c/openstack/neutron/+/839671","commit_id":"64a4fc10902cb6b8cea31fc4ab1f0ec6127d1491"},{"author":{"_account_id":32666,"name":"Damian Dąbrowski","email":"damian@dabrowski.cloud","username":"ddabrowski"},"change_message_id":"76549cd4587ffc712650d26e81dac4be8f35dc30","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"e5703a5f_56d89cd2","updated":"2022-05-13 10:59:13.000000000","message":"please have a look at https://review.opendev.org/c/openstack/neutron/+/839671\n\nIf I\u0027m correct, my change fixes all of these issues without having to choose between breaking feature A and B.","commit_id":"64a4fc10902cb6b8cea31fc4ab1f0ec6127d1491"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"b55ab48c79e9895b2aaabd4666d9946e7b3a1ac6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"64eedb03_5f7e2a61","updated":"2022-05-13 10:39:45.000000000","message":"recheck","commit_id":"64a4fc10902cb6b8cea31fc4ab1f0ec6127d1491"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"6a808180226c36ba76fa428d3220bb57162630d2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"52d9faa8_fc88e50b","updated":"2022-05-11 12:22:40.000000000","message":"recheck\nAn neutron-fullstack-with-uwsgi failed with https://bugs.launchpad.net/neutron/+bug/1942190","commit_id":"64a4fc10902cb6b8cea31fc4ab1f0ec6127d1491"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"5e25b4d2bbaf62b6a74b06ef27583fc0c3095717","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"70b911bd_13996acc","updated":"2022-05-16 08:29:46.000000000","message":"I remember another use case is if routers devices has IP addresses which are not handled by neutron/routers, those IP can remain on backup nodes, link the device up will cause the problems. So, if that https://review.opendev.org/c/openstack/neutron/+/839671 can work, IMO, this config option can be set default value to False to link the dev up for common use cases. For those users who have customized IPs, they still have chance to down the device.","commit_id":"131de495ceb470c0384978dc099cbcc8c59a5554"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"f69aa3c9ffdd46e0761d7c798a4f93fef3eb583d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"a763fb93_4acc890b","updated":"2022-05-17 06:34:42.000000000","message":"recheck","commit_id":"9ccca50795139893af6a5b7d0790c2830c368f53"}],"neutron/conf/agent/l3/ha.py":[{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"4a9e5ade28569fb162d184d0e5400c9c8028500d","unresolved":true,"context_lines":[{"line_number":56,"context_line":"                      \u0027restores the gateway connection.\u0027)),"},{"line_number":57,"context_line":"    cfg.BoolOpt(\u0027set_backup_external_gateway_down\u0027,"},{"line_number":58,"context_line":"                default\u003dTrue,"},{"line_number":59,"context_line":"                help\u003d_(\"Indicates that L3 agent should set the \""},{"line_number":60,"context_line":"                       \"external gateway down on backup router \""},{"line_number":61,"context_line":"                       \"namespace for HA routers.\")),"},{"line_number":62,"context_line":"]"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"65632c28_c021b02b","line":61,"range":{"start_line":59,"start_character":24,"end_line":61,"end_character":49},"updated":"2022-03-23 13:08:32.000000000","message":"Could you please elaborate a little more, if True set gw port for primary (legacy mode let\u0027s say), if False set for all to Down","commit_id":"bf16517d806684d890ee1367af99d5e8732c654c"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"8a29e40deabc6dd924575b7dcb5b2964d1df5117","unresolved":false,"context_lines":[{"line_number":56,"context_line":"                      \u0027restores the gateway connection.\u0027)),"},{"line_number":57,"context_line":"    cfg.BoolOpt(\u0027set_backup_external_gateway_down\u0027,"},{"line_number":58,"context_line":"                default\u003dTrue,"},{"line_number":59,"context_line":"                help\u003d_(\"Indicates that L3 agent should set the \""},{"line_number":60,"context_line":"                       \"external gateway down on backup router \""},{"line_number":61,"context_line":"                       \"namespace for HA routers.\")),"},{"line_number":62,"context_line":"]"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"0e6a4ade_15500a71","line":61,"range":{"start_line":59,"start_character":24,"end_line":61,"end_character":49},"in_reply_to":"65632c28_c021b02b","updated":"2022-03-25 08:46:19.000000000","message":"Done","commit_id":"bf16517d806684d890ee1367af99d5e8732c654c"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"e6fdf2043741c79eb1bedf222a408afbe5d0bcc0","unresolved":true,"context_lines":[{"line_number":56,"context_line":"                      \u0027restores the gateway connection.\u0027)),"},{"line_number":57,"context_line":"    cfg.BoolOpt(\u0027set_backup_external_gateway_down\u0027,"},{"line_number":58,"context_line":"                default\u003dTrue,"},{"line_number":59,"context_line":"                help\u003d_(\"Indicates that whether L3 agent should set the \""},{"line_number":60,"context_line":"                       \"external gateway port link down on backup router \""},{"line_number":61,"context_line":"                       \"namespace for HA routers. Default value True means \""},{"line_number":62,"context_line":"                       \"L3 agent will set external gateway link down. \""}],"source_content_type":"text/x-python","patch_set":3,"id":"2e2cbfd3_0fa4c163","line":59,"range":{"start_line":59,"start_character":34,"end_line":59,"end_character":46},"updated":"2022-03-31 02:57:18.000000000","message":"s/whether the","commit_id":"b7c0364ad8051ab39f56415364755d2723837983"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"eefb2c58b4caccd893382c4ed2db61ca78400925","unresolved":false,"context_lines":[{"line_number":56,"context_line":"                      \u0027restores the gateway connection.\u0027)),"},{"line_number":57,"context_line":"    cfg.BoolOpt(\u0027set_backup_external_gateway_down\u0027,"},{"line_number":58,"context_line":"                default\u003dTrue,"},{"line_number":59,"context_line":"                help\u003d_(\"Indicates that whether L3 agent should set the \""},{"line_number":60,"context_line":"                       \"external gateway port link down on backup router \""},{"line_number":61,"context_line":"                       \"namespace for HA routers. Default value True means \""},{"line_number":62,"context_line":"                       \"L3 agent will set external gateway link down. \""}],"source_content_type":"text/x-python","patch_set":3,"id":"e697ba68_9e1b0d1d","line":59,"range":{"start_line":59,"start_character":34,"end_line":59,"end_character":46},"in_reply_to":"2e2cbfd3_0fa4c163","updated":"2022-04-02 09:19:37.000000000","message":"Done","commit_id":"b7c0364ad8051ab39f56415364755d2723837983"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"e6fdf2043741c79eb1bedf222a408afbe5d0bcc0","unresolved":true,"context_lines":[{"line_number":58,"context_line":"                default\u003dTrue,"},{"line_number":59,"context_line":"                help\u003d_(\"Indicates that whether L3 agent should set the \""},{"line_number":60,"context_line":"                       \"external gateway port link down on backup router \""},{"line_number":61,"context_line":"                       \"namespace for HA routers. Default value True means \""},{"line_number":62,"context_line":"                       \"L3 agent will set external gateway link down. \""},{"line_number":63,"context_line":"                       \"Set False to make external gateway link up on backup \""},{"line_number":64,"context_line":"                       \"namespace.\")),"}],"source_content_type":"text/x-python","patch_set":3,"id":"270b60af_ec1d9ea7","line":61,"range":{"start_line":61,"start_character":69,"end_line":61,"end_character":74},"updated":"2022-03-31 02:57:18.000000000","message":"s/means the","commit_id":"b7c0364ad8051ab39f56415364755d2723837983"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"e6fdf2043741c79eb1bedf222a408afbe5d0bcc0","unresolved":true,"context_lines":[{"line_number":58,"context_line":"                default\u003dTrue,"},{"line_number":59,"context_line":"                help\u003d_(\"Indicates that whether L3 agent should set the \""},{"line_number":60,"context_line":"                       \"external gateway port link down on backup router \""},{"line_number":61,"context_line":"                       \"namespace for HA routers. Default value True means \""},{"line_number":62,"context_line":"                       \"L3 agent will set external gateway link down. \""},{"line_number":63,"context_line":"                       \"Set False to make external gateway link up on backup \""},{"line_number":64,"context_line":"                       \"namespace.\")),"}],"source_content_type":"text/x-python","patch_set":3,"id":"3d6009ba_f58307b1","line":61,"range":{"start_line":61,"start_character":24,"end_line":61,"end_character":33},"updated":"2022-03-31 02:57:18.000000000","message":"s/namespaces(s) ?","commit_id":"b7c0364ad8051ab39f56415364755d2723837983"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"eefb2c58b4caccd893382c4ed2db61ca78400925","unresolved":false,"context_lines":[{"line_number":58,"context_line":"                default\u003dTrue,"},{"line_number":59,"context_line":"                help\u003d_(\"Indicates that whether L3 agent should set the \""},{"line_number":60,"context_line":"                       \"external gateway port link down on backup router \""},{"line_number":61,"context_line":"                       \"namespace for HA routers. Default value True means \""},{"line_number":62,"context_line":"                       \"L3 agent will set external gateway link down. \""},{"line_number":63,"context_line":"                       \"Set False to make external gateway link up on backup \""},{"line_number":64,"context_line":"                       \"namespace.\")),"}],"source_content_type":"text/x-python","patch_set":3,"id":"778bb6e2_566f52a8","line":61,"range":{"start_line":61,"start_character":69,"end_line":61,"end_character":74},"in_reply_to":"270b60af_ec1d9ea7","updated":"2022-04-02 09:19:37.000000000","message":"Done","commit_id":"b7c0364ad8051ab39f56415364755d2723837983"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"eefb2c58b4caccd893382c4ed2db61ca78400925","unresolved":false,"context_lines":[{"line_number":58,"context_line":"                default\u003dTrue,"},{"line_number":59,"context_line":"                help\u003d_(\"Indicates that whether L3 agent should set the \""},{"line_number":60,"context_line":"                       \"external gateway port link down on backup router \""},{"line_number":61,"context_line":"                       \"namespace for HA routers. Default value True means \""},{"line_number":62,"context_line":"                       \"L3 agent will set external gateway link down. \""},{"line_number":63,"context_line":"                       \"Set False to make external gateway link up on backup \""},{"line_number":64,"context_line":"                       \"namespace.\")),"}],"source_content_type":"text/x-python","patch_set":3,"id":"d228750c_41278de7","line":61,"range":{"start_line":61,"start_character":24,"end_line":61,"end_character":33},"in_reply_to":"3d6009ba_f58307b1","updated":"2022-04-02 09:19:37.000000000","message":"Done","commit_id":"b7c0364ad8051ab39f56415364755d2723837983"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"e6fdf2043741c79eb1bedf222a408afbe5d0bcc0","unresolved":true,"context_lines":[{"line_number":59,"context_line":"                help\u003d_(\"Indicates that whether L3 agent should set the \""},{"line_number":60,"context_line":"                       \"external gateway port link down on backup router \""},{"line_number":61,"context_line":"                       \"namespace for HA routers. Default value True means \""},{"line_number":62,"context_line":"                       \"L3 agent will set external gateway link down. \""},{"line_number":63,"context_line":"                       \"Set False to make external gateway link up on backup \""},{"line_number":64,"context_line":"                       \"namespace.\")),"},{"line_number":65,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":3,"id":"bfa642b4_da37cafd","line":62,"range":{"start_line":62,"start_character":38,"end_line":62,"end_character":41},"updated":"2022-03-31 02:57:18.000000000","message":"s/set the","commit_id":"b7c0364ad8051ab39f56415364755d2723837983"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"eefb2c58b4caccd893382c4ed2db61ca78400925","unresolved":false,"context_lines":[{"line_number":59,"context_line":"                help\u003d_(\"Indicates that whether L3 agent should set the \""},{"line_number":60,"context_line":"                       \"external gateway port link down on backup router \""},{"line_number":61,"context_line":"                       \"namespace for HA routers. Default value True means \""},{"line_number":62,"context_line":"                       \"L3 agent will set external gateway link down. \""},{"line_number":63,"context_line":"                       \"Set False to make external gateway link up on backup \""},{"line_number":64,"context_line":"                       \"namespace.\")),"},{"line_number":65,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":3,"id":"2ef0f5c8_7e3a8130","line":62,"range":{"start_line":62,"start_character":38,"end_line":62,"end_character":41},"in_reply_to":"bfa642b4_da37cafd","updated":"2022-04-02 09:19:37.000000000","message":"Done","commit_id":"b7c0364ad8051ab39f56415364755d2723837983"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"e6fdf2043741c79eb1bedf222a408afbe5d0bcc0","unresolved":true,"context_lines":[{"line_number":60,"context_line":"                       \"external gateway port link down on backup router \""},{"line_number":61,"context_line":"                       \"namespace for HA routers. Default value True means \""},{"line_number":62,"context_line":"                       \"L3 agent will set external gateway link down. \""},{"line_number":63,"context_line":"                       \"Set False to make external gateway link up on backup \""},{"line_number":64,"context_line":"                       \"namespace.\")),"},{"line_number":65,"context_line":"]"},{"line_number":66,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"58e326f3_b3502910","line":63,"range":{"start_line":63,"start_character":37,"end_line":63,"end_character":41},"updated":"2022-03-31 02:57:18.000000000","message":"s/set the","commit_id":"b7c0364ad8051ab39f56415364755d2723837983"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"eefb2c58b4caccd893382c4ed2db61ca78400925","unresolved":false,"context_lines":[{"line_number":60,"context_line":"                       \"external gateway port link down on backup router \""},{"line_number":61,"context_line":"                       \"namespace for HA routers. Default value True means \""},{"line_number":62,"context_line":"                       \"L3 agent will set external gateway link down. \""},{"line_number":63,"context_line":"                       \"Set False to make external gateway link up on backup \""},{"line_number":64,"context_line":"                       \"namespace.\")),"},{"line_number":65,"context_line":"]"},{"line_number":66,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"bf92c22d_71a8c157","line":63,"range":{"start_line":63,"start_character":37,"end_line":63,"end_character":41},"in_reply_to":"58e326f3_b3502910","updated":"2022-04-02 09:19:37.000000000","message":"Done","commit_id":"b7c0364ad8051ab39f56415364755d2723837983"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"e6fdf2043741c79eb1bedf222a408afbe5d0bcc0","unresolved":true,"context_lines":[{"line_number":61,"context_line":"                       \"namespace for HA routers. Default value True means \""},{"line_number":62,"context_line":"                       \"L3 agent will set external gateway link down. \""},{"line_number":63,"context_line":"                       \"Set False to make external gateway link up on backup \""},{"line_number":64,"context_line":"                       \"namespace.\")),"},{"line_number":65,"context_line":"]"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"ebc34f7e_333a80b3","line":64,"range":{"start_line":64,"start_character":24,"end_line":64,"end_character":33},"updated":"2022-03-31 02:57:18.000000000","message":"s/namespace(s)","commit_id":"b7c0364ad8051ab39f56415364755d2723837983"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"eefb2c58b4caccd893382c4ed2db61ca78400925","unresolved":false,"context_lines":[{"line_number":61,"context_line":"                       \"namespace for HA routers. Default value True means \""},{"line_number":62,"context_line":"                       \"L3 agent will set external gateway link down. \""},{"line_number":63,"context_line":"                       \"Set False to make external gateway link up on backup \""},{"line_number":64,"context_line":"                       \"namespace.\")),"},{"line_number":65,"context_line":"]"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"79bd8ac9_544c4c6c","line":64,"range":{"start_line":64,"start_character":24,"end_line":64,"end_character":33},"in_reply_to":"ebc34f7e_333a80b3","updated":"2022-04-02 09:19:37.000000000","message":"Done","commit_id":"b7c0364ad8051ab39f56415364755d2723837983"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"ff333118b53a544ffd2d130d9577dfe8ffd0ce75","unresolved":true,"context_lines":[{"line_number":54,"context_line":"                      \u0027as primary, and a primary election will be repeated \u0027"},{"line_number":55,"context_line":"                      \u0027in a round-robin fashion, until one of the routers \u0027"},{"line_number":56,"context_line":"                      \u0027restores the gateway connection.\u0027)),"},{"line_number":57,"context_line":"    cfg.BoolOpt(\u0027set_backup_external_gateway_down\u0027,"},{"line_number":58,"context_line":"                default\u003dTrue,"},{"line_number":59,"context_line":"                help\u003d_(\"Indicates that whether the L3 agent should set the \""},{"line_number":60,"context_line":"                       \"external gateway port link down on backup router \""}],"source_content_type":"text/x-python","patch_set":5,"id":"669907e3_0168237b","line":57,"range":{"start_line":57,"start_character":17,"end_line":57,"end_character":49},"updated":"2022-05-10 09:38:21.000000000","message":"nit: perhaps a better option name:\nset_external_gw_port_in_backup_down","commit_id":"4bbd79340fae7599ea17e585ebfff62b6adb5126"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"9b972613d05cace215da495da07d4f1716c27075","unresolved":false,"context_lines":[{"line_number":54,"context_line":"                      \u0027as primary, and a primary election will be repeated \u0027"},{"line_number":55,"context_line":"                      \u0027in a round-robin fashion, until one of the routers \u0027"},{"line_number":56,"context_line":"                      \u0027restores the gateway connection.\u0027)),"},{"line_number":57,"context_line":"    cfg.BoolOpt(\u0027set_backup_external_gateway_down\u0027,"},{"line_number":58,"context_line":"                default\u003dTrue,"},{"line_number":59,"context_line":"                help\u003d_(\"Indicates that whether the L3 agent should set the \""},{"line_number":60,"context_line":"                       \"external gateway port link down on backup router \""}],"source_content_type":"text/x-python","patch_set":5,"id":"31e0f8be_a4ca2a12","line":57,"range":{"start_line":57,"start_character":17,"end_line":57,"end_character":49},"in_reply_to":"669907e3_0168237b","updated":"2022-05-11 03:46:39.000000000","message":"a bit long...and \u0027gw\u0027 seems a bit unclear to some new users.","commit_id":"4bbd79340fae7599ea17e585ebfff62b6adb5126"},{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"6619b2ed1b5ae0af8a88b98baecca8ac18707c48","unresolved":true,"context_lines":[{"line_number":56,"context_line":"                      \u0027restores the gateway connection.\u0027)),"},{"line_number":57,"context_line":"    cfg.BoolOpt(\u0027set_backup_external_gateway_down\u0027,"},{"line_number":58,"context_line":"                default\u003dTrue,"},{"line_number":59,"context_line":"                help\u003d_(\"Indicates that whether the L3 agent should set the \""},{"line_number":60,"context_line":"                       \"external gateway port link down on backup router \""},{"line_number":61,"context_line":"                       \"namespace(s) for HA routers. Default value True means \""},{"line_number":62,"context_line":"                       \"the L3 agent will set the external gateway link down. \""}],"source_content_type":"text/x-python","patch_set":5,"id":"c6035747_54402878","line":59,"range":{"start_line":59,"start_character":34,"end_line":59,"end_character":38},"updated":"2022-05-13 12:46:57.000000000","message":"nit: not needed","commit_id":"4bbd79340fae7599ea17e585ebfff62b6adb5126"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"ff333118b53a544ffd2d130d9577dfe8ffd0ce75","unresolved":true,"context_lines":[{"line_number":56,"context_line":"                      \u0027restores the gateway connection.\u0027)),"},{"line_number":57,"context_line":"    cfg.BoolOpt(\u0027set_backup_external_gateway_down\u0027,"},{"line_number":58,"context_line":"                default\u003dTrue,"},{"line_number":59,"context_line":"                help\u003d_(\"Indicates that whether the L3 agent should set the \""},{"line_number":60,"context_line":"                       \"external gateway port link down on backup router \""},{"line_number":61,"context_line":"                       \"namespace(s) for HA routers. Default value True means \""},{"line_number":62,"context_line":"                       \"the L3 agent will set the external gateway link down. \""}],"source_content_type":"text/x-python","patch_set":5,"id":"5be333b5_2c41dc94","line":59,"range":{"start_line":59,"start_character":34,"end_line":59,"end_character":45},"updated":"2022-05-10 09:38:21.000000000","message":"nit: remove one please","commit_id":"4bbd79340fae7599ea17e585ebfff62b6adb5126"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"9b972613d05cace215da495da07d4f1716c27075","unresolved":false,"context_lines":[{"line_number":56,"context_line":"                      \u0027restores the gateway connection.\u0027)),"},{"line_number":57,"context_line":"    cfg.BoolOpt(\u0027set_backup_external_gateway_down\u0027,"},{"line_number":58,"context_line":"                default\u003dTrue,"},{"line_number":59,"context_line":"                help\u003d_(\"Indicates that whether the L3 agent should set the \""},{"line_number":60,"context_line":"                       \"external gateway port link down on backup router \""},{"line_number":61,"context_line":"                       \"namespace(s) for HA routers. Default value True means \""},{"line_number":62,"context_line":"                       \"the L3 agent will set the external gateway link down. \""}],"source_content_type":"text/x-python","patch_set":5,"id":"57c97faf_2ee1988a","line":59,"range":{"start_line":59,"start_character":34,"end_line":59,"end_character":45},"in_reply_to":"5be333b5_2c41dc94","updated":"2022-05-11 03:46:39.000000000","message":"Done","commit_id":"4bbd79340fae7599ea17e585ebfff62b6adb5126"},{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"391e25ebcceb6959fa0f9501469af0a7c519c48f","unresolved":false,"context_lines":[{"line_number":56,"context_line":"                      \u0027restores the gateway connection.\u0027)),"},{"line_number":57,"context_line":"    cfg.BoolOpt(\u0027set_backup_external_gateway_down\u0027,"},{"line_number":58,"context_line":"                default\u003dTrue,"},{"line_number":59,"context_line":"                help\u003d_(\"Indicates that whether the L3 agent should set the \""},{"line_number":60,"context_line":"                       \"external gateway port link down on backup router \""},{"line_number":61,"context_line":"                       \"namespace(s) for HA routers. Default value True means \""},{"line_number":62,"context_line":"                       \"the L3 agent will set the external gateway link down. \""}],"source_content_type":"text/x-python","patch_set":5,"id":"22ff0dc9_51221e72","line":59,"range":{"start_line":59,"start_character":34,"end_line":59,"end_character":38},"in_reply_to":"c6035747_54402878","updated":"2022-05-13 12:47:21.000000000","message":"Done","commit_id":"4bbd79340fae7599ea17e585ebfff62b6adb5126"},{"author":{"_account_id":28329,"name":"yangjianfeng","display_name":"JeffYang","email":"yjf1970231893@gmail.com","username":"yangjianfeng"},"change_message_id":"a37fca56951b9118b192bc584461597cd66dd0a2","unresolved":true,"context_lines":[{"line_number":56,"context_line":"                      \u0027restores the gateway connection.\u0027)),"},{"line_number":57,"context_line":"    cfg.BoolOpt(\u0027set_backup_external_gateway_down\u0027,"},{"line_number":58,"context_line":"                default\u003dTrue,"},{"line_number":59,"context_line":"                help\u003d_(\"Indicates whether the L3 agent should set the \""},{"line_number":60,"context_line":"                       \"external gateway port link down on backup router \""},{"line_number":61,"context_line":"                       \"namespace(s) for HA routers. Default value True means \""},{"line_number":62,"context_line":"                       \"the L3 agent will set the external gateway link down. \""},{"line_number":63,"context_line":"                       \"Set False to make the external gateway link up on \""},{"line_number":64,"context_line":"                       \"backup namespace(s).\")),"},{"line_number":65,"context_line":"]"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"bd421c42_f635a75e","line":64,"range":{"start_line":59,"start_character":0,"end_line":64,"end_character":48},"updated":"2022-05-14 02:14:15.000000000","message":"Based on this information alone, user can not determine whether this should be set as True or False. IMO, We should add more details to user documents or release note.","commit_id":"64a4fc10902cb6b8cea31fc4ab1f0ec6127d1491"},{"author":{"_account_id":28329,"name":"yangjianfeng","display_name":"JeffYang","email":"yjf1970231893@gmail.com","username":"yangjianfeng"},"change_message_id":"014fc614deb6cb1e84836cde85dcefa103579dfe","unresolved":true,"context_lines":[{"line_number":56,"context_line":"                      \u0027restores the gateway connection.\u0027)),"},{"line_number":57,"context_line":"    cfg.BoolOpt(\u0027set_backup_external_gateway_down\u0027,"},{"line_number":58,"context_line":"                default\u003dTrue,"},{"line_number":59,"context_line":"                help\u003d_(\"Indicates whether the L3 agent should set the \""},{"line_number":60,"context_line":"                       \"external gateway port link down on backup router \""},{"line_number":61,"context_line":"                       \"namespace(s) for HA routers. Default value True means \""},{"line_number":62,"context_line":"                       \"the L3 agent will set the external gateway link down. \""},{"line_number":63,"context_line":"                       \"Set False to make the external gateway link up on \""},{"line_number":64,"context_line":"                       \"backup namespace(s).\")),"},{"line_number":65,"context_line":"]"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"e1025bf3_7c279c50","line":64,"range":{"start_line":59,"start_character":0,"end_line":64,"end_character":48},"in_reply_to":"bd421c42_f635a75e","updated":"2022-05-14 03:15:33.000000000","message":"I think this means user must select one between bug A and bug B, this is a nerve-racking.","commit_id":"64a4fc10902cb6b8cea31fc4ab1f0ec6127d1491"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"a39c21f9f27b725389a7fcea8cccedcbb9919215","unresolved":true,"context_lines":[{"line_number":56,"context_line":"                      \u0027restores the gateway connection.\u0027)),"},{"line_number":57,"context_line":"    cfg.BoolOpt(\u0027set_backup_external_gateway_down\u0027,"},{"line_number":58,"context_line":"                default\u003dTrue,"},{"line_number":59,"context_line":"                help\u003d_(\"Indicates whether the L3 agent should set the \""},{"line_number":60,"context_line":"                       \"external gateway port link down on backup router \""},{"line_number":61,"context_line":"                       \"namespace(s) for HA routers. Default value True means \""},{"line_number":62,"context_line":"                       \"the L3 agent will set the external gateway link down. \""},{"line_number":63,"context_line":"                       \"Set False to make the external gateway link up on \""},{"line_number":64,"context_line":"                       \"backup namespace(s).\")),"},{"line_number":65,"context_line":"]"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"7a0f7166_1c103ac4","line":64,"range":{"start_line":59,"start_character":0,"end_line":64,"end_character":48},"in_reply_to":"e1025bf3_7c279c50","updated":"2022-05-16 08:23:36.000000000","message":"Done for release note.\nYes, hardly to find a perfect solution.","commit_id":"64a4fc10902cb6b8cea31fc4ab1f0ec6127d1491"}]}
