)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"change_message_id":"c8cf68d278bb007ffff2e6a8359a69b01e54a210","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"ae582178_040b12ad","updated":"2026-08-22 14:11:07.000000000","message":"https://review.openstack.org/#/c/448967/","commit_id":"5599b6ba69b75869629a1602f3ff8368baee2c11"}],"zun/api/controllers/v1/images.py":[{"author":{"_account_id":10206,"name":"Madhuri Kumari","email":"madhuri.kumari@intel.com","username":"Madhuri"},"change_message_id":"e4511015dffa2bf8141e1f807afdd4660de93294","unresolved":false,"context_lines":[{"line_number":95,"context_line":"    @exception.wrap_pecan_controller_exception"},{"line_number":96,"context_line":"    @validation.validate_query_param(pecan.request, schema.query_param_search)"},{"line_number":97,"context_line":"    @validation.validated(schema.image_create)"},{"line_number":98,"context_line":"    def post(self, image_driver\u003dNone, exact_match\u003dFalse, **image_dict):"},{"line_number":99,"context_line":"        \"\"\"Create a new image."},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"        :param image: an image within the request body."}],"source_content_type":"text/x-python","patch_set":4,"id":"fa31d9ce_d68b011d","line":98,"range":{"start_line":98,"start_character":38,"end_line":98,"end_character":49},"updated":"2017-02-16 13:55:51.000000000","message":"This param is wrong here. It only applies to the \u0027search\u0027 API.","commit_id":"80a4a3b73489e628d71908de668be8518865f4da"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"bf3028579496ed2d5a68c499a4896431c8b8be94","unresolved":false,"context_lines":[{"line_number":119,"context_line":"        image_dict[\u0027user_id\u0027] \u003d context.user_id"},{"line_number":120,"context_line":"        repo_tag \u003d image_dict.get(\u0027repo\u0027)"},{"line_number":121,"context_line":"        images \u003d compute_api.image_search(context, repo_tag,"},{"line_number":122,"context_line":"                                          image_driver, exact_match)"},{"line_number":123,"context_line":"        if not images:"},{"line_number":124,"context_line":"            raise exception.ImageNotFound(image\u003drepo_tag)"},{"line_number":125,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"da36d5c6_436c1135","line":122,"range":{"start_line":122,"start_character":42,"end_line":122,"end_character":54},"updated":"2017-02-23 19:42:30.000000000","message":"It seems it is better to pass down \u0027image_driver\u0027 on image_pull (line #130). Like:\n\n  pecan.request.compute_api.image_pull(context, new_image, image_driver)","commit_id":"6f44770634a13d79d368420368cd3f269b8ef4be"},{"author":{"_account_id":8264,"name":"Shunli Zhou","username":"ShunliZhou"},"change_message_id":"f26a3bf8edf9107e3fddd7f396f851a6ed0253be","unresolved":false,"context_lines":[{"line_number":103,"context_line":"        context \u003d pecan.request.context"},{"line_number":104,"context_line":"        exact_match \u003d False"},{"line_number":105,"context_line":"        try:"},{"line_number":106,"context_line":"            exact_match \u003d strutils.bool_from_string(exact_match, strict\u003dTrue)"},{"line_number":107,"context_line":"        except ValueError:"},{"line_number":108,"context_line":"            msg \u003d _(\"Valid exact_match values are true,\""},{"line_number":109,"context_line":"                    \" false, 0, 1, yes and no\")"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a30ddce_75abf8d6","line":106,"range":{"start_line":106,"start_character":52,"end_line":106,"end_character":63},"updated":"2017-03-08 01:11:24.000000000","message":"Seems this exact_match is same as the L104 exact_match, is there something missing?","commit_id":"5599b6ba69b75869629a1602f3ff8368baee2c11"}],"zun/compute/manager.py":[{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"bf3028579496ed2d5a68c499a4896431c8b8be94","unresolved":false,"context_lines":[{"line_number":360,"context_line":"    def _do_image_pull(self, context, image):"},{"line_number":361,"context_line":"        LOG.debug(\u0027Creating image...\u0027)"},{"line_number":362,"context_line":"        repo_tag \u003d image.repo + \":\" + image.tag"},{"line_number":363,"context_line":"        image_driver \u003d CONF.image_driver"},{"line_number":364,"context_line":"        image_pull_policy \u003d CONF.image_pull_policy"},{"line_number":365,"context_line":"        try:"},{"line_number":366,"context_line":"            pulled_image \u003d image_driver.pull_image(context, image.repo,"}],"source_content_type":"text/x-python","patch_set":5,"id":"da36d5c6_c3a721bb","line":363,"range":{"start_line":363,"start_character":28,"end_line":363,"end_character":40},"updated":"2017-02-23 19:42:30.000000000","message":"I think it is better to rename this to \u0027default_image_driver\u0027. In addition, we should use this config if end-user doesn\u0027t explicitly specify an image_driver.","commit_id":"6f44770634a13d79d368420368cd3f269b8ef4be"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"bf3028579496ed2d5a68c499a4896431c8b8be94","unresolved":false,"context_lines":[{"line_number":361,"context_line":"        LOG.debug(\u0027Creating image...\u0027)"},{"line_number":362,"context_line":"        repo_tag \u003d image.repo + \":\" + image.tag"},{"line_number":363,"context_line":"        image_driver \u003d CONF.image_driver"},{"line_number":364,"context_line":"        image_pull_policy \u003d CONF.image_pull_policy"},{"line_number":365,"context_line":"        try:"},{"line_number":366,"context_line":"            pulled_image \u003d image_driver.pull_image(context, image.repo,"},{"line_number":367,"context_line":"                                                   image.tag,"}],"source_content_type":"text/x-python","patch_set":5,"id":"da36d5c6_03ae9997","line":364,"range":{"start_line":364,"start_character":33,"end_line":364,"end_character":50},"updated":"2017-02-23 19:42:30.000000000","message":"Ditto, it is better to rename this to \u0027default_pull_policy\u0027","commit_id":"6f44770634a13d79d368420368cd3f269b8ef4be"}],"zun/image/driver.py":[{"author":{"_account_id":16277,"name":"Pradeep Kumar Singh","email":"ps4openstack@gmail.com","username":"pradeep_singh"},"change_message_id":"cf1f995fd778dd3e00768e4fcd62941b812b6a85","unresolved":false,"context_lines":[{"line_number":61,"context_line":""},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"def pull_image(context, repo, tag,"},{"line_number":64,"context_line":"               image_pull_policy\u003d\u0027ifnotpresent\u0027, image_driver\u003dNone):"},{"line_number":65,"context_line":"    if image_driver:"},{"line_number":66,"context_line":"        image_driver_list \u003d [image_driver.lower()]"},{"line_number":67,"context_line":"    else:"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa31d9ce_ac47194a","line":64,"range":{"start_line":64,"start_character":15,"end_line":64,"end_character":67},"updated":"2017-02-16 15:22:28.000000000","message":"instead of putting it here why don\u0027t we pass the correct parameter in manager.py?","commit_id":"80a4a3b73489e628d71908de668be8518865f4da"}]}
