)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"d902d2162a6a406c15776f5499fc5b770a1ab85a","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When a volume is first created from an image, a new cached image-volume"},{"line_number":10,"context_line":"will be created that is owned by the Block Storage Internal Tenant when"},{"line_number":11,"context_line":"configuring image volume cache. And the  cached image-volume has"},{"line_number":12,"context_line":"admin metatada \"readonly\u003dTrue\".  But cinder does not deal with that"},{"line_number":13,"context_line":"metadata when cloning from cached image-volume. This patch remove"},{"line_number":14,"context_line":"\"readonly\u003dTrue\" when creating volume from image cache."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"ff0f0b1f_4f25715b","line":11,"range":{"start_line":11,"start_character":39,"end_line":11,"end_character":40},"updated":"2017-05-23 08:35:00.000000000","message":"Remove one blank space.","commit_id":"18eadea039251ebd24187c78bbb6c65b59ce671c"},{"author":{"_account_id":20146,"name":"yuyafei","email":"yu.yafei@foxmail.com","username":"yuyafei"},"change_message_id":"eaf791860daaeea48ac81af946e6d696c50b0eef","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When a volume is first created from an image, a new cached image-volume"},{"line_number":10,"context_line":"will be created that is owned by the Block Storage Internal Tenant when"},{"line_number":11,"context_line":"configuring image volume cache. And the  cached image-volume has"},{"line_number":12,"context_line":"admin metatada \"readonly\u003dTrue\".  But cinder does not deal with that"},{"line_number":13,"context_line":"metadata when cloning from cached image-volume. This patch remove"},{"line_number":14,"context_line":"\"readonly\u003dTrue\" when creating volume from image cache."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"ff0f0b1f_7a3d958d","line":11,"range":{"start_line":11,"start_character":39,"end_line":11,"end_character":40},"in_reply_to":"ff0f0b1f_4f25715b","updated":"2017-05-23 08:56:53.000000000","message":"Done","commit_id":"18eadea039251ebd24187c78bbb6c65b59ce671c"},{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"d902d2162a6a406c15776f5499fc5b770a1ab85a","unresolved":false,"context_lines":[{"line_number":10,"context_line":"will be created that is owned by the Block Storage Internal Tenant when"},{"line_number":11,"context_line":"configuring image volume cache. And the  cached image-volume has"},{"line_number":12,"context_line":"admin metatada \"readonly\u003dTrue\".  But cinder does not deal with that"},{"line_number":13,"context_line":"metadata when cloning from cached image-volume. This patch remove"},{"line_number":14,"context_line":"\"readonly\u003dTrue\" when creating volume from image cache."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: I9762789bf792274aafde06fb495e02a8777d298d"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"ff0f0b1f_ef1fa505","line":13,"range":{"start_line":13,"start_character":59,"end_line":13,"end_character":65},"updated":"2017-05-23 08:35:00.000000000","message":"removes","commit_id":"18eadea039251ebd24187c78bbb6c65b59ce671c"},{"author":{"_account_id":20146,"name":"yuyafei","email":"yu.yafei@foxmail.com","username":"yuyafei"},"change_message_id":"eaf791860daaeea48ac81af946e6d696c50b0eef","unresolved":false,"context_lines":[{"line_number":10,"context_line":"will be created that is owned by the Block Storage Internal Tenant when"},{"line_number":11,"context_line":"configuring image volume cache. And the  cached image-volume has"},{"line_number":12,"context_line":"admin metatada \"readonly\u003dTrue\".  But cinder does not deal with that"},{"line_number":13,"context_line":"metadata when cloning from cached image-volume. This patch remove"},{"line_number":14,"context_line":"\"readonly\u003dTrue\" when creating volume from image cache."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: I9762789bf792274aafde06fb495e02a8777d298d"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"ff0f0b1f_5a3e518b","line":13,"range":{"start_line":13,"start_character":59,"end_line":13,"end_character":65},"in_reply_to":"ff0f0b1f_ef1fa505","updated":"2017-05-23 08:56:53.000000000","message":"Done","commit_id":"18eadea039251ebd24187c78bbb6c65b59ce671c"}],"cinder/tests/unit/volume/flows/test_create_volume_flow.py":[{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"d902d2162a6a406c15776f5499fc5b770a1ab85a","unresolved":false,"context_lines":[{"line_number":1427,"context_line":""},{"line_number":1428,"context_line":"        # The volume should not get admin metadata \u0027readonly\u003dTrue\u0027"},{"line_number":1429,"context_line":"        # from the image-volume"},{"line_number":1430,"context_line":"        self.assertFalse("},{"line_number":1431,"context_line":"            model_update.get(\"admin_metadata\", {}).get(\"readonly\"))"},{"line_number":1432,"context_line":""},{"line_number":1433,"context_line":"        mock_handle_bootable.assert_called_once_with("},{"line_number":1434,"context_line":"            self.ctxt,"}],"source_content_type":"text/x-python","patch_set":3,"id":"ff0f0b1f_cf4ce1c9","line":1431,"range":{"start_line":1430,"start_character":7,"end_line":1431,"end_character":67},"updated":"2017-05-23 08:35:00.000000000","message":"How about using \u0027assertIn\u0027 here:\n\nself.assertEqual(\u0027readonly\u0027, model_update.get(\"admin_metadata\", {}))","commit_id":"18eadea039251ebd24187c78bbb6c65b59ce671c"},{"author":{"_account_id":20146,"name":"yuyafei","email":"yu.yafei@foxmail.com","username":"yuyafei"},"change_message_id":"eaf791860daaeea48ac81af946e6d696c50b0eef","unresolved":false,"context_lines":[{"line_number":1427,"context_line":""},{"line_number":1428,"context_line":"        # The volume should not get admin metadata \u0027readonly\u003dTrue\u0027"},{"line_number":1429,"context_line":"        # from the image-volume"},{"line_number":1430,"context_line":"        self.assertFalse("},{"line_number":1431,"context_line":"            model_update.get(\"admin_metadata\", {}).get(\"readonly\"))"},{"line_number":1432,"context_line":""},{"line_number":1433,"context_line":"        mock_handle_bootable.assert_called_once_with("},{"line_number":1434,"context_line":"            self.ctxt,"}],"source_content_type":"text/x-python","patch_set":3,"id":"ff0f0b1f_5a25315b","line":1431,"range":{"start_line":1430,"start_character":7,"end_line":1431,"end_character":67},"in_reply_to":"ff0f0b1f_cf4ce1c9","updated":"2017-05-23 08:56:53.000000000","message":"Done","commit_id":"18eadea039251ebd24187c78bbb6c65b59ce671c"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"8b1f7e9fb021ddf6b7c5a22a8069fa7508c0594a","unresolved":false,"context_lines":[{"line_number":1388,"context_line":"            mock_create_from_src, mock_handle_bootable, mock_fetch_img):"},{"line_number":1389,"context_line":"        self.mock_driver.clone_image.return_value \u003d (None, False)"},{"line_number":1390,"context_line":"        mock_create_from_src.return_value \u003d {"},{"line_number":1391,"context_line":"            \u0027admin_metadata\u0027: {\u0027readonly\u0027: \u0027True\u0027}}"},{"line_number":1392,"context_line":"        image_volume_id \u003d \u002770a599e0-31e7-49b7-b260-868f441e862b\u0027"},{"line_number":1393,"context_line":"        self.mock_cache.get_entry.return_value \u003d {"},{"line_number":1394,"context_line":"            \u0027volume_id\u0027: image_volume_id"},{"line_number":1395,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":6,"id":"df140735_81a0c791","line":1392,"range":{"start_line":1391,"start_character":51,"end_line":1392,"end_character":64},"updated":"2017-06-05 18:10:32.000000000","message":"You can use fake_constants.py instead of making up your own.","commit_id":"4fa1250ed7db4ec3a9772b27a248b5ce938f1efc"}]}
