)]}'
{"zun/container/docker/utils.py":[{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"e0b298f16aaacc01d8eeeadceae1d431072630f6","unresolved":false,"context_lines":[{"line_number":82,"context_line":"            fest \u003d fil.extractfile(\u0027manifest.json\u0027)"},{"line_number":83,"context_line":"            data \u003d fest.read()"},{"line_number":84,"context_line":"            data \u003d jsonutils.loads(encodeutils.safe_decode(data))"},{"line_number":85,"context_line":"            repo_tag \u003d data[0][\u0027RepoTags\u0027][0]"},{"line_number":86,"context_line":"            if repo_tag:"},{"line_number":87,"context_line":"                repo, tag \u003d repo_tag.split(\":\")"},{"line_number":88,"context_line":"                if repo and tag:"}],"source_content_type":"text/x-python","patch_set":1,"id":"1f9dbf25_da94368e","line":85,"range":{"start_line":85,"start_character":42,"end_line":85,"end_character":45},"updated":"2018-03-02 00:22:23.000000000","message":"By looking at the bug report: https://bugs.launchpad.net/zun/+bug/1752522 , it looks data[0][\u0027RepoTags\u0027] will be None so we need to check before accessing the first element.","commit_id":"83c20b55b2421551c93c1466b1d9ed6ead6f0fc4"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"e0b298f16aaacc01d8eeeadceae1d431072630f6","unresolved":false,"context_lines":[{"line_number":85,"context_line":"            repo_tag \u003d data[0][\u0027RepoTags\u0027][0]"},{"line_number":86,"context_line":"            if repo_tag:"},{"line_number":87,"context_line":"                repo, tag \u003d repo_tag.split(\":\")"},{"line_number":88,"context_line":"                if repo and tag:"},{"line_number":89,"context_line":"                    image[\u0027repo\u0027], image[\u0027tag\u0027] \u003d repo, tag"},{"line_number":90,"context_line":"                    return"},{"line_number":91,"context_line":"            image_uuid \u003d data[0][\u0027Config\u0027].split(\u0027.\u0027)[0]"}],"source_content_type":"text/x-python","patch_set":1,"id":"1f9dbf25_9a8eae76","line":88,"range":{"start_line":88,"start_character":16,"end_line":88,"end_character":31},"updated":"2018-03-02 00:22:23.000000000","message":"I am not sure what is the purpose of this check. It doesn\u0027t seem to be related to the reported bug.","commit_id":"83c20b55b2421551c93c1466b1d9ed6ead6f0fc4"},{"author":{"_account_id":23365,"name":"feng.shengqin","email":"feng.shengqin@zte.com.cn","username":"FengShengqin"},"change_message_id":"191ddc8a861bafdc448a69a286b11bb0b57dc3c3","unresolved":false,"context_lines":[{"line_number":85,"context_line":"            repo_tag \u003d data[0][\u0027RepoTags\u0027][0]"},{"line_number":86,"context_line":"            if repo_tag:"},{"line_number":87,"context_line":"                repo, tag \u003d repo_tag.split(\":\")"},{"line_number":88,"context_line":"                if repo and tag:"},{"line_number":89,"context_line":"                    image[\u0027repo\u0027], image[\u0027tag\u0027] \u003d repo, tag"},{"line_number":90,"context_line":"                    return"},{"line_number":91,"context_line":"            image_uuid \u003d data[0][\u0027Config\u0027].split(\u0027.\u0027)[0]"}],"source_content_type":"text/x-python","patch_set":1,"id":"1f9dbf25_bd94c445","line":88,"range":{"start_line":88,"start_character":16,"end_line":88,"end_character":31},"in_reply_to":"1f9dbf25_9a8eae76","updated":"2018-03-02 02:51:08.000000000","message":"Thanks very much@hongbin,\nis tag likely none? we may not be able to identify images only through the repo.","commit_id":"83c20b55b2421551c93c1466b1d9ed6ead6f0fc4"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"84cd2a37ba88b352252432e0de7e15034f73dd31","unresolved":false,"context_lines":[{"line_number":85,"context_line":"            repo_tag \u003d data[0][\u0027RepoTags\u0027][0]"},{"line_number":86,"context_line":"            if repo_tag:"},{"line_number":87,"context_line":"                repo, tag \u003d repo_tag.split(\":\")"},{"line_number":88,"context_line":"                if repo and tag:"},{"line_number":89,"context_line":"                    image[\u0027repo\u0027], image[\u0027tag\u0027] \u003d repo, tag"},{"line_number":90,"context_line":"                    return"},{"line_number":91,"context_line":"            image_uuid \u003d data[0][\u0027Config\u0027].split(\u0027.\u0027)[0]"}],"source_content_type":"text/x-python","patch_set":1,"id":"1f9dbf25_3c3c28c7","line":88,"range":{"start_line":88,"start_character":16,"end_line":88,"end_character":31},"in_reply_to":"1f9dbf25_bd94c445","updated":"2018-03-02 21:28:03.000000000","message":"I am not sure if tag could be None. If tag could be None, we need to understand why it becomes None and how to reproduce it. If you have these details, please feel free to open another bug for that.","commit_id":"83c20b55b2421551c93c1466b1d9ed6ead6f0fc4"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"e0b298f16aaacc01d8eeeadceae1d431072630f6","unresolved":false,"context_lines":[{"line_number":87,"context_line":"                repo, tag \u003d repo_tag.split(\":\")"},{"line_number":88,"context_line":"                if repo and tag:"},{"line_number":89,"context_line":"                    image[\u0027repo\u0027], image[\u0027tag\u0027] \u003d repo, tag"},{"line_number":90,"context_line":"                    return"},{"line_number":91,"context_line":"            image_uuid \u003d data[0][\u0027Config\u0027].split(\u0027.\u0027)[0]"},{"line_number":92,"context_line":"            image[\u0027repo\u0027], image[\u0027tag\u0027] \u003d image_uuid, \u0027\u0027"},{"line_number":93,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1f9dbf25_3ae99a19","line":90,"updated":"2018-03-02 00:22:23.000000000","message":"Above all, could we change line #85 - #90 as below (UNTESTED)?\n\n    repo_tags \u003d data[0][\u0027RepoTags\u0027]\n    if repo_tags:\n        repo, tag \u003d repo_tags[0].split(\":\")\n        image[\u0027repo\u0027], image[\u0027tag\u0027] \u003d repo, tag\n    else:\n        image_uuid \u003d data[0][\u0027Config\u0027].split(\u0027.\u0027)[0]\n        image[\u0027repo\u0027], image[\u0027tag\u0027] \u003d image_uuid, \u0027\u0027","commit_id":"83c20b55b2421551c93c1466b1d9ed6ead6f0fc4"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"e0b298f16aaacc01d8eeeadceae1d431072630f6","unresolved":false,"context_lines":[{"line_number":89,"context_line":"                    image[\u0027repo\u0027], image[\u0027tag\u0027] \u003d repo, tag"},{"line_number":90,"context_line":"                    return"},{"line_number":91,"context_line":"            image_uuid \u003d data[0][\u0027Config\u0027].split(\u0027.\u0027)[0]"},{"line_number":92,"context_line":"            image[\u0027repo\u0027], image[\u0027tag\u0027] \u003d image_uuid, \u0027\u0027"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"    def exec_resize(self, exec_id, height\u003dNone, width\u003dNone):"},{"line_number":95,"context_line":"        # NOTE(hongbin): This is a temporary work-around for a docker issue"}],"source_content_type":"text/x-python","patch_set":1,"id":"1f9dbf25_facb32a2","line":92,"range":{"start_line":92,"start_character":42,"end_line":92,"end_character":52},"updated":"2018-03-02 00:22:23.000000000","message":"In order to make this work, we need to change https://github.com/openstack/zun/blob/master/zun/container/docker/driver.py#L194 as following:\n\n  if image[\u0027tag\u0027]:\n      image_repo \u003d image[\u0027repo\u0027] + \":\" + image[\u0027tag\u0027]\n  else:\n      image_repo \u003d image[\u0027repo\u0027]\n\nAbove is for dealing with the extra \":\" at the end of the image ID.","commit_id":"83c20b55b2421551c93c1466b1d9ed6ead6f0fc4"}]}
