)]}'
{"tempest/cmd/cleanup_service.py":[{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"417135842d9365d59b85aa2f116041722a650e7f","unresolved":false,"context_lines":[{"line_number":139,"context_line":"            # if a service raises this exception, one of the needed APIs is"},{"line_number":140,"context_line":"            # not implemented and therefore there is nothing to be cleaned"},{"line_number":141,"context_line":"            LOG.exception(\"Got NotImplemented error in %s, full exception: %s\","},{"line_number":142,"context_line":"                          str(self.__class__), str(exc))"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"class SnapshotService(BaseService):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fb8cfa7_7ba447ba","line":142,"updated":"2019-06-17 06:33:46.000000000","message":"Hmm, I think it\u0027s not so bad to catch \u0027NotImplemented\u0027 exceptions to cleanup as many as possible itself. However, I want to see an error return code on the command if we catch the exception here. So, can we store a (class?) variable for this exception, and check the value in take_action() in TempestCleanup?\n\nAnyway, I don\u0027t think it\u0027s good to just log and exit normally when we face like this error.","commit_id":"f9062b440570279eee0053821414af7a183256b2"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"8fb62b236b81ab97c78f60aa17294ccff3fe8bf0","unresolved":false,"context_lines":[{"line_number":139,"context_line":"            # if a service raises this exception, one of the needed APIs is"},{"line_number":140,"context_line":"            # not implemented and therefore there is nothing to be cleaned"},{"line_number":141,"context_line":"            LOG.exception(\"Got NotImplemented error in %s, full exception: %s\","},{"line_number":142,"context_line":"                          str(self.__class__), str(exc))"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"class SnapshotService(BaseService):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fb8cfa7_213c742d","line":142,"updated":"2019-06-14 19:46:12.000000000","message":"It is clean and simple to select necessary extensions in get_project_cleanup_services() for cleanup instead of this.","commit_id":"f9062b440570279eee0053821414af7a183256b2"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"cbd26c2b91bc50c1c1c810f352eef3083012881c","unresolved":false,"context_lines":[{"line_number":139,"context_line":"            # if a service raises this exception, one of the needed APIs is"},{"line_number":140,"context_line":"            # not implemented and therefore there is nothing to be cleaned"},{"line_number":141,"context_line":"            LOG.exception(\"Got NotImplemented error in %s, full exception: %s\","},{"line_number":142,"context_line":"                          str(self.__class__), str(exc))"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"class SnapshotService(BaseService):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fb8cfa7_c04d493b","line":142,"in_reply_to":"9fb8cfa7_213c742d","updated":"2019-06-16 10:16:06.000000000","message":"yes, get_project_cleanup_services would be the right place for checking the extensions, however, that would be another thing requiring maintenance. We would add another crucial point when cleanup might fail - it could either fail again or not clean some resources because the conditions would detect wrong extensions, or wrong combination of them. Also what if a user used wrong tempest.conf. In that case, I think, the user would want the cleanup to remove leftover resources regardless the tempest.conf.\n\nI mean, the purpose of cleanup is simple - it should clean (or at least try to clean) as many resources as possible (with respect to saved_state.json of course). Therefore I\u0027m not sure if adding another logic (extension check) is the right way to do.","commit_id":"f9062b440570279eee0053821414af7a183256b2"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"8381effbc42e6b2f425403f92b520e98d8fc361d","unresolved":false,"context_lines":[{"line_number":139,"context_line":"            # if a service raises this exception, one of the needed APIs is"},{"line_number":140,"context_line":"            # not implemented and therefore there is nothing to be cleaned"},{"line_number":141,"context_line":"            LOG.exception(\"Got NotImplemented error in %s, full exception: %s\","},{"line_number":142,"context_line":"                          str(self.__class__), str(exc))"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"class SnapshotService(BaseService):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fb8cfa7_7a2c384a","line":142,"in_reply_to":"9fb8cfa7_7ba447ba","updated":"2019-06-17 16:21:13.000000000","message":"sure, we can do that.","commit_id":"f9062b440570279eee0053821414af7a183256b2"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"7fe73f7dbfc8ae25133580a0cc3aa2f8cb590ae6","unresolved":false,"context_lines":[{"line_number":136,"context_line":"            else:"},{"line_number":137,"context_line":"                self.delete()"},{"line_number":138,"context_line":"        except exceptions.NotImplemented as exc:"},{"line_number":139,"context_line":"            # if a service raises this exception, one of the needed APIs is"},{"line_number":140,"context_line":"            # not implemented and therefore there is nothing to be cleaned"},{"line_number":141,"context_line":"            msg \u003d (\"Got NotImplemented error in %s, full exception: %s\" %"},{"line_number":142,"context_line":"                   (str(self.__class__), str(exc)))"},{"line_number":143,"context_line":"            LOG.exception(msg)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_4ccc1461","line":140,"range":{"start_line":139,"start_character":11,"end_line":140,"end_character":74},"updated":"2019-06-18 11:06:02.000000000","message":"I was wondering what all delete API is not implemented this was confusing until I saw the bug and comments. Can we add here the extensions case explicitly? something like:\n\nMany OpenStack service use extensions logic to implement the features or resources. Tempest cleanup try to clean up the test resources without having much logic of extensions checks etc. If any of the extension is missing then, service will return NotImplemented error.","commit_id":"1f81c088f5770acc14147412962423db3de8a42c"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"7f9737c282e269d52f03dd17a8577f7d075c9309","unresolved":false,"context_lines":[{"line_number":136,"context_line":"            else:"},{"line_number":137,"context_line":"                self.delete()"},{"line_number":138,"context_line":"        except exceptions.NotImplemented as exc:"},{"line_number":139,"context_line":"            # if a service raises this exception, one of the needed APIs is"},{"line_number":140,"context_line":"            # not implemented and therefore there is nothing to be cleaned"},{"line_number":141,"context_line":"            msg \u003d (\"Got NotImplemented error in %s, full exception: %s\" %"},{"line_number":142,"context_line":"                   (str(self.__class__), str(exc)))"},{"line_number":143,"context_line":"            LOG.exception(msg)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_e3615613","line":140,"range":{"start_line":139,"start_character":11,"end_line":140,"end_character":74},"in_reply_to":"9fb8cfa7_4ccc1461","updated":"2019-06-18 13:03:58.000000000","message":"Done","commit_id":"1f81c088f5770acc14147412962423db3de8a42c"}]}
