)]}'
{"nova/image/glance.py":[{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"5dfccb936544e24bca97362bf384c02c01a9ef68","unresolved":false,"context_lines":[{"line_number":688,"context_line":"        except glanceclient.exc.HTTPBadRequest as exc:"},{"line_number":689,"context_line":"            raise exception.ImageBadRequest(image_id\u003dimage_id,"},{"line_number":690,"context_line":"                                            response\u003dstr(exc))"},{"line_number":691,"context_line":""},{"line_number":692,"context_line":""},{"line_number":693,"context_line":"def _extract_query_params_v2(params):"},{"line_number":694,"context_line":"    _params \u003d {}"}],"source_content_type":"text/x-python","patch_set":2,"id":"ff570b3c_32c30f8d","line":691,"updated":"2020-06-09 07:18:18.000000000","message":"Is this need to \"return True\" if called successfully? That we can ensure copy image to store seccessful.","commit_id":"329fd62f93047e339e0809aaf16f60d5589fdf8f"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"3f6429770dbb60cf9d45d4e879aa24ba81a6ec72","unresolved":false,"context_lines":[{"line_number":688,"context_line":"        except glanceclient.exc.HTTPBadRequest as exc:"},{"line_number":689,"context_line":"            raise exception.ImageBadRequest(image_id\u003dimage_id,"},{"line_number":690,"context_line":"                                            response\u003dstr(exc))"},{"line_number":691,"context_line":""},{"line_number":692,"context_line":""},{"line_number":693,"context_line":"def _extract_query_params_v2(params):"},{"line_number":694,"context_line":"    _params \u003d {}"}],"source_content_type":"text/x-python","patch_set":2,"id":"ff570b3c_4acb5f49","line":691,"in_reply_to":"ff570b3c_32c30f8d","updated":"2020-06-09 14:45:11.000000000","message":"Well, this either returns or raises, so there\u0027s really no reason to return anything to indicate success. Also, this just \"requests\" the import, but it\u0027s async and takes a long time so returning True doesn\u0027t mean it\u0027s done yet. See how this is used in the next patch for more details.","commit_id":"329fd62f93047e339e0809aaf16f60d5589fdf8f"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"06d078094dfafc7647c63087881dcbc69a890f4f","unresolved":false,"context_lines":[{"line_number":1234,"context_line":"        \"\"\""},{"line_number":1235,"context_line":"        session, image_id \u003d self._get_session_and_image_id(context, image_id)"},{"line_number":1236,"context_line":"        return session.image_import_copy(context, image_id,"},{"line_number":1237,"context_line":"                                         method\u003d\u0027copy-image\u0027,"},{"line_number":1238,"context_line":"                                         stores\u003d[store])"}],"source_content_type":"text/x-python","patch_set":2,"id":"ff570b3c_c139dbcf","line":1237,"updated":"2020-06-12 14:13:01.000000000","message":"I don\u0027t see image_import_copy() taking a method kwargs.","commit_id":"329fd62f93047e339e0809aaf16f60d5589fdf8f"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"4440be9db7c202722f976572306f0f9f5c444ea9","unresolved":false,"context_lines":[{"line_number":1234,"context_line":"        \"\"\""},{"line_number":1235,"context_line":"        session, image_id \u003d self._get_session_and_image_id(context, image_id)"},{"line_number":1236,"context_line":"        return session.image_import_copy(context, image_id,"},{"line_number":1237,"context_line":"                                         method\u003d\u0027copy-image\u0027,"},{"line_number":1238,"context_line":"                                         stores\u003d[store])"}],"source_content_type":"text/x-python","patch_set":2,"id":"bf51134e_24ac778b","line":1237,"in_reply_to":"ff570b3c_c139dbcf","updated":"2020-06-15 14:12:21.000000000","message":"Guh, yeah, this was supposed to be removed as I cleaned things up for posting, and didn\u0027t. Well, that\u0027s why I\u0027m getting the devstack job setup..","commit_id":"329fd62f93047e339e0809aaf16f60d5589fdf8f"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"5a8baeed65291cad552ed8a699464c4e927e7137","unresolved":false,"context_lines":[{"line_number":669,"context_line":"        :raises: ImageNotFound if the image does not exist."},{"line_number":670,"context_line":"        :raises: ImageNotAuthorized if the user is not permitted to"},{"line_number":671,"context_line":"                 import/copy this image"},{"line_number":672,"context_line":"        :raises: ImageImportNotPossible if the image cannot be imported"},{"line_number":673,"context_line":"                 for workflow reasons (not active, etc)"},{"line_number":674,"context_line":"        :raises: ImageBadRequest if the image is already in the requested"},{"line_number":675,"context_line":"                 store (which may be a race)"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf51134e_a2db06eb","line":672,"range":{"start_line":672,"start_character":17,"end_line":672,"end_character":39},"updated":"2020-06-18 20:23:18.000000000","message":"ImageImportImpossible","commit_id":"fd33e88438a9d9c3d527d606229338d3647ba160"}],"nova/tests/unit/image/test_glance.py":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"06d078094dfafc7647c63087881dcbc69a890f4f","unresolved":false,"context_lines":[{"line_number":2143,"context_line":"                                    mock.sentinel.store)"},{"line_number":2144,"context_line":"        session.image_import_copy.assert_called_once_with("},{"line_number":2145,"context_line":"            mock.sentinel.ctx, mock.sentinel.image_id,"},{"line_number":2146,"context_line":"            method\u003d\u0027copy-image\u0027, stores\u003d[mock.sentinel.store])"}],"source_content_type":"text/x-python","patch_set":2,"id":"ff570b3c_61828f54","line":2146,"range":{"start_line":2146,"start_character":12,"end_line":2146,"end_character":31},"updated":"2020-06-12 14:13:01.000000000","message":"this is not part of the original signature of image_import_copy","commit_id":"329fd62f93047e339e0809aaf16f60d5589fdf8f"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"51cd2b452261b3aaf14378580779f2effb5c2902","unresolved":false,"context_lines":[{"line_number":2145,"context_line":"            mock.sentinel.ctx, mock.sentinel.image_id,"},{"line_number":2146,"context_line":"            [mock.sentinel.store])"},{"line_number":2147,"context_line":""},{"line_number":2148,"context_line":"    def test_api_to_client(self):"},{"line_number":2149,"context_line":"        # Test all the way down to the client to test the interface between"},{"line_number":2150,"context_line":"        # API and GlanceImageServiceV2"},{"line_number":2151,"context_line":"        wrapper \u003d mock.MagicMock()"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf51134e_8418e381","line":2148,"updated":"2020-06-15 14:34:17.000000000","message":"Gibi, I added this test to cover the interface seam you pointed out before. This at least makes sure the call stack from our interface through to what we actually call at the glance API is sound.","commit_id":"fd33e88438a9d9c3d527d606229338d3647ba160"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"da3963f53d88190a6c22636640ad272c6cc80383","unresolved":false,"context_lines":[{"line_number":2145,"context_line":"            mock.sentinel.ctx, mock.sentinel.image_id,"},{"line_number":2146,"context_line":"            [mock.sentinel.store])"},{"line_number":2147,"context_line":""},{"line_number":2148,"context_line":"    def test_api_to_client(self):"},{"line_number":2149,"context_line":"        # Test all the way down to the client to test the interface between"},{"line_number":2150,"context_line":"        # API and GlanceImageServiceV2"},{"line_number":2151,"context_line":"        wrapper \u003d mock.MagicMock()"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf51134e_cd34bf4d","line":2148,"in_reply_to":"bf51134e_8418e381","updated":"2020-06-15 15:43:05.000000000","message":"cool. thanks!","commit_id":"fd33e88438a9d9c3d527d606229338d3647ba160"}]}
