)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"dfb5a3949f9b8e7961855415826ff78e98af818b","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Cleanup ipv4 address when keepalived is dead"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"If a router\u0027s keepalived is dead(kill -9 \u003cpid\u003e, or"},{"line_number":10,"context_line":"kill -HUP \u003cpid\u003e too many times), and the original"},{"line_number":11,"context_line":"role in this node is master, this will cause brain"},{"line_number":12,"context_line":"split. Then when we restart neutron-l3-agent,"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9fb8cfa7_2cb92dcb","line":9,"range":{"start_line":9,"start_character":14,"end_line":9,"end_character":32},"updated":"2019-06-25 14:09:53.000000000","message":"State-change-monitor can not trigger it up again?","commit_id":"f4588d24666228b48ee377793f978f2b7f274a73"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"dfb5a3949f9b8e7961855415826ff78e98af818b","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Cleanup ipv4 address when keepalived is dead"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"If a router\u0027s keepalived is dead(kill -9 \u003cpid\u003e, or"},{"line_number":10,"context_line":"kill -HUP \u003cpid\u003e too many times), and the original"},{"line_number":11,"context_line":"role in this node is master, this will cause brain"},{"line_number":12,"context_line":"split. Then when we restart neutron-l3-agent,"},{"line_number":13,"context_line":"the ipv6 will be cleanup, but the ipv4 still exists,"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9fb8cfa7_eca795bb","line":10,"range":{"start_line":9,"start_character":33,"end_line":10,"end_character":30},"updated":"2019-06-25 14:09:53.000000000","message":"Did you mean l3-agent will kill the keepalived many times, but why? Or it is just a manually test?","commit_id":"f4588d24666228b48ee377793f978f2b7f274a73"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"87a33a7bf18506d7bd967602b028ef6e0f340cb3","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Cleanup ipv4 address when keepalived is dead"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"If a router\u0027s keepalived is dead(kill -9 \u003cpid\u003e, or"},{"line_number":10,"context_line":"kill -HUP \u003cpid\u003e too many times), and the original"},{"line_number":11,"context_line":"role in this node is master, this will cause brain"},{"line_number":12,"context_line":"split. Then when we restart neutron-l3-agent,"},{"line_number":13,"context_line":"the ipv6 will be cleanup, but the ipv4 still exists,"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9fb8cfa7_9809182c","line":10,"range":{"start_line":9,"start_character":33,"end_line":10,"end_character":30},"in_reply_to":"9fb8cfa7_eca795bb","updated":"2019-07-01 13:27:28.000000000","message":"+1\n\nWhat does it mean \"kill process too many times\"?","commit_id":"f4588d24666228b48ee377793f978f2b7f274a73"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"dfb5a3949f9b8e7961855415826ff78e98af818b","unresolved":false,"context_lines":[{"line_number":9,"context_line":"If a router\u0027s keepalived is dead(kill -9 \u003cpid\u003e, or"},{"line_number":10,"context_line":"kill -HUP \u003cpid\u003e too many times), and the original"},{"line_number":11,"context_line":"role in this node is master, this will cause brain"},{"line_number":12,"context_line":"split. Then when we restart neutron-l3-agent,"},{"line_number":13,"context_line":"the ipv6 will be cleanup, but the ipv4 still exists,"},{"line_number":14,"context_line":"we should alse cleanup ipv4 before enable keepalived."},{"line_number":15,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9fb8cfa7_cc3c1131","line":12,"range":{"start_line":12,"start_character":17,"end_line":12,"end_character":44},"updated":"2019-06-25 14:09:53.000000000","message":"IMO, a router admin-state DOWN/UP action will work for this test.","commit_id":"f4588d24666228b48ee377793f978f2b7f274a73"},{"author":{"_account_id":7016,"name":"Swaminathan Vasudevan","email":"swvasude@cisco.com","username":"souminathan"},"change_message_id":"fb3e1cdf226dbb78735fcf5bc6412589b23b5027","unresolved":false,"context_lines":[{"line_number":10,"context_line":"kill -HUP \u003cpid\u003e too many times), and the original"},{"line_number":11,"context_line":"role in this node is master, this will cause brain"},{"line_number":12,"context_line":"split. Then when we restart neutron-l3-agent,"},{"line_number":13,"context_line":"the ipv6 will be cleanup, but the ipv4 still exists,"},{"line_number":14,"context_line":"we should alse cleanup ipv4 before enable keepalived."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Closes-Bug: #1833653"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"7faddb67_6eff6aaa","line":13,"range":{"start_line":13,"start_character":17,"end_line":13,"end_character":24},"updated":"2019-07-08 17:38:31.000000000","message":"ipv6 addresses will be cleaned, but the ipv4 address still exists.","commit_id":"98bcce5d74f13df92102f7360eb646a34c49da14"},{"author":{"_account_id":7016,"name":"Swaminathan Vasudevan","email":"swvasude@cisco.com","username":"souminathan"},"change_message_id":"fb3e1cdf226dbb78735fcf5bc6412589b23b5027","unresolved":false,"context_lines":[{"line_number":11,"context_line":"role in this node is master, this will cause brain"},{"line_number":12,"context_line":"split. Then when we restart neutron-l3-agent,"},{"line_number":13,"context_line":"the ipv6 will be cleanup, but the ipv4 still exists,"},{"line_number":14,"context_line":"we should alse cleanup ipv4 before enable keepalived."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Closes-Bug: #1833653"},{"line_number":17,"context_line":"Change-Id: Id612a65d905c9efe78b4d57af6d88cac4318854d"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"7faddb67_2e33b2ad","line":14,"range":{"start_line":14,"start_character":10,"end_line":14,"end_character":14},"updated":"2019-07-08 17:38:31.000000000","message":"also","commit_id":"98bcce5d74f13df92102f7360eb646a34c49da14"},{"author":{"_account_id":7016,"name":"Swaminathan Vasudevan","email":"swvasude@cisco.com","username":"souminathan"},"change_message_id":"fb3e1cdf226dbb78735fcf5bc6412589b23b5027","unresolved":false,"context_lines":[{"line_number":11,"context_line":"role in this node is master, this will cause brain"},{"line_number":12,"context_line":"split. Then when we restart neutron-l3-agent,"},{"line_number":13,"context_line":"the ipv6 will be cleanup, but the ipv4 still exists,"},{"line_number":14,"context_line":"we should alse cleanup ipv4 before enable keepalived."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Closes-Bug: #1833653"},{"line_number":17,"context_line":"Change-Id: Id612a65d905c9efe78b4d57af6d88cac4318854d"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"7faddb67_ce277e64","line":14,"range":{"start_line":14,"start_character":27,"end_line":14,"end_character":35},"updated":"2019-07-08 17:38:31.000000000","message":"ipv4 addresses before","commit_id":"98bcce5d74f13df92102f7360eb646a34c49da14"}],"neutron/agent/l3/ha_router.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"87a33a7bf18506d7bd967602b028ef6e0f340cb3","unresolved":false,"context_lines":[{"line_number":290,"context_line":""},{"line_number":291,"context_line":"    def _disable_ipv4_addressing_on_interface(self, interface_name):"},{"line_number":292,"context_line":"        \"\"\"When the keepalived is dead, the router on this node will"},{"line_number":293,"context_line":"        translated to be backup, but vip still exists, so we cleanup"},{"line_number":294,"context_line":"        IPv4 address if keepalived is dead, this will prevent brain split."},{"line_number":295,"context_line":"        \"\"\""},{"line_number":296,"context_line":"        device \u003d ip_lib.IPDevice(interface_name, namespace\u003dself.ha_namespace)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_fd512631","line":293,"range":{"start_line":293,"start_character":37,"end_line":293,"end_character":40},"updated":"2019-07-01 13:27:28.000000000","message":"s/vip/VIP","commit_id":"f4588d24666228b48ee377793f978f2b7f274a73"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"87a33a7bf18506d7bd967602b028ef6e0f340cb3","unresolved":false,"context_lines":[{"line_number":293,"context_line":"        translated to be backup, but vip still exists, so we cleanup"},{"line_number":294,"context_line":"        IPv4 address if keepalived is dead, this will prevent brain split."},{"line_number":295,"context_line":"        \"\"\""},{"line_number":296,"context_line":"        device \u003d ip_lib.IPDevice(interface_name, namespace\u003dself.ha_namespace)"},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"        if not self.keepalived_manager.get_process().active:"},{"line_number":299,"context_line":"            device.addr.flush(n_consts.IP_VERSION_4)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_fd2606cb","line":296,"range":{"start_line":296,"start_character":8,"end_line":296,"end_character":77},"updated":"2019-07-01 13:27:28.000000000","message":"Create this variable inside the condition\n\nif not self.keepalived_manager.get_process().active:\n  device \u003d ip_lib.IPDevice(interface_name, namespace\u003dself.ha_namespace)\n  device.addr.flush(n_consts.IP_VERSION_4)","commit_id":"f4588d24666228b48ee377793f978f2b7f274a73"},{"author":{"_account_id":7016,"name":"Swaminathan Vasudevan","email":"swvasude@cisco.com","username":"souminathan"},"change_message_id":"fb3e1cdf226dbb78735fcf5bc6412589b23b5027","unresolved":false,"context_lines":[{"line_number":289,"context_line":"        return True"},{"line_number":290,"context_line":""},{"line_number":291,"context_line":"    def _disable_ipv4_addressing_on_interface(self, interface_name):"},{"line_number":292,"context_line":"        \"\"\"When the keepalived is dead, the router on this node will"},{"line_number":293,"context_line":"        translated to be backup, but vip still exists, so we cleanup"},{"line_number":294,"context_line":"        IPv4 address if keepalived is dead, this will prevent brain split."},{"line_number":295,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":4,"id":"7faddb67_4e6dce96","line":292,"range":{"start_line":292,"start_character":59,"end_line":292,"end_character":68},"updated":"2019-07-08 17:38:31.000000000","message":"node will be","commit_id":"98bcce5d74f13df92102f7360eb646a34c49da14"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"507f7750205fa5554b2c0131a401fa9b1aa420d5","unresolved":false,"context_lines":[{"line_number":296,"context_line":"        device \u003d ip_lib.IPDevice(interface_name, namespace\u003dself.ha_namespace)"},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"        if not self.keepalived_manager.get_process().active:"},{"line_number":299,"context_line":"            device.addr.flush(n_consts.IP_VERSION_4)"},{"line_number":300,"context_line":""},{"line_number":301,"context_line":"    def _disable_ipv6_addressing_on_interface(self, interface_name):"},{"line_number":302,"context_line":"        \"\"\"Disable IPv6 link local addressing on the device and add it as"}],"source_content_type":"text/x-python","patch_set":7,"id":"7faddb67_df04601a","line":299,"range":{"start_line":299,"start_character":12,"end_line":299,"end_character":52},"updated":"2019-08-06 09:23:33.000000000","message":"1) Should we delete all ipv4 addresses from this interface?\n\nWe should remove the VIP but not the private static ipv4 IP address assigned to this interface and different on each router HA interface.\n\n\n2) There is a method, \"_clear_vips\", in charge of deleting the VIP routes. Can we use this method to, using a kwarg, deleted the VIP if requested?","commit_id":"59fe934b1133e5bdb864c0fc09e9b8200721e1f6"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"2540140fe9f93656497cdfd37ab165ba75607184","unresolved":false,"context_lines":[{"line_number":296,"context_line":"        device \u003d ip_lib.IPDevice(interface_name, namespace\u003dself.ha_namespace)"},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"        if not self.keepalived_manager.get_process().active:"},{"line_number":299,"context_line":"            device.addr.flush(n_consts.IP_VERSION_4)"},{"line_number":300,"context_line":""},{"line_number":301,"context_line":"    def _disable_ipv6_addressing_on_interface(self, interface_name):"},{"line_number":302,"context_line":"        \"\"\"Disable IPv6 link local addressing on the device and add it as"}],"source_content_type":"text/x-python","patch_set":7,"id":"3fa7e38b_ae933f4e","line":299,"range":{"start_line":299,"start_character":12,"end_line":299,"end_character":52},"in_reply_to":"7faddb67_bd072c82","updated":"2019-12-17 09:42:23.000000000","message":"I think that clearing VIP address should be enough here as Rodolfo mentioned. If You will clean it, there will be no split brain anymore for sure, right?","commit_id":"59fe934b1133e5bdb864c0fc09e9b8200721e1f6"},{"author":{"_account_id":18480,"name":"zhengy","email":"zhengy23@163.com","username":"zhengyong"},"change_message_id":"664df1eb67657b01f80275192dd7853276f854e8","unresolved":false,"context_lines":[{"line_number":296,"context_line":"        device \u003d ip_lib.IPDevice(interface_name, namespace\u003dself.ha_namespace)"},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"        if not self.keepalived_manager.get_process().active:"},{"line_number":299,"context_line":"            device.addr.flush(n_consts.IP_VERSION_4)"},{"line_number":300,"context_line":""},{"line_number":301,"context_line":"    def _disable_ipv6_addressing_on_interface(self, interface_name):"},{"line_number":302,"context_line":"        \"\"\"Disable IPv6 link local addressing on the device and add it as"}],"source_content_type":"text/x-python","patch_set":7,"id":"7faddb67_bd072c82","line":299,"range":{"start_line":299,"start_character":12,"end_line":299,"end_character":52},"in_reply_to":"7faddb67_df04601a","updated":"2019-08-06 10:44:00.000000000","message":"reply:\n1) Here we just delete all IPv4 address when keepalived is dead, maybe it is reasonable. L3 agent with dead keepalived should be excluded from the cluster, and the static ip for ha port is not useful any more, so the ip should be cleaned\n\n2) just as _disable_ipv6_addressing_on_interface, use one independent function is more clearly.","commit_id":"59fe934b1133e5bdb864c0fc09e9b8200721e1f6"}]}
