)]}'
{"glance/async_/flows/api_image_import.py":[{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"48c5ee5a59591f2e8408538972916801e559394e","unresolved":false,"context_lines":[{"line_number":488,"context_line":"        :param image_id: Glance Image ID"},{"line_number":489,"context_line":"        \"\"\""},{"line_number":490,"context_line":"        with self.action_wrapper as action:"},{"line_number":491,"context_line":"            if action.image_status \u003d\u003d \u0027active\u0027:"},{"line_number":492,"context_line":"                raise _NoStoresSucceeded(_(\u0027None of the uploads finished!\u0027))"},{"line_number":493,"context_line":""},{"line_number":494,"context_line":"    def revert(self, result, **kwargs):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_e9da0ae7","line":491,"range":{"start_line":491,"start_character":12,"end_line":491,"end_character":47},"updated":"2020-07-30 16:50:29.000000000","message":"this sounds problematic and will cause failure for all the valid import operations.","commit_id":"6741174ea71ae997f444b8fcba5422aab9d15acc"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"4b8d19c5f913be9d77bcf6e2f1befd3c0ce4c267","unresolved":false,"context_lines":[{"line_number":488,"context_line":"        :param image_id: Glance Image ID"},{"line_number":489,"context_line":"        \"\"\""},{"line_number":490,"context_line":"        with self.action_wrapper as action:"},{"line_number":491,"context_line":"            if action.image_status \u003d\u003d \u0027active\u0027:"},{"line_number":492,"context_line":"                raise _NoStoresSucceeded(_(\u0027None of the uploads finished!\u0027))"},{"line_number":493,"context_line":""},{"line_number":494,"context_line":"    def revert(self, result, **kwargs):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_09a77e51","line":491,"range":{"start_line":491,"start_character":12,"end_line":491,"end_character":47},"in_reply_to":"9f560f44_e9da0ae7","updated":"2020-07-30 16:54:38.000000000","message":"Done","commit_id":"6741174ea71ae997f444b8fcba5422aab9d15acc"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"3508628c20abdbcd47fec3e3345c5e7f0c70237c","unresolved":false,"context_lines":[{"line_number":495,"context_line":"        \"\"\"Set back to queued if this wasn\u0027t copy-image job.\"\"\""},{"line_number":496,"context_line":"        with self.action_wrapper as action:"},{"line_number":497,"context_line":"            if self.import_method !\u003d \u0027copy-image\u0027:"},{"line_number":498,"context_line":"                action.set_image_status(\u0027queued\u0027)"},{"line_number":499,"context_line":""},{"line_number":500,"context_line":""},{"line_number":501,"context_line":"class _CompleteTask(task.Task):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_89b54ed0","line":498,"range":{"start_line":498,"start_character":16,"end_line":498,"end_character":49},"updated":"2020-07-30 16:37:43.000000000","message":"IMO if this is import job and import method is glance-direct then before executing import flow image status is uploading\n\nFor web-download import method image status will be queued,\n\nSo we need to revert it back accordingly to import methods.","commit_id":"6741174ea71ae997f444b8fcba5422aab9d15acc"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"5ca9eee4ff59d4a925dafa5ea2e0eeee76429246","unresolved":false,"context_lines":[{"line_number":495,"context_line":"        \"\"\"Set back to queued if this wasn\u0027t copy-image job.\"\"\""},{"line_number":496,"context_line":"        with self.action_wrapper as action:"},{"line_number":497,"context_line":"            if self.import_method !\u003d \u0027copy-image\u0027:"},{"line_number":498,"context_line":"                action.set_image_status(\u0027queued\u0027)"},{"line_number":499,"context_line":""},{"line_number":500,"context_line":""},{"line_number":501,"context_line":"class _CompleteTask(task.Task):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_e955ea51","line":498,"range":{"start_line":498,"start_character":16,"end_line":498,"end_character":49},"in_reply_to":"9f560f44_89b54ed0","updated":"2020-07-30 16:47:10.000000000","message":"We have already deleted the data from staging at this point, so reverting to \"uploading\" (which prevents another stage call) would just result another image record that is in deadlock and cannot be recovered.","commit_id":"6741174ea71ae997f444b8fcba5422aab9d15acc"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"dd847316bd4a957c74be308c49408373a192327b","unresolved":false,"context_lines":[{"line_number":495,"context_line":"        \"\"\"Set back to queued if this wasn\u0027t copy-image job.\"\"\""},{"line_number":496,"context_line":"        with self.action_wrapper as action:"},{"line_number":497,"context_line":"            if self.import_method !\u003d \u0027copy-image\u0027:"},{"line_number":498,"context_line":"                action.set_image_status(\u0027queued\u0027)"},{"line_number":499,"context_line":""},{"line_number":500,"context_line":""},{"line_number":501,"context_line":"class _CompleteTask(task.Task):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_a99f7201","line":498,"range":{"start_line":498,"start_character":16,"end_line":498,"end_character":49},"in_reply_to":"9f560f44_e955ea51","updated":"2020-07-30 16:52:19.000000000","message":"Makes sense, I definitely use some sleep :P","commit_id":"6741174ea71ae997f444b8fcba5422aab9d15acc"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"4c8930e5dd3aff5de71fbe65f41355d74df4f339","unresolved":false,"context_lines":[{"line_number":472,"context_line":"            action.remove_location_for_store(self.backend)"},{"line_number":473,"context_line":""},{"line_number":474,"context_line":""},{"line_number":475,"context_line":"class _VerifyImage(task.Task):"},{"line_number":476,"context_line":""},{"line_number":477,"context_line":"    def __init__(self, task_id, task_type, action_wrapper, import_method):"},{"line_number":478,"context_line":"        self.task_id \u003d task_id"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_77ba0c6e","line":475,"range":{"start_line":475,"start_character":7,"end_line":475,"end_character":18},"updated":"2020-08-04 19:45:54.000000000","message":"Given what verification could mean on an image type thing, this might should be VerifyImageState? If I\u0027m an operator looking at the logs, I\u0027m thinking this means either the hash or the signature was verified (or failed in that case).","commit_id":"bd243b62d8546637a1218094a9d3f5b53a76957e"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"4c8930e5dd3aff5de71fbe65f41355d74df4f339","unresolved":false,"context_lines":[{"line_number":488,"context_line":"        :param image_id: Glance Image ID"},{"line_number":489,"context_line":"        \"\"\""},{"line_number":490,"context_line":"        with self.action_wrapper as action:"},{"line_number":491,"context_line":"            if action.image_status !\u003d \u0027active\u0027:"},{"line_number":492,"context_line":"                raise _NoStoresSucceeded(_(\u0027None of the uploads finished!\u0027))"},{"line_number":493,"context_line":""},{"line_number":494,"context_line":"    def revert(self, result, **kwargs):"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_97b52081","line":491,"updated":"2020-08-04 19:45:54.000000000","message":"I\u0027m missing something because this used to _set_ it to active, and now assumes that it does. Is this happening via the ImageProxy.set_data(set_active\u003dTrue) already and thus this was mostly just dead?","commit_id":"bd243b62d8546637a1218094a9d3f5b53a76957e"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"10389cf642d79f30cbdcc9f27388d205a931f492","unresolved":false,"context_lines":[{"line_number":488,"context_line":"        :param image_id: Glance Image ID"},{"line_number":489,"context_line":"        \"\"\""},{"line_number":490,"context_line":"        with self.action_wrapper as action:"},{"line_number":491,"context_line":"            if action.image_status !\u003d \u0027active\u0027:"},{"line_number":492,"context_line":"                raise _NoStoresSucceeded(_(\u0027None of the uploads finished!\u0027))"},{"line_number":493,"context_line":""},{"line_number":494,"context_line":"    def revert(self, result, **kwargs):"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_725e9a76","line":491,"in_reply_to":"9f560f44_97b52081","updated":"2020-08-04 20:45:46.000000000","message":"Yeah, set_image_data() has set_active\u003dTrue by default and that only happens if the status isn\u0027t already active, so I\u0027m sure this is the reason.","commit_id":"bd243b62d8546637a1218094a9d3f5b53a76957e"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"e4d07d31f93596be5958ab4749738091ac615c2d","unresolved":false,"context_lines":[{"line_number":488,"context_line":"        :param image_id: Glance Image ID"},{"line_number":489,"context_line":"        \"\"\""},{"line_number":490,"context_line":"        with self.action_wrapper as action:"},{"line_number":491,"context_line":"            if action.image_status !\u003d \u0027active\u0027:"},{"line_number":492,"context_line":"                raise _NoStoresSucceeded(_(\u0027None of the uploads finished!\u0027))"},{"line_number":493,"context_line":""},{"line_number":494,"context_line":"    def revert(self, result, **kwargs):"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_773decdb","line":491,"in_reply_to":"9f560f44_97b52081","updated":"2020-08-05 11:54:48.000000000","message":"Yup! And because there wasn\u0027t anything in the pipeline checking that any of the stores actually succeeded if \"all_stores_must_succeed\" was set to false. So that\u0027s what we\u0027re doing here.","commit_id":"bd243b62d8546637a1218094a9d3f5b53a76957e"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"4c8930e5dd3aff5de71fbe65f41355d74df4f339","unresolved":false,"context_lines":[{"line_number":491,"context_line":"            if action.image_status !\u003d \u0027active\u0027:"},{"line_number":492,"context_line":"                raise _NoStoresSucceeded(_(\u0027None of the uploads finished!\u0027))"},{"line_number":493,"context_line":""},{"line_number":494,"context_line":"    def revert(self, result, **kwargs):"},{"line_number":495,"context_line":"        \"\"\"Set back to queued if this wasn\u0027t copy-image job.\"\"\""},{"line_number":496,"context_line":"        with self.action_wrapper as action:"},{"line_number":497,"context_line":"            if self.import_method !\u003d \u0027copy-image\u0027:"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_37f6d464","line":494,"updated":"2020-08-04 19:45:54.000000000","message":"This is nice because in my testing I\u0027ve had to keep re-creating images when I\u0027m testing and something failed :)","commit_id":"bd243b62d8546637a1218094a9d3f5b53a76957e"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"4c8930e5dd3aff5de71fbe65f41355d74df4f339","unresolved":false,"context_lines":[{"line_number":495,"context_line":"        \"\"\"Set back to queued if this wasn\u0027t copy-image job.\"\"\""},{"line_number":496,"context_line":"        with self.action_wrapper as action:"},{"line_number":497,"context_line":"            if self.import_method !\u003d \u0027copy-image\u0027:"},{"line_number":498,"context_line":"                action.set_image_status(\u0027queued\u0027)"},{"line_number":499,"context_line":""},{"line_number":500,"context_line":""},{"line_number":501,"context_line":"class _CompleteTask(task.Task):"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_379b7418","line":498,"updated":"2020-08-04 19:45:54.000000000","message":"Where is this tested? I\u0027m guessing it\u0027s not already since this change should cause something to fail and doesn\u0027t....seems like we should fix that going forward?","commit_id":"bd243b62d8546637a1218094a9d3f5b53a76957e"}],"glance/tests/unit/async_/test_async.py":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"e1c60f0d822dc1fd70f8ec99e367e06fac650d95","unresolved":false,"context_lines":[{"line_number":80,"context_line":"        self.config(node_staging_uri\u003d\u0027file:///tmp/staging\u0027)"},{"line_number":81,"context_line":"        store.create_stores(CONF)"},{"line_number":82,"context_line":"        self.base_flow \u003d [\u0027ConfigureStaging\u0027, \u0027ImportToStore\u0027,"},{"line_number":83,"context_line":"                          \u0027DeleteFromFS\u0027, \u0027VerifyImageState\u0027,"},{"line_number":84,"context_line":"                          \u0027CompleteTask\u0027]"},{"line_number":85,"context_line":"        self.import_plugins \u003d [\u0027Convert_Image\u0027,"},{"line_number":86,"context_line":"                               \u0027Decompress_Image\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_1bcdad65","line":83,"range":{"start_line":83,"start_character":43,"end_line":83,"end_character":59},"updated":"2020-08-05 13:21:51.000000000","message":"Doh, sorry, I ran the api_image_import tests before uploading, but I was trying to hurry and get these back up. My bad!","commit_id":"e8b13ce1b44313a9604aa9cd8cdbf8bd4d1bda52"}]}
