)]}'
{"neutron/tests/common/net_helpers.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"3dba74401e172e296495464944ead744c8d1aae9","unresolved":false,"context_lines":[{"line_number":586,"context_line":"    def destroy(self):"},{"line_number":587,"context_line":"        if self.ip_wrapper.netns.exists(self.name):"},{"line_number":588,"context_line":"            for pid in ip_lib.list_namespace_pids(self.name):"},{"line_number":589,"context_line":"                utils.kill_process(pid, signal.SIGKILL, run_as_root\u003dTrue)"},{"line_number":590,"context_line":"            self.ip_wrapper.netns.delete(self.name)"},{"line_number":591,"context_line":""},{"line_number":592,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_46596733","line":589,"updated":"2019-08-07 15:40:20.000000000","message":"Can this ever raise an error?  Looking at code it could if somehow the process is still running after a kill.","commit_id":"27a75ea423ceff69865644ed007414f3abb02164"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"1e5360d81deb0533194e38a30b2582667ba2e540","unresolved":false,"context_lines":[{"line_number":586,"context_line":"    def destroy(self):"},{"line_number":587,"context_line":"        if self.ip_wrapper.netns.exists(self.name):"},{"line_number":588,"context_line":"            for pid in ip_lib.list_namespace_pids(self.name):"},{"line_number":589,"context_line":"                utils.kill_process(pid, signal.SIGKILL, run_as_root\u003dTrue)"},{"line_number":590,"context_line":"            self.ip_wrapper.netns.delete(self.name)"},{"line_number":591,"context_line":""},{"line_number":592,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_94b8dbe5","line":589,"in_reply_to":"7faddb67_46596733","updated":"2019-08-08 11:18:17.000000000","message":"yes, so e.g. if process would be in D state it may raise such exception here, right?","commit_id":"27a75ea423ceff69865644ed007414f3abb02164"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"c1071ed35a9f903ac56600a847fa3cfab7b3fb15","unresolved":false,"context_lines":[{"line_number":586,"context_line":"    def destroy(self):"},{"line_number":587,"context_line":"        if self.ip_wrapper.netns.exists(self.name):"},{"line_number":588,"context_line":"            for pid in ip_lib.list_namespace_pids(self.name):"},{"line_number":589,"context_line":"                utils.kill_process(pid, signal.SIGKILL, run_as_root\u003dTrue)"},{"line_number":590,"context_line":"            self.ip_wrapper.netns.delete(self.name)"},{"line_number":591,"context_line":""},{"line_number":592,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_c065291f","line":589,"in_reply_to":"7faddb67_94b8dbe5","updated":"2019-08-08 14:26:53.000000000","message":"Sorry for not replying. I was trying to solve the problems I had with the tests.\n\nActually I\u0027m having problems with the CI because of this[1]. The rootwrap daemon is stuck forever executing this command until the timeout exception. I don\u0027t know why this is happening.\n\n\n[1] https://logs.opendev.org/20/674820/6/check/neutron-functional/658a0b9/controller/logs/dsvm-functional-logs/neutron.tests.functional.privileged.agent.linux.test_ip_lib.ListNamespacePids.test_list_namespace_pids.txt.gz","commit_id":"27a75ea423ceff69865644ed007414f3abb02164"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"976b79bca39ecff0733118f484122647af93e71a","unresolved":false,"context_lines":[{"line_number":586,"context_line":"    def destroy(self):"},{"line_number":587,"context_line":"        if self.ip_wrapper.netns.exists(self.name):"},{"line_number":588,"context_line":"            for pid in ip_lib.list_namespace_pids(self.name):"},{"line_number":589,"context_line":"                utils.kill_process(pid, signal.SIGKILL, run_as_root\u003dTrue)"},{"line_number":590,"context_line":"            self.ip_wrapper.netns.delete(self.name)"},{"line_number":591,"context_line":""},{"line_number":592,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_9e8935cb","line":589,"in_reply_to":"7faddb67_c065291f","updated":"2019-08-19 16:29:50.000000000","message":"I could, but if the \"kill\" command doesn\u0027t stop and remove the process from the system, the test developer should check what is happening on this test.\n\nThis extra code should prevent, in most of the cases, the problem described in the bug.","commit_id":"27a75ea423ceff69865644ed007414f3abb02164"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"8d33b5412c2d841298f294ef087f482e9641856b","unresolved":false,"context_lines":[{"line_number":586,"context_line":"    def destroy(self):"},{"line_number":587,"context_line":"        if self.ip_wrapper.netns.exists(self.name):"},{"line_number":588,"context_line":"            for pid in ip_lib.list_namespace_pids(self.name):"},{"line_number":589,"context_line":"                utils.kill_process(pid, signal.SIGKILL, run_as_root\u003dTrue)"},{"line_number":590,"context_line":"            self.ip_wrapper.netns.delete(self.name)"},{"line_number":591,"context_line":""},{"line_number":592,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"7faddb67_fccd865e","line":589,"updated":"2019-08-07 17:50:46.000000000","message":"I didn\u0027t see a response to my question in PS3.","commit_id":"21db302dff8b31b5117efc7e201ad898a54af1df"}],"neutron/tests/functional/privileged/agent/linux/test_ip_lib.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"8d33b5412c2d841298f294ef087f482e9641856b","unresolved":false,"context_lines":[{"line_number":629,"context_line":"        self.workers \u003d 10"},{"line_number":630,"context_line":""},{"line_number":631,"context_line":"    @staticmethod"},{"line_number":632,"context_line":"    def _run_sleep(namespace):"},{"line_number":633,"context_line":"        ip_wrapper \u003d ip_lib.IPWrapper(namespace\u003dnamespace)"},{"line_number":634,"context_line":"        ip_wrapper.netns.execute([\u0027ip\u0027, \u0027monitor\u0027], check_exit_code\u003dFalse)"},{"line_number":635,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"7faddb67_dcbf6aa8","line":632,"range":{"start_line":632,"start_character":13,"end_line":632,"end_character":18},"updated":"2019-08-07 17:50:46.000000000","message":"ip_monitor ?","commit_id":"21db302dff8b31b5117efc7e201ad898a54af1df"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"c1071ed35a9f903ac56600a847fa3cfab7b3fb15","unresolved":false,"context_lines":[{"line_number":629,"context_line":"        self.workers \u003d 10"},{"line_number":630,"context_line":""},{"line_number":631,"context_line":"    @staticmethod"},{"line_number":632,"context_line":"    def _run_sleep(namespace):"},{"line_number":633,"context_line":"        ip_wrapper \u003d ip_lib.IPWrapper(namespace\u003dnamespace)"},{"line_number":634,"context_line":"        ip_wrapper.netns.execute([\u0027ip\u0027, \u0027monitor\u0027], check_exit_code\u003dFalse)"},{"line_number":635,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"7faddb67_45c62b4c","line":632,"range":{"start_line":632,"start_character":13,"end_line":632,"end_character":18},"in_reply_to":"7faddb67_14eb8bdc","updated":"2019-08-08 14:26:53.000000000","message":"Done","commit_id":"21db302dff8b31b5117efc7e201ad898a54af1df"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"1e5360d81deb0533194e38a30b2582667ba2e540","unresolved":false,"context_lines":[{"line_number":629,"context_line":"        self.workers \u003d 10"},{"line_number":630,"context_line":""},{"line_number":631,"context_line":"    @staticmethod"},{"line_number":632,"context_line":"    def _run_sleep(namespace):"},{"line_number":633,"context_line":"        ip_wrapper \u003d ip_lib.IPWrapper(namespace\u003dnamespace)"},{"line_number":634,"context_line":"        ip_wrapper.netns.execute([\u0027ip\u0027, \u0027monitor\u0027], check_exit_code\u003dFalse)"},{"line_number":635,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"7faddb67_14eb8bdc","line":632,"range":{"start_line":632,"start_character":13,"end_line":632,"end_character":18},"in_reply_to":"7faddb67_dcbf6aa8","updated":"2019-08-08 11:18:17.000000000","message":"+1 to Brian\u0027s question","commit_id":"21db302dff8b31b5117efc7e201ad898a54af1df"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"1e5360d81deb0533194e38a30b2582667ba2e540","unresolved":false,"context_lines":[{"line_number":642,"context_line":"        try:"},{"line_number":643,"context_line":"            common_utils.wait_until_true(self._check_pids, timeout\u003d5)"},{"line_number":644,"context_line":"        except common_utils.WaitTimeout:"},{"line_number":645,"context_line":"            self.fail(\u0027Process no found in namespace %s\u0027 % self.namespace)"}],"source_content_type":"text/x-python","patch_set":6,"id":"7faddb67_f474af38","line":645,"updated":"2019-08-08 11:18:17.000000000","message":"Can You also add test case to check if it can return empty list if there is no processes running in namespace? And maybe also some test case for trying to get processes from not existing namespace.","commit_id":"27beb7430a16989c1c9bc0ca87ae4002589cea8d"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"c1071ed35a9f903ac56600a847fa3cfab7b3fb15","unresolved":false,"context_lines":[{"line_number":642,"context_line":"        try:"},{"line_number":643,"context_line":"            common_utils.wait_until_true(self._check_pids, timeout\u003d5)"},{"line_number":644,"context_line":"        except common_utils.WaitTimeout:"},{"line_number":645,"context_line":"            self.fail(\u0027Process no found in namespace %s\u0027 % self.namespace)"}],"source_content_type":"text/x-python","patch_set":6,"id":"7faddb67_20ac3ded","line":645,"in_reply_to":"7faddb67_f474af38","updated":"2019-08-08 14:26:53.000000000","message":"Done","commit_id":"27beb7430a16989c1c9bc0ca87ae4002589cea8d"}]}
