)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"58aa37637e1f966a81d74af50449b9e255c87975","unresolved":true,"context_lines":[{"line_number":16,"context_line":"  properly documents this new test requirement."},{"line_number":17,"context_line":"* Several typo and other small fixes suggested by Ihar Hrachyshka."},{"line_number":18,"context_line":"* Common pgrep utility function as suggested by lajoskatona."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Change-Id: Ica1c38b3a635d60a08f48272fcda2034b0323d10"},{"line_number":21,"context_line":"Original-Change-Id: I28fb57b87c0e7113416873f602fcbce3742b3aaa"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"60a9d38c_b2aa5a83","line":19,"updated":"2025-01-09 15:14:44.000000000","message":"Add reference to LP#2092907","commit_id":"5a0c0901711a0c71b3fbf7a1a390a94e296c913a"},{"author":{"_account_id":11290,"name":"Gaudenz Steinlin","email":"gaudenz.steinlin@cloudscale.ch","username":"gaudenz"},"change_message_id":"a76199441c7ba3732980e738a4e11a5b46b0a8cf","unresolved":false,"context_lines":[{"line_number":16,"context_line":"  properly documents this new test requirement."},{"line_number":17,"context_line":"* Several typo and other small fixes suggested by Ihar Hrachyshka."},{"line_number":18,"context_line":"* Common pgrep utility function as suggested by lajoskatona."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Change-Id: Ica1c38b3a635d60a08f48272fcda2034b0323d10"},{"line_number":21,"context_line":"Original-Change-Id: I28fb57b87c0e7113416873f602fcbce3742b3aaa"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"15229db8_d3625bca","line":19,"in_reply_to":"60a9d38c_b2aa5a83","updated":"2025-01-09 16:11:17.000000000","message":"Done","commit_id":"5a0c0901711a0c71b3fbf7a1a390a94e296c913a"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"58aa37637e1f966a81d74af50449b9e255c87975","unresolved":true,"context_lines":[{"line_number":18,"context_line":"* Common pgrep utility function as suggested by lajoskatona."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Change-Id: Ica1c38b3a635d60a08f48272fcda2034b0323d10"},{"line_number":21,"context_line":"Original-Change-Id: I28fb57b87c0e7113416873f602fcbce3742b3aaa"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"17e424a8_776145c3","line":21,"range":{"start_line":21,"start_character":0,"end_line":21,"end_character":61},"updated":"2025-01-09 15:14:44.000000000","message":"Please remove this line","commit_id":"5a0c0901711a0c71b3fbf7a1a390a94e296c913a"},{"author":{"_account_id":11290,"name":"Gaudenz Steinlin","email":"gaudenz.steinlin@cloudscale.ch","username":"gaudenz"},"change_message_id":"a76199441c7ba3732980e738a4e11a5b46b0a8cf","unresolved":false,"context_lines":[{"line_number":18,"context_line":"* Common pgrep utility function as suggested by lajoskatona."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Change-Id: Ica1c38b3a635d60a08f48272fcda2034b0323d10"},{"line_number":21,"context_line":"Original-Change-Id: I28fb57b87c0e7113416873f602fcbce3742b3aaa"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"713f5335_6e1b01c0","line":21,"range":{"start_line":21,"start_character":0,"end_line":21,"end_character":61},"in_reply_to":"17e424a8_776145c3","updated":"2025-01-09 16:11:17.000000000","message":"Done","commit_id":"5a0c0901711a0c71b3fbf7a1a390a94e296c913a"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"35b07d27d8c2fad9f1a1a1373b03f26b021d6558","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"b78532fc_fdc3be9d","updated":"2025-01-10 15:12:26.000000000","message":"FTs are failing and these are related to this patch: https://storage.bhs.cloud.ovh.net/v1/AUTH_dcaab5e32b234d56b626f72581e3644c/zuul_opendev_logs_785/938800/3/gate/neutron-functional/785fa5e/testr_results.html","commit_id":"3ce5902b7092d917e7b09ad618c7da8b4710c281"},{"author":{"_account_id":5263,"name":"Jeremy Stanley","display_name":"fungi","email":"fungi@yuggoth.org","username":"fungi","status":"missing, presumed fed"},"change_message_id":"c212e24a9a8bfd18974540c35b7c6266fdfb3a51","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"5005ef8b_78a6725b","updated":"2025-01-09 21:29:02.000000000","message":"Thanks, the sooner we clear that GPL code back out, the better.","commit_id":"3ce5902b7092d917e7b09ad618c7da8b4710c281"},{"author":{"_account_id":11290,"name":"Gaudenz Steinlin","email":"gaudenz.steinlin@cloudscale.ch","username":"gaudenz"},"change_message_id":"b1ffad6ccf16c19cbb3dad2c390fe7140520e09b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"eb9a4386_9c32bf4b","updated":"2025-01-09 21:59:02.000000000","message":"recheck unable to reproduce this locally and nothing found in the logs","commit_id":"3ce5902b7092d917e7b09ad618c7da8b4710c281"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"5d50799366dbd9247065e66366913c6f8b36189c","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":3,"id":"5e068464_b0f98d19","in_reply_to":"55c31eae_df13a393","updated":"2025-01-13 11:50:03.000000000","message":"To remove a failing test because of this patch? No, this is not an option.","commit_id":"3ce5902b7092d917e7b09ad618c7da8b4710c281"},{"author":{"_account_id":11290,"name":"Gaudenz Steinlin","email":"gaudenz.steinlin@cloudscale.ch","username":"gaudenz"},"change_message_id":"696133b36f77afdc79dad694dcd4d57e9723fe0a","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":3,"id":"de271ce3_d4d0e2e7","in_reply_to":"5e068464_b0f98d19","updated":"2025-01-13 16:02:00.000000000","message":"I did not mean to remove the failing test, but to just omit the code that tests the new functionality. But I did some further investigation and this is probably not only a problem in the test setup but with how the conntrackd commands are executed. It looks like Popen.communicate in neutron/agent/linux/utils.py:_execute_process just hangs sometimes.\n\nI suspect this might have to do with the usage of eventlet.green.subprocess in a non-eventlet process (neutron-keepalived-state-change).","commit_id":"3ce5902b7092d917e7b09ad618c7da8b4710c281"},{"author":{"_account_id":11290,"name":"Gaudenz Steinlin","email":"gaudenz.steinlin@cloudscale.ch","username":"gaudenz"},"change_message_id":"9da5b81c6432caf2e16dec7a65ac45ba87f2fdab","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":3,"id":"55c31eae_df13a393","in_reply_to":"b78532fc_fdc3be9d","updated":"2025-01-10 16:48:46.000000000","message":"2 of the 4 failures are related to this patch. The others probably not. Those two seem to randomly fail sometimes. I currently have no idea why and will have to investigate. Would it be an option to just remove test code for now to get this merged?","commit_id":"3ce5902b7092d917e7b09ad618c7da8b4710c281"},{"author":{"_account_id":11290,"name":"Gaudenz Steinlin","email":"gaudenz.steinlin@cloudscale.ch","username":"gaudenz"},"change_message_id":"75eb90f30fbb18800f12e022b37ce19d940dd8e9","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":3,"id":"0b71f4e0_51d1b688","in_reply_to":"de271ce3_d4d0e2e7","updated":"2025-01-15 14:08:10.000000000","message":"I was only able to fix the hang by not starting the \"ip_monitor\" thread before the \"initial_state\" thread finished. Otherwise the conntrackd call in the initial_state thread hung even when I removed all the usages of eventlet in neutron-keepalived-state-change I found. I tried to replace this with stdlib functions which according to the documentation should be thread safe. But there might still have been some eventlet parts involved, because of the dependencies it\u0027s not possible to remove all imports of eventlet.\n\nI have now solved the issue by starting the other threads only after the inital_state thread finished. With this change I can no longer reproduce the issue.","commit_id":"3ce5902b7092d917e7b09ad618c7da8b4710c281"},{"author":{"_account_id":11290,"name":"Gaudenz Steinlin","email":"gaudenz.steinlin@cloudscale.ch","username":"gaudenz"},"change_message_id":"625d276e1e6ef3d763103b67f2c875c8acdc63ff","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"d449df37_7d7fe50e","updated":"2025-01-15 21:16:45.000000000","message":"recheck unrelated failures, connection errors to Github","commit_id":"91df7adf4487c491a105b411a99f3251e20dd3ef"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"682260e6442059c80668a7c8d128ade5d984df39","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"9ef55286_8c555e56","updated":"2025-01-23 08:23:26.000000000","message":"thanks","commit_id":"9a0814c760777e53c9499bb3a891f436d34f3bee"}],"neutron/agent/l3/ha_router.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"58aa37637e1f966a81d74af50449b9e255c87975","unresolved":true,"context_lines":[{"line_number":476,"context_line":"                cmd.append(\u0027--enable_conntrackd\u0027)"},{"line_number":477,"context_line":""},{"line_number":478,"context_line":"            if self.agent_conf.debug:"},{"line_number":479,"context_line":"                cmd.append(\u0027--debug\u0027)"},{"line_number":480,"context_line":""},{"line_number":481,"context_line":"            return cmd"},{"line_number":482,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"8685788d_3366f28a","line":479,"range":{"start_line":479,"start_character":16,"end_line":479,"end_character":37},"updated":"2025-01-09 15:14:44.000000000","message":"Where is this variable read in keepalived_state_change.py?","commit_id":"5a0c0901711a0c71b3fbf7a1a390a94e296c913a"},{"author":{"_account_id":11290,"name":"Gaudenz Steinlin","email":"gaudenz.steinlin@cloudscale.ch","username":"gaudenz"},"change_message_id":"a76199441c7ba3732980e738a4e11a5b46b0a8cf","unresolved":false,"context_lines":[{"line_number":476,"context_line":"                cmd.append(\u0027--enable_conntrackd\u0027)"},{"line_number":477,"context_line":""},{"line_number":478,"context_line":"            if self.agent_conf.debug:"},{"line_number":479,"context_line":"                cmd.append(\u0027--debug\u0027)"},{"line_number":480,"context_line":""},{"line_number":481,"context_line":"            return cmd"},{"line_number":482,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"e1712cc2_35bb0d54","line":479,"range":{"start_line":479,"start_character":16,"end_line":479,"end_character":37},"in_reply_to":"8685788d_3366f28a","updated":"2025-01-09 16:11:17.000000000","message":"As far as I understand this is a default option handled by oslo_config. At least without this debug logging does not work in the state change daemon even if it\u0027s enabled in the agent. See also test/functional/agent/l3/test_keepalived_state_change.py where this option is already used.","commit_id":"5a0c0901711a0c71b3fbf7a1a390a94e296c913a"}],"neutron/agent/l3/keepalived_state_change.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"58aa37637e1f966a81d74af50449b9e255c87975","unresolved":true,"context_lines":[{"line_number":206,"context_line":"                  self.router_id)"},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"    def sync_conntrack_backup(self):"},{"line_number":209,"context_line":"        # shorten kernel conntrack timers to remove the zombie entries."},{"line_number":210,"context_line":"        self.conntrackd(\u0027-t\u0027)"},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"        # request resynchronization with primary firewall replica (if any)"}],"source_content_type":"text/x-python","patch_set":1,"id":"50b23a4a_260f7370","line":209,"updated":"2025-01-09 15:14:44.000000000","message":"Why don\u0027t you check the conntrackd status? Same as in https://github.com/Distrotech/conntrack-tools/blob/94ed290b11266d50f4008333fd5141193a9e4afb/doc/sync/primary-backup.sh#L68","commit_id":"5a0c0901711a0c71b3fbf7a1a390a94e296c913a"},{"author":{"_account_id":11290,"name":"Gaudenz Steinlin","email":"gaudenz.steinlin@cloudscale.ch","username":"gaudenz"},"change_message_id":"a76199441c7ba3732980e738a4e11a5b46b0a8cf","unresolved":false,"context_lines":[{"line_number":206,"context_line":"                  self.router_id)"},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"    def sync_conntrack_backup(self):"},{"line_number":209,"context_line":"        # shorten kernel conntrack timers to remove the zombie entries."},{"line_number":210,"context_line":"        self.conntrackd(\u0027-t\u0027)"},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"        # request resynchronization with primary firewall replica (if any)"}],"source_content_type":"text/x-python","patch_set":1,"id":"031bcea9_b55f1774","line":209,"in_reply_to":"50b23a4a_260f7370","updated":"2025-01-09 16:11:17.000000000","message":"As this only runs if conntrackd support is enabled, this should not be required. Conntrackd should always be running. In case the command fails, the error is printed to the log, but the state change daemon continues to work.","commit_id":"5a0c0901711a0c71b3fbf7a1a390a94e296c913a"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"506c78a51228f2852b57b3b91a10f88e382ba12d","unresolved":true,"context_lines":[{"line_number":170,"context_line":""},{"line_number":171,"context_line":"    def conntrackd(self, option):"},{"line_number":172,"context_line":"        execute \u003d ip_lib.IPWrapper(namespace\u003dself.namespace).netns.execute"},{"line_number":173,"context_line":"        cmd \u003d [\u0027conntrackd\u0027, \u0027-C\u0027, f\u0027{self.conf_dir}/conntrackd.conf\u0027, option]"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"        LOG.debug(\u0027Executing \"%s\" on router %s\u0027, \u0027 \u0027.join(cmd), self.router_id)"},{"line_number":176,"context_line":"        execute("}],"source_content_type":"text/x-python","patch_set":3,"id":"1fdfcadd_6a5b6dc1","line":173,"range":{"start_line":173,"start_character":53,"end_line":173,"end_character":68},"updated":"2025-01-10 08:13:05.000000000","message":"is this file there by default or is there anything the operator need to do with it?","commit_id":"3ce5902b7092d917e7b09ad618c7da8b4710c281"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"68dc6f2c1bfa8b696f2493ed2ed0a575cf5a3be2","unresolved":true,"context_lines":[{"line_number":170,"context_line":""},{"line_number":171,"context_line":"    def conntrackd(self, option):"},{"line_number":172,"context_line":"        execute \u003d ip_lib.IPWrapper(namespace\u003dself.namespace).netns.execute"},{"line_number":173,"context_line":"        cmd \u003d [\u0027conntrackd\u0027, \u0027-C\u0027, f\u0027{self.conf_dir}/conntrackd.conf\u0027, option]"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"        LOG.debug(\u0027Executing \"%s\" on router %s\u0027, \u0027 \u0027.join(cmd), self.router_id)"},{"line_number":176,"context_line":"        execute("}],"source_content_type":"text/x-python","patch_set":3,"id":"7eeba852_037677ad","line":173,"range":{"start_line":173,"start_character":53,"end_line":173,"end_character":68},"in_reply_to":"1fdfcadd_6a5b6dc1","updated":"2025-01-10 08:32:18.000000000","message":"If I\u0027m not wrong, this is the file Neutron creates for conntrack, using ``neutron.agent.linux.conntrackd.CONFIG_TEMPLATE``","commit_id":"3ce5902b7092d917e7b09ad618c7da8b4710c281"},{"author":{"_account_id":11290,"name":"Gaudenz Steinlin","email":"gaudenz.steinlin@cloudscale.ch","username":"gaudenz"},"change_message_id":"c1d59b782f79e51010a5a216ea074144a9053716","unresolved":false,"context_lines":[{"line_number":170,"context_line":""},{"line_number":171,"context_line":"    def conntrackd(self, option):"},{"line_number":172,"context_line":"        execute \u003d ip_lib.IPWrapper(namespace\u003dself.namespace).netns.execute"},{"line_number":173,"context_line":"        cmd \u003d [\u0027conntrackd\u0027, \u0027-C\u0027, f\u0027{self.conf_dir}/conntrackd.conf\u0027, option]"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"        LOG.debug(\u0027Executing \"%s\" on router %s\u0027, \u0027 \u0027.join(cmd), self.router_id)"},{"line_number":176,"context_line":"        execute("}],"source_content_type":"text/x-python","patch_set":3,"id":"80ed8868_e6528f53","line":173,"range":{"start_line":173,"start_character":53,"end_line":173,"end_character":68},"in_reply_to":"7eeba852_037677ad","updated":"2025-01-10 09:32:38.000000000","message":"Yes exactly the configuration file is generated by Neutron similar to how the keepalived configuration is generated.","commit_id":"3ce5902b7092d917e7b09ad618c7da8b4710c281"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"60d757b6ea213e2018828588516e2181a1cbbbdc","unresolved":false,"context_lines":[{"line_number":170,"context_line":""},{"line_number":171,"context_line":"    def conntrackd(self, option):"},{"line_number":172,"context_line":"        execute \u003d ip_lib.IPWrapper(namespace\u003dself.namespace).netns.execute"},{"line_number":173,"context_line":"        cmd \u003d [\u0027conntrackd\u0027, \u0027-C\u0027, f\u0027{self.conf_dir}/conntrackd.conf\u0027, option]"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"        LOG.debug(\u0027Executing \"%s\" on router %s\u0027, \u0027 \u0027.join(cmd), self.router_id)"},{"line_number":176,"context_line":"        execute("}],"source_content_type":"text/x-python","patch_set":3,"id":"b0b6d3a6_2e2c93ae","line":173,"range":{"start_line":173,"start_character":53,"end_line":173,"end_character":68},"in_reply_to":"80ed8868_e6528f53","updated":"2025-01-10 11:58:26.000000000","message":"ack, thanks for clarification","commit_id":"3ce5902b7092d917e7b09ad618c7da8b4710c281"}],"neutron/agent/linux/utils.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"4265c0715eedd79b21d9b27d61e8f7162a60855d","unresolved":true,"context_lines":[{"line_number":195,"context_line":"    except exceptions.ProcessExecutionError:"},{"line_number":196,"context_line":"        return None"},{"line_number":197,"context_line":""},{"line_number":198,"context_line":"    return result if result else None"},{"line_number":199,"context_line":""},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"def find_parent_pid(pid):"}],"source_content_type":"text/x-python","patch_set":5,"id":"cd1934e9_16081305","line":198,"updated":"2025-01-21 17:46:35.000000000","message":"The original code in the test tree had this as result[0], is that no longer needed?","commit_id":"9a0814c760777e53c9499bb3a891f436d34f3bee"},{"author":{"_account_id":11290,"name":"Gaudenz Steinlin","email":"gaudenz.steinlin@cloudscale.ch","username":"gaudenz"},"change_message_id":"58175bda9f77b27c46d29744702db8d1072397fb","unresolved":false,"context_lines":[{"line_number":195,"context_line":"    except exceptions.ProcessExecutionError:"},{"line_number":196,"context_line":"        return None"},{"line_number":197,"context_line":""},{"line_number":198,"context_line":"    return result if result else None"},{"line_number":199,"context_line":""},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"def find_parent_pid(pid):"}],"source_content_type":"text/x-python","patch_set":5,"id":"34f685ed_9c21dd41","line":198,"in_reply_to":"cd1934e9_16081305","updated":"2025-01-21 21:12:14.000000000","message":"This was a bug because \"result\" is a string this only returned the first character of the PID.","commit_id":"9a0814c760777e53c9499bb3a891f436d34f3bee"}],"neutron/tests/functional/agent/l3/test_keepalived_state_change.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"58aa37637e1f966a81d74af50449b9e255c87975","unresolved":true,"context_lines":[{"line_number":177,"context_line":"            self.router_id, \u0027backup\u0027)"},{"line_number":178,"context_line":"        self._search_in_file(self.log_file, msg)"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"    def test_conntrackd_disabled(self):"},{"line_number":181,"context_line":"        self._generate_cmd_opts(conntrackd\u003dFalse)"},{"line_number":182,"context_line":"        self._run_monitor()"},{"line_number":183,"context_line":"        msg \u003d \u0027conntrack\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"e036fed9_965fc7e3","line":180,"updated":"2025-01-09 15:14:44.000000000","message":"This test takes 22 seconds\n2025-01-09 13:51:48.751590 | controller | {1} neutron.tests.functional.agent.l3.test_keepalived_state_change.TestMonitorDaemon.test_conntrackd_disabled [22.851038s] ... ok\n\nIt would be better:\n* To add a init message in the MonitorDaemon, at the end of __init__\n* Wait for this message\n* Check that no conntrackd is mentioned","commit_id":"5a0c0901711a0c71b3fbf7a1a390a94e296c913a"},{"author":{"_account_id":11290,"name":"Gaudenz Steinlin","email":"gaudenz.steinlin@cloudscale.ch","username":"gaudenz"},"change_message_id":"a76199441c7ba3732980e738a4e11a5b46b0a8cf","unresolved":false,"context_lines":[{"line_number":177,"context_line":"            self.router_id, \u0027backup\u0027)"},{"line_number":178,"context_line":"        self._search_in_file(self.log_file, msg)"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"    def test_conntrackd_disabled(self):"},{"line_number":181,"context_line":"        self._generate_cmd_opts(conntrackd\u003dFalse)"},{"line_number":182,"context_line":"        self._run_monitor()"},{"line_number":183,"context_line":"        msg \u003d \u0027conntrack\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"111b033b_c3129705","line":180,"in_reply_to":"e036fed9_965fc7e3","updated":"2025-01-09 16:11:17.000000000","message":"Waiting for the end of __init__ is not enough because the initial state update happens afterwards in a separate thread. But I changed the test to wait for the initial notification and then check the file directly to ensure it does not mention \"conntrack\". It\u0027s now as fast as the other tests.","commit_id":"5a0c0901711a0c71b3fbf7a1a390a94e296c913a"}]}
