)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"c825e1504a4c59d557947b69822b62401fcff04a","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Snapshot creation of a server using nova API fails"},{"line_number":10,"context_line":"if the image contains \"version\" as metadata property."},{"line_number":11,"context_line":"Image metadata is passed as an argument to _create_v2(nova/image/glance.py)"},{"line_number":12,"context_line":"which is then passed to call (nova/image/glance.py) as kwargs."},{"line_number":13,"context_line":"The function already takes in context, method, and version arguments"},{"line_number":14,"context_line":"so any of these metadata properties would cause the snapshot to fail."},{"line_number":15,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7f515b1d_f50bb48a","line":12,"range":{"start_line":12,"start_character":52,"end_line":12,"end_character":62},"updated":"2017-09-29 19:31:57.000000000","message":"Can you provide a unit test where the image meta has context/method/version property keys so we can guard against this in the future? Maybe the parameter names need to be prefixed with an underscore?","commit_id":"7db3a3f529be9837ad464d39bb37b8877912f8c2"},{"author":{"_account_id":27002,"name":"priyaduggirala","email":"priyaduggirala02@gmail.com","username":"PriyaDuggirala"},"change_message_id":"7627e0f1317952e461a5e311279a945c1902a839","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Snapshot creation of a server using nova API fails"},{"line_number":10,"context_line":"if the image contains \"version\" as metadata property."},{"line_number":11,"context_line":"Image metadata is passed as an argument to _create_v2(nova/image/glance.py)"},{"line_number":12,"context_line":"which is then passed to call (nova/image/glance.py) as kwargs."},{"line_number":13,"context_line":"The function already takes in context, method, and version arguments"},{"line_number":14,"context_line":"so any of these metadata properties would cause the snapshot to fail."},{"line_number":15,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7f515b1d_3f31d7ed","line":12,"range":{"start_line":12,"start_character":52,"end_line":12,"end_character":62},"in_reply_to":"7f515b1d_f50bb48a","updated":"2017-10-04 17:39:34.000000000","message":"Done","commit_id":"7db3a3f529be9837ad464d39bb37b8877912f8c2"}],"nova/image/glance.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"2167a40448ee4c191a107ebabb4539fe70127aa1","unresolved":false,"context_lines":[{"line_number":150,"context_line":"        self.api_server \u003d next(self.api_servers)"},{"line_number":151,"context_line":"        return _glanceclient_from_endpoint(context, self.api_server, version)"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"    def call(self, _context, _version, _method, *args, **kwargs):"},{"line_number":154,"context_line":"        \"\"\"Call a glance client method.  If we get a connection error,"},{"line_number":155,"context_line":"        retry the request according to CONF.glance.num_retries."},{"line_number":156,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":4,"id":"5f4e5783_594c9cc6","line":153,"range":{"start_line":153,"start_character":29,"end_line":153,"end_character":37},"updated":"2017-10-11 13:13:04.000000000","message":"I thought you were calling this \u0027client_version\u0027? Think your commit message needs an update","commit_id":"068999a189e8bcf38a807cc44836c9262b632612"}],"nova/tests/unit/image/test_glance.py":[{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"28202a21c3db64019945095b2da59fcd4db8d57c","unresolved":false,"context_lines":[{"line_number":410,"context_line":"        self.assertRaises(exception.GlanceConnectionFailed,"},{"line_number":411,"context_line":"                client.call, self.ctx, 1, \u0027get\u0027, \u0027meow\u0027)"},{"line_number":412,"context_line":"        self.assertFalse(sleep_mock.called)"},{"line_number":413,"context_line":"    "},{"line_number":414,"context_line":"    def assert_call_parameters(self, sleep_mock, client):"},{"line_number":415,"context_line":"        self.assertRaises(exception.GlanceConnectionFailed, client.call,"},{"line_number":416,"context_line":"                self.ctx, 1, \u0027get\u0027, version\u003d\u0027v1\u0027, method\u003d\u0027m1\u0027, context\u003d\u0027c1\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7f515b1d_3f9af76d","line":413,"updated":"2017-10-04 17:48:19.000000000","message":"nit extra whitespace","commit_id":"a50e723dc5335bafe36d360afc3963db5cd5b925"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"144764cb78b2c32d11d9680b9ce5cfb76ad1240f","unresolved":false,"context_lines":[{"line_number":414,"context_line":"    def assert_call_parameters(self, sleep_mock, client):"},{"line_number":415,"context_line":"        self.assertRaises(exception.GlanceConnectionFailed, client.call,"},{"line_number":416,"context_line":"                self.ctx, 1, \u0027get\u0027, version\u003d\u0027v1\u0027, method\u003d\u0027m1\u0027, context\u003d\u0027c1\u0027)"},{"line_number":417,"context_line":"        self.assertFalse(sleep_mock.called)"},{"line_number":418,"context_line":""},{"line_number":419,"context_line":"    @mock.patch(\u0027time.sleep\u0027)"},{"line_number":420,"context_line":"    @mock.patch(\u0027nova.image.glance._glanceclient_from_endpoint\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f4e5783_7a9e98b9","line":417,"updated":"2017-10-17 10:08:53.000000000","message":"Is this assert really necessary or just a copy-paste from the above assert function?","commit_id":"ee46e4734639213234f2465c7a634717ef02a8a9"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"144764cb78b2c32d11d9680b9ce5cfb76ad1240f","unresolved":false,"context_lines":[{"line_number":424,"context_line":"        self._mock_client_images_response(create_client_mock, side_effect)"},{"line_number":425,"context_line":"        self.flags(num_retries\u003d0, group\u003d\u0027glance\u0027)"},{"line_number":426,"context_line":"        client \u003d self._get_static_client(create_client_mock)"},{"line_number":427,"context_line":"        self.assert_call_parameters(sleep_mock, client)"},{"line_number":428,"context_line":""},{"line_number":429,"context_line":"    @mock.patch(\u0027time.sleep\u0027)"},{"line_number":430,"context_line":"    @mock.patch(\u0027nova.image.glance._glanceclient_from_endpoint\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f4e5783_5a3d1c8d","line":427,"updated":"2017-10-17 10:08:53.000000000","message":"I think it would be better to have a test that asserts that both the renamed positional variables and special kwargs are used / passed down the call chain properly.","commit_id":"ee46e4734639213234f2465c7a634717ef02a8a9"},{"author":{"_account_id":27002,"name":"priyaduggirala","email":"priyaduggirala02@gmail.com","username":"PriyaDuggirala"},"change_message_id":"0127645d255d01ddb52e06aa09d6501b490526be","unresolved":false,"context_lines":[{"line_number":424,"context_line":"        self._mock_client_images_response(create_client_mock, side_effect)"},{"line_number":425,"context_line":"        self.flags(num_retries\u003d0, group\u003d\u0027glance\u0027)"},{"line_number":426,"context_line":"        client \u003d self._get_static_client(create_client_mock)"},{"line_number":427,"context_line":"        self.assert_call_parameters(sleep_mock, client)"},{"line_number":428,"context_line":""},{"line_number":429,"context_line":"    @mock.patch(\u0027time.sleep\u0027)"},{"line_number":430,"context_line":"    @mock.patch(\u0027nova.image.glance._glanceclient_from_endpoint\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"3f4b6375_429225a0","line":427,"in_reply_to":"5f4e5783_5a3d1c8d","updated":"2017-10-23 15:47:52.000000000","message":"Done","commit_id":"ee46e4734639213234f2465c7a634717ef02a8a9"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"7fa6927114d41150a154e159342e4b9e2049bf7a","unresolved":false,"context_lines":[{"line_number":422,"context_line":""},{"line_number":423,"context_line":"    @mock.patch(\u0027nova.image.glance._glanceclient_from_endpoint\u0027)"},{"line_number":424,"context_line":"    def test_glanceclient_call(self, create_client_mock):"},{"line_number":425,"context_line":"        side_effect \u003d None"},{"line_number":426,"context_line":"        self._mock_client_images_response(create_client_mock, side_effect)"},{"line_number":427,"context_line":"        client \u003d self._get_static_client(create_client_mock)"},{"line_number":428,"context_line":"        self.assert_call_parameters(client)"},{"line_number":429,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"3f4b6375_2aeb7013","line":426,"range":{"start_line":425,"start_character":8,"end_line":426,"end_character":74},"updated":"2017-10-24 07:04:24.000000000","message":"those 2 lines are useless I guess","commit_id":"a31311cef2a78481949c9dc513b5e14103f93c4f"},{"author":{"_account_id":27002,"name":"priyaduggirala","email":"priyaduggirala02@gmail.com","username":"PriyaDuggirala"},"change_message_id":"92ec4ceb86acdf55e051d0743b58d5400a951acb","unresolved":false,"context_lines":[{"line_number":422,"context_line":""},{"line_number":423,"context_line":"    @mock.patch(\u0027nova.image.glance._glanceclient_from_endpoint\u0027)"},{"line_number":424,"context_line":"    def test_glanceclient_call(self, create_client_mock):"},{"line_number":425,"context_line":"        side_effect \u003d None"},{"line_number":426,"context_line":"        self._mock_client_images_response(create_client_mock, side_effect)"},{"line_number":427,"context_line":"        client \u003d self._get_static_client(create_client_mock)"},{"line_number":428,"context_line":"        self.assert_call_parameters(client)"},{"line_number":429,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"3f4b6375_7b1a516f","line":426,"range":{"start_line":425,"start_character":8,"end_line":426,"end_character":74},"in_reply_to":"3f4b6375_2aeb7013","updated":"2017-10-24 13:00:13.000000000","message":"Yes,removed them.","commit_id":"a31311cef2a78481949c9dc513b5e14103f93c4f"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"ddd7afab8303c781796212950cebf32ad1a47cc8","unresolved":false,"context_lines":[{"line_number":415,"context_line":"        # Check for correct arguments"},{"line_number":416,"context_line":"        result \u003d client.call(self.ctx, 1, \u0027get\u0027, \u0027meow\u0027,"},{"line_number":417,"context_line":"                             version\u003d\u0027v1\u0027, method\u003d\u0027m1\u0027, context\u003d\u0027c1\u0027)"},{"line_number":418,"context_line":"        self.assertTrue(result)"},{"line_number":419,"context_line":"        # Check for TypeError"},{"line_number":420,"context_line":"        self.assertRaises(TypeError, client.call, self.ctx, 1, \u0027get\u0027,"},{"line_number":421,"context_line":"                          \u0027meow\u0027, _version\u003d\u0027v1\u0027, _method\u003d\u0027m1\u0027, _context\u003d\u0027c1\u0027)"}],"source_content_type":"text/x-python","patch_set":10,"id":"3f4b6375_e9a5aa48","line":418,"updated":"2017-10-31 12:52:03.000000000","message":"You should check that _create_onetime_client() called [1] with the proper parameters. Also that the get method of the controller (returned by the _create_onetime_client) is called with proper params too [2].\n\n[1] https://review.openstack.org/#/c/508533/10/nova/image/glance.py@L166\n[2] https://review.openstack.org/#/c/508533/10/nova/image/glance.py@L171","commit_id":"54b13ba0f4d5b704cafc9a902050bc9f94cd8c18"}]}
