)]}'
{"doc/source/admin/interoperable-image-import.rst":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"909cc15a513bcc9c72b80fb8d13a94d40b932c17","unresolved":false,"context_lines":[{"line_number":432,"context_line":".. note::"},{"line_number":433,"context_line":""},{"line_number":434,"context_line":"  The default output format is raw in which case there is no need to have"},{"line_number":435,"context_line":"  \u0027image_conversion\u0027 section and it\u0027s \u0027output_format\u0027 defined in the config"},{"line_number":436,"context_line":"  file."},{"line_number":437,"context_line":""},{"line_number":438,"context_line":"  The input format needs to be one of the `qemu-img supported ones`_ for this"}],"source_content_type":"text/x-rst","patch_set":8,"id":"5f7c97a3_95b37b4e","line":435,"range":{"start_line":435,"start_character":33,"end_line":435,"end_character":37},"updated":"2018-06-11 15:44:50.000000000","message":"Super-nit, but this should be \"its\"","commit_id":"f8e365631f16c297222b46449eb61d8c4fa91d29"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"909cc15a513bcc9c72b80fb8d13a94d40b932c17","unresolved":false,"context_lines":[{"line_number":436,"context_line":"  file."},{"line_number":437,"context_line":""},{"line_number":438,"context_line":"  The input format needs to be one of the `qemu-img supported ones`_ for this"},{"line_number":439,"context_line":"  feautre to work. In case of qemu-img call failing on the source image the"},{"line_number":440,"context_line":"  import process will fail if \u0027image_conversion\u0027 plugin is enabled."},{"line_number":441,"context_line":""},{"line_number":442,"context_line":".. note::"}],"source_content_type":"text/x-rst","patch_set":8,"id":"5f7c97a3_b5b0f741","line":439,"range":{"start_line":439,"start_character":2,"end_line":439,"end_character":9},"updated":"2018-06-11 15:44:50.000000000","message":"feature","commit_id":"f8e365631f16c297222b46449eb61d8c4fa91d29"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"909cc15a513bcc9c72b80fb8d13a94d40b932c17","unresolved":false,"context_lines":[{"line_number":441,"context_line":""},{"line_number":442,"context_line":".. note::"},{"line_number":443,"context_line":""},{"line_number":444,"context_line":"  ``image_import_plugins`` config option is list and multiple plugins can be"},{"line_number":445,"context_line":"  enabled for the import flow. The plugins are not ran parallel. One can"},{"line_number":446,"context_line":"  enable multiple plugins by configuring them in the"},{"line_number":447,"context_line":"  ``glance-image-import.conf`` for example as following:"}],"source_content_type":"text/x-rst","patch_set":8,"id":"5f7c97a3_f593cfa1","line":444,"range":{"start_line":444,"start_character":41,"end_line":444,"end_character":48},"updated":"2018-06-11 15:44:50.000000000","message":"\"is a list\" might sound better?","commit_id":"f8e365631f16c297222b46449eb61d8c4fa91d29"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"909cc15a513bcc9c72b80fb8d13a94d40b932c17","unresolved":false,"context_lines":[{"line_number":442,"context_line":".. note::"},{"line_number":443,"context_line":""},{"line_number":444,"context_line":"  ``image_import_plugins`` config option is list and multiple plugins can be"},{"line_number":445,"context_line":"  enabled for the import flow. The plugins are not ran parallel. One can"},{"line_number":446,"context_line":"  enable multiple plugins by configuring them in the"},{"line_number":447,"context_line":"  ``glance-image-import.conf`` for example as following:"},{"line_number":448,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"5f7c97a3_15ee8b20","line":445,"range":{"start_line":445,"start_character":51,"end_line":445,"end_character":54},"updated":"2018-06-11 15:44:50.000000000","message":"run in parrallel","commit_id":"f8e365631f16c297222b46449eb61d8c4fa91d29"}],"glance/async/flows/plugins/image_conversion.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"943be4da7e061198deeaf31ad07fd856f75bc0cc","unresolved":false,"context_lines":[{"line_number":25,"context_line":"from taskflow import task"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"from glance.async import utils"},{"line_number":28,"context_line":"from glance.i18n import _, _LE"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":31,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_471290b6","line":28,"range":{"start_line":28,"start_character":27,"end_line":28,"end_character":30},"updated":"2018-06-05 18:33:08.000000000","message":"Since these are a no-op now, shouldn\u0027t we skip adding it to new code?","commit_id":"21b9b4ea636a4ad4d6c0f0452d8cdf630600285b"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"943be4da7e061198deeaf31ad07fd856f75bc0cc","unresolved":false,"context_lines":[{"line_number":34,"context_line":"                   default\u003d\u0027raw\u0027,"},{"line_number":35,"context_line":"                   choices\u003d(\u0027qcow2\u0027, \u0027raw\u0027, \u0027vdmk\u0027),"},{"line_number":36,"context_line":"                   help\u003d_(\"\"\""},{"line_number":37,"context_line":"Desired output format ofr image conversion plugin."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Provide a valid image format to which the conversion plugin"},{"line_number":40,"context_line":"will convert the image before storing it to the back-end."}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_07333864","line":37,"range":{"start_line":37,"start_character":22,"end_line":37,"end_character":25},"updated":"2018-06-05 18:33:08.000000000","message":"\"of\" or \"for\"?","commit_id":"21b9b4ea636a4ad4d6c0f0452d8cdf630600285b"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"943be4da7e061198deeaf31ad07fd856f75bc0cc","unresolved":false,"context_lines":[{"line_number":108,"context_line":""},{"line_number":109,"context_line":"        if source_format \u003d\u003d target_format:"},{"line_number":110,"context_line":"            LOG.debug(\"Source is already in target format, \""},{"line_number":111,"context_line":"                      \"not doing conversion for %s\" % self.image_id)"},{"line_number":112,"context_line":"            self.image_repo.save(image)"},{"line_number":113,"context_line":"            return self.file_path"},{"line_number":114,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_070c9892","line":111,"range":{"start_line":111,"start_character":52,"end_line":111,"end_character":53},"updated":"2018-06-05 18:33:08.000000000","message":",","commit_id":"21b9b4ea636a4ad4d6c0f0452d8cdf630600285b"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"8ba85937eb78e07c6ba8ee6b0db623c8067867c6","unresolved":false,"context_lines":[{"line_number":88,"context_line":"            stdout, stderr \u003d putils.trycmd(\"qemu-img\", \"info\","},{"line_number":89,"context_line":"                                           \"--output\u003djson\","},{"line_number":90,"context_line":"                                           src_path,"},{"line_number":91,"context_line":"                                           prlimit\u003dutils.QUEMU_IMG_PROC_LIMITS,"},{"line_number":92,"context_line":"                                           log_errors\u003dputils.LOG_ALL_ERRORS,)"},{"line_number":93,"context_line":"        except OSError as exc:"},{"line_number":94,"context_line":"            with excutils.save_and_reraise_exception():"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_7b0cc041","line":91,"range":{"start_line":91,"start_character":57,"end_line":91,"end_character":78},"updated":"2018-06-08 08:33:57.000000000","message":"This should be QEMU_IMG_PROC_LIMITS","commit_id":"97db73c36671d2d82b352d01f9b2aad6e4d9deba"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"8ba85937eb78e07c6ba8ee6b0db623c8067867c6","unresolved":false,"context_lines":[{"line_number":113,"context_line":"            return self.file_path"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"        try:"},{"line_number":116,"context_line":"            stdout, stderr \u003d putils.trycmd(\u0027quemu-img\u0027, \u0027convert\u0027,"},{"line_number":117,"context_line":"                                           \u0027-f\u0027, source_format,"},{"line_number":118,"context_line":"                                           \u0027-O\u0027, target_format,"},{"line_number":119,"context_line":"                                           src_path, dest_path,"},{"line_number":120,"context_line":"                                           log_errors\u003dputils.LOG_ALL_ERRORS)"},{"line_number":121,"context_line":"        except OSError as exc:"},{"line_number":122,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":123,"context_line":"                exc_message \u003d encodeutils.exception_to_unicode(exc)"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_0e01c804","line":120,"range":{"start_line":116,"start_character":12,"end_line":120,"end_character":76},"updated":"2018-06-08 08:33:57.000000000","message":"After execution of this command I ma getting error\n\n\"OSError: [Errno 2] No such file or directory\"\n\nIs this conversion expected during staging area?","commit_id":"97db73c36671d2d82b352d01f9b2aad6e4d9deba"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"ed6220537b179f1cd5bf31317e1a6815a253b473","unresolved":false,"context_lines":[{"line_number":113,"context_line":"            return self.file_path"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"        try:"},{"line_number":116,"context_line":"            stdout, stderr \u003d putils.trycmd(\u0027quemu-img\u0027, \u0027convert\u0027,"},{"line_number":117,"context_line":"                                           \u0027-f\u0027, source_format,"},{"line_number":118,"context_line":"                                           \u0027-O\u0027, target_format,"},{"line_number":119,"context_line":"                                           src_path, dest_path,"},{"line_number":120,"context_line":"                                           log_errors\u003dputils.LOG_ALL_ERRORS)"},{"line_number":121,"context_line":"        except OSError as exc:"},{"line_number":122,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":123,"context_line":"                exc_message \u003d encodeutils.exception_to_unicode(exc)"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_2c204cf7","line":120,"range":{"start_line":116,"start_character":12,"end_line":120,"end_character":76},"in_reply_to":"5f7c97a3_0e01c804","updated":"2018-06-08 10:24:57.000000000","message":"yes, as that\u0027s where our data is.","commit_id":"97db73c36671d2d82b352d01f9b2aad6e4d9deba"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"157afe377d4a2aceb6e5611f8da025cb8dad3ae1","unresolved":false,"context_lines":[{"line_number":113,"context_line":"            return self.file_path"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"        try:"},{"line_number":116,"context_line":"            stdout, stderr \u003d putils.trycmd(\u0027quemu-img\u0027, \u0027convert\u0027,"},{"line_number":117,"context_line":"                                           \u0027-f\u0027, source_format,"},{"line_number":118,"context_line":"                                           \u0027-O\u0027, target_format,"},{"line_number":119,"context_line":"                                           src_path, dest_path,"},{"line_number":120,"context_line":"                                           log_errors\u003dputils.LOG_ALL_ERRORS)"},{"line_number":121,"context_line":"        except OSError as exc:"},{"line_number":122,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":123,"context_line":"                exc_message \u003d encodeutils.exception_to_unicode(exc)"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_6c8724b8","line":120,"range":{"start_line":116,"start_character":12,"end_line":120,"end_character":76},"in_reply_to":"5f7c97a3_2c204cf7","updated":"2018-06-08 10:34:04.000000000","message":"What is the reason for \"OSError\" then, I will also try to debug it further.","commit_id":"97db73c36671d2d82b352d01f9b2aad6e4d9deba"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"8ba85937eb78e07c6ba8ee6b0db623c8067867c6","unresolved":false,"context_lines":[{"line_number":160,"context_line":"    task_type \u003d kwargs.get(\u0027task_type\u0027)"},{"line_number":161,"context_line":"    image_repo \u003d kwargs.get(\u0027image_repo\u0027)"},{"line_number":162,"context_line":"    image_id \u003d kwargs.get(\u0027image_id\u0027)"},{"line_number":163,"context_line":"    file_path \u003d kwargs.get(\u0027file_path\u0027)"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"    return lf.Flow(task_type).add("},{"line_number":166,"context_line":"        _Convert_Image(context, task_id, task_type,"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_ee4b2c5c","line":163,"range":{"start_line":163,"start_character":4,"end_line":163,"end_character":39},"updated":"2018-06-08 08:33:57.000000000","message":"to have this in kwargs you need to set \nkwargs[\u0027file_path\u0027] \u003d file_uri \n\nbefore https://github.com/openstack/glance/blob/master/glance/async/flows/api_image_import.py#L327\n\nOtherwise it will be None and will raise NoneType attribute error at line #82","commit_id":"97db73c36671d2d82b352d01f9b2aad6e4d9deba"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"157afe377d4a2aceb6e5611f8da025cb8dad3ae1","unresolved":false,"context_lines":[{"line_number":160,"context_line":"    task_type \u003d kwargs.get(\u0027task_type\u0027)"},{"line_number":161,"context_line":"    image_repo \u003d kwargs.get(\u0027image_repo\u0027)"},{"line_number":162,"context_line":"    image_id \u003d kwargs.get(\u0027image_id\u0027)"},{"line_number":163,"context_line":"    file_path \u003d kwargs.get(\u0027file_path\u0027)"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"    return lf.Flow(task_type).add("},{"line_number":166,"context_line":"        _Convert_Image(context, task_id, task_type,"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_0cc0f0df","line":163,"range":{"start_line":163,"start_character":4,"end_line":163,"end_character":39},"in_reply_to":"5f7c97a3_8c2160ff","updated":"2018-06-08 10:34:04.000000000","message":"If so then something is definitely restricting it.","commit_id":"97db73c36671d2d82b352d01f9b2aad6e4d9deba"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"ed6220537b179f1cd5bf31317e1a6815a253b473","unresolved":false,"context_lines":[{"line_number":160,"context_line":"    task_type \u003d kwargs.get(\u0027task_type\u0027)"},{"line_number":161,"context_line":"    image_repo \u003d kwargs.get(\u0027image_repo\u0027)"},{"line_number":162,"context_line":"    image_id \u003d kwargs.get(\u0027image_id\u0027)"},{"line_number":163,"context_line":"    file_path \u003d kwargs.get(\u0027file_path\u0027)"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"    return lf.Flow(task_type).add("},{"line_number":166,"context_line":"        _Convert_Image(context, task_id, task_type,"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_8c2160ff","line":163,"range":{"start_line":163,"start_character":4,"end_line":163,"end_character":39},"in_reply_to":"5f7c97a3_ee4b2c5c","updated":"2018-06-08 10:24:57.000000000","message":"The file_path should be provided to the flow from https://github.com/openstack/glance/blob/master/glance/async/flows/api_image_import.py#L157","commit_id":"97db73c36671d2d82b352d01f9b2aad6e4d9deba"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"fd794630a6e6c83930a40b18fbdb34fcc5a3fdf9","unresolved":false,"context_lines":[{"line_number":112,"context_line":"            return file_path"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"        try:"},{"line_number":115,"context_line":"            stdout, stderr \u003d putils.trycmd(\u0027quemu-img\u0027, \u0027convert\u0027,"},{"line_number":116,"context_line":"                                           \u0027-f\u0027, source_format,"},{"line_number":117,"context_line":"                                           \u0027-O\u0027, target_format,"},{"line_number":118,"context_line":"                                           src_path, dest_path,"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_078c4b33","line":115,"range":{"start_line":115,"start_character":44,"end_line":115,"end_character":49},"updated":"2018-06-08 11:08:51.000000000","message":"this should be qemu.\n\nThis is the reason command was failing with OSError ;)\n\nStrange.","commit_id":"3bfbaf1d6737f5a19d2d020cea89152bb52aaf9e"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"81c739905a1b4bdb850c78f9d1e1714bdac73c58","unresolved":false,"context_lines":[{"line_number":112,"context_line":"            return file_path"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"        try:"},{"line_number":115,"context_line":"            stdout, stderr \u003d putils.trycmd(\u0027quemu-img\u0027, \u0027convert\u0027,"},{"line_number":116,"context_line":"                                           \u0027-f\u0027, source_format,"},{"line_number":117,"context_line":"                                           \u0027-O\u0027, target_format,"},{"line_number":118,"context_line":"                                           src_path, dest_path,"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_07df6b0c","line":115,"range":{"start_line":115,"start_character":44,"end_line":115,"end_character":49},"in_reply_to":"5f7c97a3_078c4b33","updated":"2018-06-11 11:41:01.000000000","message":":P","commit_id":"3bfbaf1d6737f5a19d2d020cea89152bb52aaf9e"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"fd794630a6e6c83930a40b18fbdb34fcc5a3fdf9","unresolved":false,"context_lines":[{"line_number":126,"context_line":"        if stderr:"},{"line_number":127,"context_line":"            raise RuntimeError(stderr)"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"        image.disk_format \u003d target_format"},{"line_number":130,"context_line":"        image.container_format \u003d \u0027bare\u0027"},{"line_number":131,"context_line":"        self.image_repo.save(image)"},{"line_number":132,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_a797973a","line":129,"range":{"start_line":129,"start_character":8,"end_line":129,"end_character":41},"updated":"2018-06-08 11:08:51.000000000","message":"After fixing above comment at line 115, here I am getting error\n\nForbidden: Attribute disk_format can be only replaced for a queued image.","commit_id":"3bfbaf1d6737f5a19d2d020cea89152bb52aaf9e"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"fd794630a6e6c83930a40b18fbdb34fcc5a3fdf9","unresolved":false,"context_lines":[{"line_number":152,"context_line":"    :param task_type: Type of the task."},{"line_number":153,"context_line":"    :param image_repo: Image repository used."},{"line_number":154,"context_line":"    :param image_id: Image ID"},{"line_number":155,"context_line":"    :param file_path: Location of the image data"},{"line_number":156,"context_line":"    \"\"\""},{"line_number":157,"context_line":"    context \u003d kwargs.get(\u0027context\u0027)"},{"line_number":158,"context_line":"    task_id \u003d kwargs.get(\u0027task_id\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_27906795","line":155,"range":{"start_line":155,"start_character":4,"end_line":155,"end_character":48},"updated":"2018-06-08 11:08:51.000000000","message":"ditto","commit_id":"3bfbaf1d6737f5a19d2d020cea89152bb52aaf9e"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"fd794630a6e6c83930a40b18fbdb34fcc5a3fdf9","unresolved":false,"context_lines":[{"line_number":159,"context_line":"    task_type \u003d kwargs.get(\u0027task_type\u0027)"},{"line_number":160,"context_line":"    image_repo \u003d kwargs.get(\u0027image_repo\u0027)"},{"line_number":161,"context_line":"    image_id \u003d kwargs.get(\u0027image_id\u0027)"},{"line_number":162,"context_line":"    file_path \u003d kwargs.get(\u0027file_path\u0027)"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"    return lf.Flow(task_type).add("},{"line_number":165,"context_line":"        _Convert_Image(context, task_id, task_type,"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_87913b9d","line":162,"range":{"start_line":162,"start_character":5,"end_line":162,"end_character":39},"updated":"2018-06-08 11:08:51.000000000","message":"remove from here as well","commit_id":"3bfbaf1d6737f5a19d2d020cea89152bb52aaf9e"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"fd794630a6e6c83930a40b18fbdb34fcc5a3fdf9","unresolved":false,"context_lines":[{"line_number":163,"context_line":""},{"line_number":164,"context_line":"    return lf.Flow(task_type).add("},{"line_number":165,"context_line":"        _Convert_Image(context, task_id, task_type,"},{"line_number":166,"context_line":"                       image_repo, image_id, file_path),"},{"line_number":167,"context_line":"    )"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_67965f97","line":166,"range":{"start_line":166,"start_character":43,"end_line":166,"end_character":54},"updated":"2018-06-08 11:08:51.000000000","message":"Need to remove from here as well","commit_id":"3bfbaf1d6737f5a19d2d020cea89152bb52aaf9e"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"242d11409801a8fb337c2c3185e072b2ece17239","unresolved":false,"context_lines":[{"line_number":55,"context_line":""},{"line_number":56,"context_line":"CONF \u003d cfg.CONF"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"CONF.register_opts(conversion_plugin_opts, group\u003d\u0027conversion_plugin_options\u0027)"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"class _Convert_Image(task.Task):"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_f4ed3625","line":58,"range":{"start_line":58,"start_character":50,"end_line":58,"end_character":75},"updated":"2018-06-08 18:11:10.000000000","message":"Suggestion: can we change the group name to image_conversion_properties or image_conversion?","commit_id":"26023b3a1e9dd1cdd4bd8939548f66cf4b04e27c"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"81c739905a1b4bdb850c78f9d1e1714bdac73c58","unresolved":false,"context_lines":[{"line_number":55,"context_line":""},{"line_number":56,"context_line":"CONF \u003d cfg.CONF"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"CONF.register_opts(conversion_plugin_opts, group\u003d\u0027conversion_plugin_options\u0027)"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"class _Convert_Image(task.Task):"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_2fa6d9c1","line":58,"range":{"start_line":58,"start_character":50,"end_line":58,"end_character":75},"in_reply_to":"5f7c97a3_f4ed3625","updated":"2018-06-11 11:41:01.000000000","message":"sure","commit_id":"26023b3a1e9dd1cdd4bd8939548f66cf4b04e27c"},{"author":{"_account_id":27882,"name":"Piotr Bielak","email":"piotrbielak2@gmail.com","username":"pbielak"},"change_message_id":"ed1deb3d46ee15a9af8c464a440bc1d76cdc72b3","unresolved":false,"context_lines":[{"line_number":58,"context_line":"CONF.register_opts(conversion_plugin_opts, group\u003d\u0027conversion_plugin_options\u0027)"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"class _Convert_Image(task.Task):"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"    default_provides \u003d \u0027file_path\u0027"},{"line_number":64,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_a80e8389","line":61,"range":{"start_line":61,"start_character":5,"end_line":61,"end_character":20},"updated":"2018-06-08 14:42:13.000000000","message":"IMO any class name should be a noun, so I would propose something like: ImageConverter or ConvertImageTask","commit_id":"26023b3a1e9dd1cdd4bd8939548f66cf4b04e27c"},{"author":{"_account_id":27882,"name":"Piotr Bielak","email":"piotrbielak2@gmail.com","username":"pbielak"},"change_message_id":"ed1deb3d46ee15a9af8c464a440bc1d76cdc72b3","unresolved":false,"context_lines":[{"line_number":60,"context_line":""},{"line_number":61,"context_line":"class _Convert_Image(task.Task):"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"    default_provides \u003d \u0027file_path\u0027"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"    def __init__(self, context, task_id, task_type,"},{"line_number":66,"context_line":"                 image_repo, image_id):"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_088e97d0","line":63,"range":{"start_line":63,"start_character":3,"end_line":63,"end_character":34},"updated":"2018-06-08 14:42:13.000000000","message":"Where is this used?","commit_id":"26023b3a1e9dd1cdd4bd8939548f66cf4b04e27c"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"81c739905a1b4bdb850c78f9d1e1714bdac73c58","unresolved":false,"context_lines":[{"line_number":60,"context_line":""},{"line_number":61,"context_line":"class _Convert_Image(task.Task):"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"    default_provides \u003d \u0027file_path\u0027"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"    def __init__(self, context, task_id, task_type,"},{"line_number":66,"context_line":"                 image_repo, image_id):"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_cfc16550","line":63,"range":{"start_line":63,"start_character":3,"end_line":63,"end_character":34},"in_reply_to":"5f7c97a3_088e97d0","updated":"2018-06-11 11:41:01.000000000","message":"Here https://github.com/openstack/glance/blob/master/glance/async/flows/api_image_import.py#L171 and here https://github.com/openstack/glance/blob/master/glance/async/flows/api_image_import.py#L84","commit_id":"26023b3a1e9dd1cdd4bd8939548f66cf4b04e27c"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"909cc15a513bcc9c72b80fb8d13a94d40b932c17","unresolved":false,"context_lines":[{"line_number":25,"context_line":"from taskflow import task"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"from glance.async import utils"},{"line_number":28,"context_line":"from glance.i18n import _, _LE"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":31,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"5f7c97a3_b5131701","line":28,"range":{"start_line":28,"start_character":27,"end_line":28,"end_character":30},"updated":"2018-06-11 15:44:50.000000000","message":"Not sure if you responded to the comment in rev 1, but I still think we should stop doing this since it is now a NOOP and not wanted.","commit_id":"f8e365631f16c297222b46449eb61d8c4fa91d29"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"909cc15a513bcc9c72b80fb8d13a94d40b932c17","unresolved":false,"context_lines":[{"line_number":107,"context_line":""},{"line_number":108,"context_line":"        if source_format \u003d\u003d target_format:"},{"line_number":109,"context_line":"            LOG.debug(\"Source is already in target format, \""},{"line_number":110,"context_line":"                      \"not doing conversion for %s\" % self.image_id)"},{"line_number":111,"context_line":"            self.image_repo.save(image)"},{"line_number":112,"context_line":"            return file_path"},{"line_number":113,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"5f7c97a3_75c01f51","line":110,"range":{"start_line":110,"start_character":52,"end_line":110,"end_character":53},"updated":"2018-06-11 15:44:50.000000000","message":"And this should be changed to a , so the string is formatted only later if and when needed if the logger sees it is actually logging debug level messages.","commit_id":"f8e365631f16c297222b46449eb61d8c4fa91d29"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"bb991b5148459edd5dbfe1148302e8ce3c6ce0ed","unresolved":false,"context_lines":[{"line_number":107,"context_line":""},{"line_number":108,"context_line":"        if source_format \u003d\u003d target_format:"},{"line_number":109,"context_line":"            LOG.debug(\"Source is already in target format, \""},{"line_number":110,"context_line":"                      \"not doing conversion for %s\" % self.image_id)"},{"line_number":111,"context_line":"            self.image_repo.save(image)"},{"line_number":112,"context_line":"            return file_path"},{"line_number":113,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_060f3f2e","line":110,"range":{"start_line":110,"start_character":51,"end_line":110,"end_character":53},"updated":"2018-06-11 17:11:28.000000000","message":",","commit_id":"8642f0f487a5c1f69843d0121c805f804abe4b11"}],"glance/domain/__init__.py":[{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"242d11409801a8fb337c2c3185e072b2ece17239","unresolved":false,"context_lines":[{"line_number":196,"context_line":"    def container_format(self, value):"},{"line_number":197,"context_line":"        if (hasattr(self, \u0027_container_format\u0027) and"},{"line_number":198,"context_line":"                self.status not in (\u0027queued\u0027, \u0027importing\u0027)):"},{"line_number":199,"context_line":"            msg \u003d _(\"Attribute container_format can be only replaced \""},{"line_number":200,"context_line":"                    \"for a queued image.\")"},{"line_number":201,"context_line":"            raise exception.Forbidden(message\u003dmsg)"},{"line_number":202,"context_line":"        self._container_format \u003d value"},{"line_number":203,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_d44cba77","line":200,"range":{"start_line":199,"start_character":22,"end_line":200,"end_character":37},"updated":"2018-06-08 18:11:10.000000000","message":"Change in error message?","commit_id":"26023b3a1e9dd1cdd4bd8939548f66cf4b04e27c"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"242d11409801a8fb337c2c3185e072b2ece17239","unresolved":false,"context_lines":[{"line_number":209,"context_line":"    def disk_format(self, value):"},{"line_number":210,"context_line":"        if (hasattr(self, \u0027_disk_format\u0027) and"},{"line_number":211,"context_line":"                self.status not in (\u0027queued\u0027, \u0027importing\u0027)):"},{"line_number":212,"context_line":"            msg \u003d _(\"Attribute disk_format can be only replaced \""},{"line_number":213,"context_line":"                    \"for a queued image.\")"},{"line_number":214,"context_line":"            raise exception.Forbidden(message\u003dmsg)"},{"line_number":215,"context_line":"        self._disk_format \u003d value"},{"line_number":216,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_f451b60f","line":213,"range":{"start_line":212,"start_character":21,"end_line":213,"end_character":41},"updated":"2018-06-08 18:11:10.000000000","message":"Ditto","commit_id":"26023b3a1e9dd1cdd4bd8939548f66cf4b04e27c"}]}
