)]}'
{"tempest/api/compute/base.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"b9c0a3251cd948183682c80695c2d5e28d642e19","unresolved":false,"context_lines":[{"line_number":199,"context_line":""},{"line_number":200,"context_line":"        # For each server schedule wait and delete, so we first delete all"},{"line_number":201,"context_line":"        # and then wait for all"},{"line_number":202,"context_line":"        for server in servers:"},{"line_number":203,"context_line":"            cls.addClassResourceCleanup(waiters.wait_for_server_termination,"},{"line_number":204,"context_line":"                                        cls.servers_client, server[\u0027id\u0027])"},{"line_number":205,"context_line":"        for server in servers:"},{"line_number":206,"context_line":"            cls.addClassResourceCleanup("},{"line_number":207,"context_line":"                test_utils.call_and_ignore_notfound_exc,"},{"line_number":208,"context_line":"                cls.servers_client.delete_server, server[\u0027id\u0027])"},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"        return body"},{"line_number":211,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"5f2577a7_39566f5e","line":208,"range":{"start_line":202,"start_character":0,"end_line":208,"end_character":63},"updated":"2017-09-12 17:11:56.000000000","message":"this will now raise exception if it not able to delete or wait and would not log the exception also. may be we can add clear_servers() itself in  addClassResourceCleanup","commit_id":"11447ef9f5a572810350d33a174cbd7a66570648"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"ac8513134b23800ad6a8d778858d9b4328d9bc63","unresolved":false,"context_lines":[{"line_number":199,"context_line":""},{"line_number":200,"context_line":"        # For each server schedule wait and delete, so we first delete all"},{"line_number":201,"context_line":"        # and then wait for all"},{"line_number":202,"context_line":"        for server in servers:"},{"line_number":203,"context_line":"            cls.addClassResourceCleanup(waiters.wait_for_server_termination,"},{"line_number":204,"context_line":"                                        cls.servers_client, server[\u0027id\u0027])"},{"line_number":205,"context_line":"        for server in servers:"},{"line_number":206,"context_line":"            cls.addClassResourceCleanup("},{"line_number":207,"context_line":"                test_utils.call_and_ignore_notfound_exc,"},{"line_number":208,"context_line":"                cls.servers_client.delete_server, server[\u0027id\u0027])"},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"        return body"},{"line_number":211,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"5f2577a7_c2988b1c","line":208,"range":{"start_line":202,"start_character":0,"end_line":208,"end_character":63},"in_reply_to":"5f2577a7_39566f5e","updated":"2017-09-12 21:12:47.000000000","message":"That\u0027s ok I think. The rest of the cleanup will be done anyways and the exception re-raised and logged at the end. I think this is actually a better behavior.","commit_id":"11447ef9f5a572810350d33a174cbd7a66570648"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"60f901ceac938e41fa05f3e9b3c9a982ad3d2f7a","unresolved":false,"context_lines":[{"line_number":199,"context_line":""},{"line_number":200,"context_line":"        # For each server schedule wait and delete, so we first delete all"},{"line_number":201,"context_line":"        # and then wait for all"},{"line_number":202,"context_line":"        for server in servers:"},{"line_number":203,"context_line":"            cls.addClassResourceCleanup(waiters.wait_for_server_termination,"},{"line_number":204,"context_line":"                                        cls.servers_client, server[\u0027id\u0027])"},{"line_number":205,"context_line":"        for server in servers:"},{"line_number":206,"context_line":"            cls.addClassResourceCleanup("},{"line_number":207,"context_line":"                test_utils.call_and_ignore_notfound_exc,"},{"line_number":208,"context_line":"                cls.servers_client.delete_server, server[\u0027id\u0027])"},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"        return body"},{"line_number":211,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"9f5c4f37_0155be50","line":208,"range":{"start_line":202,"start_character":0,"end_line":208,"end_character":63},"in_reply_to":"5f2577a7_c2988b1c","updated":"2017-09-21 03:22:44.000000000","message":"yea i think good to assert on cleanup also. it will catch more issues about resource leak.","commit_id":"11447ef9f5a572810350d33a174cbd7a66570648"}],"tempest/api/compute/servers/test_servers.py":[{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"61cb644c06d8dc21a74d1bbe01d3bb96751c3376","unresolved":false,"context_lines":[{"line_number":40,"context_line":"        # If an admin password is provided on server creation, the server\u0027s"},{"line_number":41,"context_line":"        # root password should be set to that password."},{"line_number":42,"context_line":"        server \u003d self.create_test_server(adminPass\u003d\u0027testpassword\u0027)"},{"line_number":43,"context_line":"        self.addCleanup(waiters.wait_for_server_termination,"},{"line_number":44,"context_line":"                        self.servers_client, server[\u0027id\u0027])"},{"line_number":45,"context_line":"        self.addCleanup("},{"line_number":46,"context_line":"            test_utils.call_and_ignore_notfound_exc,"},{"line_number":47,"context_line":"            self.servers_client.delete_server, server[\u0027id\u0027])"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"        # Verify the password is set correctly in the response"},{"line_number":50,"context_line":"        self.assertEqual(\u0027testpassword\u0027, server[\u0027adminPass\u0027])"}],"source_content_type":"text/x-python","patch_set":7,"id":"5f2577a7_78d53ab9","line":47,"range":{"start_line":43,"start_character":0,"end_line":47,"end_character":60},"updated":"2017-09-11 01:53:26.000000000","message":"how about using base.delete_server? i.e.,\n        self.addCleanup(self.delete_server, server[\u0027id\u0027])","commit_id":"11447ef9f5a572810350d33a174cbd7a66570648"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"c41aebaaa1c9a066775ef1f453eef3506675848a","unresolved":false,"context_lines":[{"line_number":40,"context_line":"        # If an admin password is provided on server creation, the server\u0027s"},{"line_number":41,"context_line":"        # root password should be set to that password."},{"line_number":42,"context_line":"        server \u003d self.create_test_server(adminPass\u003d\u0027testpassword\u0027)"},{"line_number":43,"context_line":"        self.addCleanup(waiters.wait_for_server_termination,"},{"line_number":44,"context_line":"                        self.servers_client, server[\u0027id\u0027])"},{"line_number":45,"context_line":"        self.addCleanup("},{"line_number":46,"context_line":"            test_utils.call_and_ignore_notfound_exc,"},{"line_number":47,"context_line":"            self.servers_client.delete_server, server[\u0027id\u0027])"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"        # Verify the password is set correctly in the response"},{"line_number":50,"context_line":"        self.assertEqual(\u0027testpassword\u0027, server[\u0027adminPass\u0027])"}],"source_content_type":"text/x-python","patch_set":7,"id":"5f2577a7_fff314e6","line":47,"range":{"start_line":43,"start_character":0,"end_line":47,"end_character":60},"in_reply_to":"5f2577a7_42d6dbc5","updated":"2017-09-13 02:32:12.000000000","message":"because base.delete_server does the same thing as needed here(delete and wait for server termination and ignore exceptions).\nand so we can reduce the 5 lines to 2 lines","commit_id":"11447ef9f5a572810350d33a174cbd7a66570648"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"ac8513134b23800ad6a8d778858d9b4328d9bc63","unresolved":false,"context_lines":[{"line_number":40,"context_line":"        # If an admin password is provided on server creation, the server\u0027s"},{"line_number":41,"context_line":"        # root password should be set to that password."},{"line_number":42,"context_line":"        server \u003d self.create_test_server(adminPass\u003d\u0027testpassword\u0027)"},{"line_number":43,"context_line":"        self.addCleanup(waiters.wait_for_server_termination,"},{"line_number":44,"context_line":"                        self.servers_client, server[\u0027id\u0027])"},{"line_number":45,"context_line":"        self.addCleanup("},{"line_number":46,"context_line":"            test_utils.call_and_ignore_notfound_exc,"},{"line_number":47,"context_line":"            self.servers_client.delete_server, server[\u0027id\u0027])"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"        # Verify the password is set correctly in the response"},{"line_number":50,"context_line":"        self.assertEqual(\u0027testpassword\u0027, server[\u0027adminPass\u0027])"}],"source_content_type":"text/x-python","patch_set":7,"id":"5f2577a7_42d6dbc5","line":47,"range":{"start_line":43,"start_character":0,"end_line":47,"end_character":60},"in_reply_to":"5f2577a7_78d53ab9","updated":"2017-09-12 21:12:47.000000000","message":"why?","commit_id":"11447ef9f5a572810350d33a174cbd7a66570648"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"d66b27f8dc7e0be59bac01dc949071f57d78e3ec","unresolved":false,"context_lines":[{"line_number":40,"context_line":"        # If an admin password is provided on server creation, the server\u0027s"},{"line_number":41,"context_line":"        # root password should be set to that password."},{"line_number":42,"context_line":"        server \u003d self.create_test_server(adminPass\u003d\u0027testpassword\u0027)"},{"line_number":43,"context_line":"        self.addCleanup(waiters.wait_for_server_termination,"},{"line_number":44,"context_line":"                        self.servers_client, server[\u0027id\u0027])"},{"line_number":45,"context_line":"        self.addCleanup("},{"line_number":46,"context_line":"            test_utils.call_and_ignore_notfound_exc,"},{"line_number":47,"context_line":"            self.servers_client.delete_server, server[\u0027id\u0027])"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"        # Verify the password is set correctly in the response"},{"line_number":50,"context_line":"        self.assertEqual(\u0027testpassword\u0027, server[\u0027adminPass\u0027])"}],"source_content_type":"text/x-python","patch_set":8,"id":"9f5c4f37_39aeade7","line":47,"range":{"start_line":43,"start_character":0,"end_line":47,"end_character":60},"updated":"2017-09-21 09:26:03.000000000","message":"sorry I still want know why we can\u0027t use base.delete_server?","commit_id":"0d0a3f3045df1c15ffea885c92b465852dc0f48e"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"c21da25bcf76f7425a65877d5d4ed10cf3f0835a","unresolved":false,"context_lines":[{"line_number":40,"context_line":"        # If an admin password is provided on server creation, the server\u0027s"},{"line_number":41,"context_line":"        # root password should be set to that password."},{"line_number":42,"context_line":"        server \u003d self.create_test_server(adminPass\u003d\u0027testpassword\u0027)"},{"line_number":43,"context_line":"        self.addCleanup(waiters.wait_for_server_termination,"},{"line_number":44,"context_line":"                        self.servers_client, server[\u0027id\u0027])"},{"line_number":45,"context_line":"        self.addCleanup("},{"line_number":46,"context_line":"            test_utils.call_and_ignore_notfound_exc,"},{"line_number":47,"context_line":"            self.servers_client.delete_server, server[\u0027id\u0027])"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"        # Verify the password is set correctly in the response"},{"line_number":50,"context_line":"        self.assertEqual(\u0027testpassword\u0027, server[\u0027adminPass\u0027])"}],"source_content_type":"text/x-python","patch_set":8,"id":"9f5c4f37_996479bb","line":47,"range":{"start_line":43,"start_character":0,"end_line":47,"end_character":60},"in_reply_to":"9f5c4f37_39aeade7","updated":"2017-09-21 09:33:36.000000000","message":"Yes we could use delete_server. But I wanted to stop catching the exception.\nThe original code used to catch the exception so that other cleanup code would still run (I think?). Now the cleanup LIFO code will take care that all cleanups are invoked anyway, exceptions accumulated and re-raised at the end, so I think it\u0027s nicer to have the test fail if one or more cleanups failed.","commit_id":"0d0a3f3045df1c15ffea885c92b465852dc0f48e"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"8c930f4360784612d28973f36f34093a7c556398","unresolved":false,"context_lines":[{"line_number":40,"context_line":"        # If an admin password is provided on server creation, the server\u0027s"},{"line_number":41,"context_line":"        # root password should be set to that password."},{"line_number":42,"context_line":"        server \u003d self.create_test_server(adminPass\u003d\u0027testpassword\u0027)"},{"line_number":43,"context_line":"        self.addCleanup(waiters.wait_for_server_termination,"},{"line_number":44,"context_line":"                        self.servers_client, server[\u0027id\u0027])"},{"line_number":45,"context_line":"        self.addCleanup("},{"line_number":46,"context_line":"            test_utils.call_and_ignore_notfound_exc,"},{"line_number":47,"context_line":"            self.servers_client.delete_server, server[\u0027id\u0027])"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"        # Verify the password is set correctly in the response"},{"line_number":50,"context_line":"        self.assertEqual(\u0027testpassword\u0027, server[\u0027adminPass\u0027])"}],"source_content_type":"text/x-python","patch_set":8,"id":"9f5c4f37_79f2e508","line":47,"range":{"start_line":43,"start_character":0,"end_line":47,"end_character":60},"in_reply_to":"9f5c4f37_39aeade7","updated":"2017-09-21 09:28:06.000000000","message":"if base.delete_server swallows too many exceptions, we can change its behavior","commit_id":"0d0a3f3045df1c15ffea885c92b465852dc0f48e"}]}
