)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"cee9b409a2b634f4aab83f42cadeb0db8e47969c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"77bdc8bf_0c3eba46","updated":"2024-03-25 14:21:11.000000000","message":"I wish there was a better way to test this, but the functional test is currently disabled, see:\n\ntest_keepalived_spawns_conflicting_pid_vrrp_subprocess()","commit_id":"d3a8c9ca0f668cfefc271d7db01dbf0badbbecec"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"38d5326847f256f6dbd29094eaba854647c84117","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"79514796_cfce78f9","updated":"2024-03-13 18:12:49.000000000","message":"recheck unrelated test failure","commit_id":"d3a8c9ca0f668cfefc271d7db01dbf0badbbecec"}],"neutron/agent/linux/keepalived.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"bdc9916f6d48e29425688ea7b19c797e6376da8b","unresolved":true,"context_lines":[{"line_number":504,"context_line":"            # will be orphan and prevent keepalived process to be spawned."},{"line_number":505,"context_line":"            # A check here will let the l3-agent to kill the orphan process"},{"line_number":506,"context_line":"            # and spawn keepalived successfully."},{"line_number":507,"context_line":"            # Also removes stale pid file"},{"line_number":508,"context_line":"            vrrp_pm.disable()"},{"line_number":509,"context_line":""},{"line_number":510,"context_line":"            cmd \u003d [\u0027keepalived\u0027, \u0027-P\u0027,"},{"line_number":511,"context_line":"                   \u0027-f\u0027, config_path,"}],"source_content_type":"text/x-python","patch_set":1,"id":"297d95a0_0c11e09c","line":508,"range":{"start_line":507,"start_character":11,"end_line":508,"end_character":29},"updated":"2024-03-11 10:26:05.000000000","message":"That only happens if the process is active [1]; if not, the PID file won\u0027t be removed.\n\nAccording what you reported in the LP bug, the code [2] can be restored in case the process is not active:\n```\n    if vrrp_pm.active:\n        vrrp_pm.disable()\n    else:\n        self._safe_remove_pid_file(pid_file)\n        self._safe_remove_pid_file(self.get_vrrp_pid_file_name(pid_file))\n```\n\n[1]https://github.com/openstack/neutron/blob/e8468a6dd647fd62eac429417c7f382e8859b574/neutron/agent/linux/external_process.py#L123-L138\n[2]https://review.opendev.org/c/openstack/neutron/+/895832/5/neutron/agent/linux/keepalived.py","commit_id":"d8373f7c7e0c1c7ab9c7a5414b9e519278e9c0d6"},{"author":{"_account_id":13636,"name":"aarefiev","display_name":"Anton","email":"arefyevanton@gmail.com","username":"aarefiev"},"change_message_id":"988e6a3f81be921f8e5fc8a674d2a18c9f434d3d","unresolved":true,"context_lines":[{"line_number":504,"context_line":"            # will be orphan and prevent keepalived process to be spawned."},{"line_number":505,"context_line":"            # A check here will let the l3-agent to kill the orphan process"},{"line_number":506,"context_line":"            # and spawn keepalived successfully."},{"line_number":507,"context_line":"            # Also removes stale pid file"},{"line_number":508,"context_line":"            vrrp_pm.disable()"},{"line_number":509,"context_line":""},{"line_number":510,"context_line":"            cmd \u003d [\u0027keepalived\u0027, \u0027-P\u0027,"},{"line_number":511,"context_line":"                   \u0027-f\u0027, config_path,"}],"source_content_type":"text/x-python","patch_set":1,"id":"7d316220_e096ee3e","line":508,"range":{"start_line":507,"start_character":11,"end_line":508,"end_character":29},"in_reply_to":"297d95a0_0c11e09c","updated":"2024-03-11 11:09:15.000000000","message":"yeah, my bad I had modified process class","commit_id":"d8373f7c7e0c1c7ab9c7a5414b9e519278e9c0d6"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"4b788c8fadbac1a99547f5942a4cbe48948ed5c8","unresolved":true,"context_lines":[{"line_number":510,"context_line":"                vrrp_pm.disable(delete_pid_file\u003dFalse)"},{"line_number":511,"context_line":""},{"line_number":512,"context_line":"            linux_utils.delete_if_exists(self.get_vrrp_pid_file_name(pid_file),"},{"line_number":513,"context_line":"                                         run_as_root\u003dvrrp_pm.run_as_root)"},{"line_number":514,"context_line":""},{"line_number":515,"context_line":"            cmd \u003d [\u0027keepalived\u0027, \u0027-P\u0027,"},{"line_number":516,"context_line":"                   \u0027-f\u0027, config_path,"}],"source_content_type":"text/x-python","patch_set":3,"id":"496ddf79_3e28827e","line":513,"updated":"2024-03-13 02:43:29.000000000","message":"So the other alternative is to do similar to what was done in https://review.opendev.org/c/openstack/neutron/+/895832 and move this block in external_process enable()\n\n            if delete_pid_file:\n                utils.delete_if_exists(self.get_pid_file_name(),\n                                       run_as_root\u003dself.run_as_root)\n                                       \nto the very end of the function so it is always run.","commit_id":"d3a8c9ca0f668cfefc271d7db01dbf0badbbecec"},{"author":{"_account_id":13636,"name":"aarefiev","display_name":"Anton","email":"arefyevanton@gmail.com","username":"aarefiev"},"change_message_id":"66185c643a7ea67106ba4237bc02ad8b4d459ce6","unresolved":true,"context_lines":[{"line_number":510,"context_line":"                vrrp_pm.disable(delete_pid_file\u003dFalse)"},{"line_number":511,"context_line":""},{"line_number":512,"context_line":"            linux_utils.delete_if_exists(self.get_vrrp_pid_file_name(pid_file),"},{"line_number":513,"context_line":"                                         run_as_root\u003dvrrp_pm.run_as_root)"},{"line_number":514,"context_line":""},{"line_number":515,"context_line":"            cmd \u003d [\u0027keepalived\u0027, \u0027-P\u0027,"},{"line_number":516,"context_line":"                   \u0027-f\u0027, config_path,"}],"source_content_type":"text/x-python","patch_set":3,"id":"e6076f89_ad9b23f3","line":513,"in_reply_to":"496ddf79_3e28827e","updated":"2024-03-13 11:57:06.000000000","message":"Looks like we don\u0027t have enable call for vrrp.","commit_id":"d3a8c9ca0f668cfefc271d7db01dbf0badbbecec"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"38d5326847f256f6dbd29094eaba854647c84117","unresolved":false,"context_lines":[{"line_number":510,"context_line":"                vrrp_pm.disable(delete_pid_file\u003dFalse)"},{"line_number":511,"context_line":""},{"line_number":512,"context_line":"            linux_utils.delete_if_exists(self.get_vrrp_pid_file_name(pid_file),"},{"line_number":513,"context_line":"                                         run_as_root\u003dvrrp_pm.run_as_root)"},{"line_number":514,"context_line":""},{"line_number":515,"context_line":"            cmd \u003d [\u0027keepalived\u0027, \u0027-P\u0027,"},{"line_number":516,"context_line":"                   \u0027-f\u0027, config_path,"}],"source_content_type":"text/x-python","patch_set":3,"id":"9e4bd153_cba0098a","line":513,"in_reply_to":"e6076f89_ad9b23f3","updated":"2024-03-13 18:12:49.000000000","message":"Ah right, it\u0027s spawned from keepalived, we just track its process.","commit_id":"d3a8c9ca0f668cfefc271d7db01dbf0badbbecec"}]}
