)]}'
{"zun/compute/manager.py":[{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"4dec36b0bcdf5e283878df16c037596e6888e3c5","unresolved":false,"context_lines":[{"line_number":975,"context_line":"        LOG.debug(\u0027Deleting image...\u0027)"},{"line_number":976,"context_line":"        # TODO(hongbin): Let caller pass down image_driver instead of using"},{"line_number":977,"context_line":"        # CONF.default_image_driver"},{"line_number":978,"context_line":"        self.driver.delete_image(context, image.image_id)"},{"line_number":979,"context_line":"        image.destroy(context, image.uuid)"},{"line_number":980,"context_line":""},{"line_number":981,"context_line":"    def image_pull(self, context, image):"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f7c97a3_d762203d","line":978,"range":{"start_line":978,"start_character":8,"end_line":978,"end_character":57},"updated":"2018-07-20 04:20:21.000000000","message":"@weikeyou,\n\nWould you do me a flavor. Could you change it to following:\n\n        if image.image_id:\n            self.driver.delete_image(context, image.image_id)\n\nThis will handle the case that image.image_id is None. In this case, we skip the image deletion in driver to avoid failure.","commit_id":"5a2499b5c963171028637c88b60f7fd00587e3b9"},{"author":{"_account_id":23829,"name":"weikeyou","email":"wei.keyou@zte.com.cn","username":"weikeyou"},"change_message_id":"ff02be0d1d5dcc230fa6d7b8e1ebbf5c13fc1c24","unresolved":false,"context_lines":[{"line_number":975,"context_line":"        LOG.debug(\u0027Deleting image...\u0027)"},{"line_number":976,"context_line":"        # TODO(hongbin): Let caller pass down image_driver instead of using"},{"line_number":977,"context_line":"        # CONF.default_image_driver"},{"line_number":978,"context_line":"        self.driver.delete_image(context, image.image_id)"},{"line_number":979,"context_line":"        image.destroy(context, image.uuid)"},{"line_number":980,"context_line":""},{"line_number":981,"context_line":"    def image_pull(self, context, image):"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f7c97a3_4b3e65b9","line":978,"range":{"start_line":978,"start_character":8,"end_line":978,"end_character":57},"in_reply_to":"5f7c97a3_d762203d","updated":"2018-07-20 07:59:05.000000000","message":"Thank you for your good suggestion.","commit_id":"5a2499b5c963171028637c88b60f7fd00587e3b9"}],"zun/image/driver.py":[{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"62218f1ac1b033c8d4abc728bf944b3a871c74d1","unresolved":false,"context_lines":[{"line_number":82,"context_line":"        \"\"\"Upload an image.\"\"\""},{"line_number":83,"context_line":"        raise NotImplementedError()"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    def delete_image(self, context, img_id):"},{"line_number":86,"context_line":"        \"\"\"Delete an image.\"\"\""},{"line_number":87,"context_line":"        raise NotImplementedError()"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f7c97a3_b7cf64b1","side":"PARENT","line":85,"range":{"start_line":85,"start_character":8,"end_line":85,"end_character":20},"updated":"2018-07-20 04:12:45.000000000","message":"I think delete_image should be kept because it is still implemented in docker driver?","commit_id":"6d13f2e9340d0d3da8b087a18f23b1232faa6519"},{"author":{"_account_id":23829,"name":"weikeyou","email":"wei.keyou@zte.com.cn","username":"weikeyou"},"change_message_id":"ff02be0d1d5dcc230fa6d7b8e1ebbf5c13fc1c24","unresolved":false,"context_lines":[{"line_number":82,"context_line":"        \"\"\"Upload an image.\"\"\""},{"line_number":83,"context_line":"        raise NotImplementedError()"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    def delete_image(self, context, img_id):"},{"line_number":86,"context_line":"        \"\"\"Delete an image.\"\"\""},{"line_number":87,"context_line":"        raise NotImplementedError()"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f7c97a3_ab05b910","side":"PARENT","line":85,"range":{"start_line":85,"start_character":8,"end_line":85,"end_character":20},"in_reply_to":"5f7c97a3_b7cf64b1","updated":"2018-07-20 07:59:05.000000000","message":"Yes, it should be kept.","commit_id":"6d13f2e9340d0d3da8b087a18f23b1232faa6519"}],"zun/image/glance/driver.py":[{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"62218f1ac1b033c8d4abc728bf944b3a871c74d1","unresolved":false,"context_lines":[{"line_number":175,"context_line":"        image \u003d self._search_image_on_host(context, repo, tag)"},{"line_number":176,"context_line":"        if image:"},{"line_number":177,"context_line":"            if self._verify_md5sum_for_image(image):"},{"line_number":178,"context_line":"                fn \u003d image(\u0027path\u0027)"},{"line_number":179,"context_line":"                try:"},{"line_number":180,"context_line":"                    os.unlink(fn)"},{"line_number":181,"context_line":"                except Exception as e:"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f7c97a3_57f2909c","line":178,"range":{"start_line":178,"start_character":16,"end_line":178,"end_character":18},"updated":"2018-07-20 04:12:45.000000000","message":"This name is a bit odd. How about rename it as file or tarfile?","commit_id":"5a2499b5c963171028637c88b60f7fd00587e3b9"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"62218f1ac1b033c8d4abc728bf944b3a871c74d1","unresolved":false,"context_lines":[{"line_number":175,"context_line":"        image \u003d self._search_image_on_host(context, repo, tag)"},{"line_number":176,"context_line":"        if image:"},{"line_number":177,"context_line":"            if self._verify_md5sum_for_image(image):"},{"line_number":178,"context_line":"                fn \u003d image(\u0027path\u0027)"},{"line_number":179,"context_line":"                try:"},{"line_number":180,"context_line":"                    os.unlink(fn)"},{"line_number":181,"context_line":"                except Exception as e:"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f7c97a3_17adf8e5","line":178,"range":{"start_line":178,"start_character":21,"end_line":178,"end_character":34},"updated":"2018-07-20 04:12:45.000000000","message":"image[\u0027path\u0027] ?","commit_id":"5a2499b5c963171028637c88b60f7fd00587e3b9"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"ac846d58edcf6299f5e08a45acd6d31538c49120","unresolved":false,"context_lines":[{"line_number":175,"context_line":"        image \u003d self._search_image_on_host(context, repo, tag)"},{"line_number":176,"context_line":"        if image:"},{"line_number":177,"context_line":"            if self._verify_md5sum_for_image(image):"},{"line_number":178,"context_line":"                tarfile \u003d image(\u0027path\u0027)"},{"line_number":179,"context_line":"                try:"},{"line_number":180,"context_line":"                    os.unlink(tarfile)"},{"line_number":181,"context_line":"                except Exception as e:"}],"source_content_type":"text/x-python","patch_set":8,"id":"5f7c97a3_528cc32c","line":178,"range":{"start_line":178,"start_character":26,"end_line":178,"end_character":39},"updated":"2018-07-21 16:38:13.000000000","message":"Image is a dict so we should get the \u0027path by image[\u0027path\u0027] or image.get(\u0027path\u0027) . Doing image(\u0027path\u0027) will give an error.","commit_id":"51d35c07b32c5061344caa1283e455de7abad825"}]}
