)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":14377,"name":"Apoorva","email":"apps.desh@gmail.com","username":"apoorvad"},"change_message_id":"2cae720ab91bae98815b5e7e6ad0850794802dcb","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     wanghao \u003cwanghao749@huawei.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-08-03 16:41:53 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Forbid creating volume from image which size is 0"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Now in cinder, creation volume from image which size is 0 will be"},{"line_number":10,"context_line":"successful, but this kind of volume is useless since there is no"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"1a4dcd0f_e831c3ed","line":7,"updated":"2015-08-04 05:10:16.000000000","message":"When an instance with attached volumes is snapshot\u0027ed, then as a result of that snapshot operation a Glance image is created and volume snapshots are created. This Glance image has size 0 ( This Glance image has pointers to associated volume snapshots ). \n\nOne can successfully boot from this image. \n\nI think your patch will block that.","commit_id":"5aebbe62602955c5beaf58cf41a57cb910adb5cd"},{"author":{"_account_id":14377,"name":"Apoorva","email":"apps.desh@gmail.com","username":"apoorvad"},"change_message_id":"63583a67f2226fb996dcfc560c801efc1503029a","unresolved":false,"context_lines":[{"line_number":10,"context_line":"successful, but this kind of volume is useless since there is no"},{"line_number":11,"context_line":"image data in it. So this patch will forbid creating this volume"},{"line_number":12,"context_line":"when image\u0027s size is 0."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: Id4cf0bfd0da9be79e0a2f3f2284ce8027ade93c7"},{"line_number":15,"context_line":"Closes-Bug: #1479613"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"1a4dcd0f_022aac2c","line":13,"updated":"2015-08-04 14:49:22.000000000","message":"This should be APIImpact","commit_id":"8beb784d5064836902823f1194226c60c9cfd917"},{"author":{"_account_id":16883,"name":"huyang","email":"huyang1@huawei.com","username":"huyang"},"change_message_id":"34e6f1e0feafb73b0515fd684a55473a979dfa6d","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Forbid creating volume from image which size is 0"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Now in cinder, creation volume from image which size is 0 will be"},{"line_number":10,"context_line":"successful, but this kind of volume is useless since there is no"},{"line_number":11,"context_line":"image data in it. So this patch will forbid creating this volume"},{"line_number":12,"context_line":"when image\u0027s size is 0."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"1a4dcd0f_8cb56fef","line":9,"updated":"2015-08-05 05:06:51.000000000","message":"suggest s/creation/creating","commit_id":"3b6dbe8305157ecc14d85e70681782384c5f3854"}],"cinder/tests/unit/volume/flows/test_create_volume_flow.py":[{"author":{"_account_id":170,"name":"Mike Perez","email":"thingee@gmail.com","username":"thingee"},"change_message_id":"f3d5af55e38a70fae50da4a6024fe12e94be82a2","unresolved":false,"context_lines":[{"line_number":83,"context_line":"        task._cast_create_volume(self.ctxt, spec, props)"},{"line_number":84,"context_line":"        consistencygroup_get_by_id.assert_called_once_with(self.ctxt, 5)"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"    def test_check_image_metadata(self):"},{"line_number":87,"context_line":"        task \u003d create_volume.ExtractVolumeRequestTask("},{"line_number":88,"context_line":"            fake_volume_api.Fake_image_service(0, \u0027active\u0027),"},{"line_number":89,"context_line":"            [\u0027nova\u0027], rebind\u003d{\u0027size\u0027: \u0027raw_size\u0027,"}],"source_content_type":"text/x-python","patch_set":8,"id":"1a4dcd0f_009a836e","line":86,"updated":"2015-08-17 05:13:20.000000000","message":"If you upload another patch, please change the test name to something more obvious like:\n\ntest_check_image_size_zero_failure","commit_id":"2c660ecd691531e79167d8a6c01d6c53079d76c1"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"7c2b7f0227f8b877770a01d1ffc69c9ffe044b8d","unresolved":false,"context_lines":[{"line_number":83,"context_line":"        task._cast_create_volume(self.ctxt, spec, props)"},{"line_number":84,"context_line":"        consistencygroup_get_by_id.assert_called_once_with(self.ctxt, 5)"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"    def test_check_image_metadata(self):"},{"line_number":87,"context_line":"        task \u003d create_volume.ExtractVolumeRequestTask("},{"line_number":88,"context_line":"            fake_volume_api.Fake_image_service(0, \u0027active\u0027),"},{"line_number":89,"context_line":"            [\u0027nova\u0027], rebind\u003d{\u0027size\u0027: \u0027raw_size\u0027,"}],"source_content_type":"text/x-python","patch_set":8,"id":"1a4dcd0f_56561107","line":86,"in_reply_to":"1a4dcd0f_009a836e","updated":"2015-08-17 07:41:01.000000000","message":"Sure","commit_id":"2c660ecd691531e79167d8a6c01d6c53079d76c1"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"17269661373312bcb93c61e84f0c799277a62632","unresolved":false,"context_lines":[{"line_number":182,"context_line":"        image_meta \u003d {}"},{"line_number":183,"context_line":"        image_meta[\u0027id\u0027] \u003d image_id"},{"line_number":184,"context_line":"        image_meta[\u0027status\u0027] \u003d \u0027active\u0027"},{"line_number":185,"context_line":"        image_meta[\u0027size\u0027] \u003d 1"},{"line_number":186,"context_line":"        fake_image_service.create(self.ctxt, image_meta)"},{"line_number":187,"context_line":"        task \u003d create_volume.ExtractVolumeRequestTask(fake_image_service,"},{"line_number":188,"context_line":"                                                      [\u0027nova\u0027])"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa1b9901_e7947e38","line":185,"updated":"2015-08-18 08:11:15.000000000","message":"Here the size of image is set to 1. \nhttps://github.com/openstack/cinder/blob/master/cinder/volume/flows/api/create_volume.py#L208\n\n        image_size \u003d utils.as_int(image_meta[\u0027size\u0027], quiet\u003dFalse)\n        image_size_in_gb \u003d (image_size + GB - 1) / GB\n\nAs a result, image_size_in_gb \u003d 1. \nSo it is not zero. \n\nI think the InvalidInput is caused by other inputs.\nAm I wrong?","commit_id":"5248c2831d54c8bf899b90fe79a17dacb2d91d74"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"400e8a25d049ccf706e5c40c2f7994cd78abf779","unresolved":false,"context_lines":[{"line_number":182,"context_line":"        image_meta \u003d {}"},{"line_number":183,"context_line":"        image_meta[\u0027id\u0027] \u003d image_id"},{"line_number":184,"context_line":"        image_meta[\u0027status\u0027] \u003d \u0027active\u0027"},{"line_number":185,"context_line":"        image_meta[\u0027size\u0027] \u003d 1"},{"line_number":186,"context_line":"        fake_image_service.create(self.ctxt, image_meta)"},{"line_number":187,"context_line":"        task \u003d create_volume.ExtractVolumeRequestTask(fake_image_service,"},{"line_number":188,"context_line":"                                                      [\u0027nova\u0027])"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa1b9901_2cbc2b05","line":185,"in_reply_to":"fa1b9901_e7947e38","updated":"2015-08-20 05:47:30.000000000","message":"Ops! Thanks Lisa. I will update it.","commit_id":"5248c2831d54c8bf899b90fe79a17dacb2d91d74"}],"cinder/volume/flows/api/create_volume.py":[{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"2e7cad4a2ca0556b52c8951fbea08954fff1519a","unresolved":false,"context_lines":[{"line_number":214,"context_line":"            raise exception.InvalidInput(reason\u003dmsg)"},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"        if image_size_in_gb \u003d\u003d 0:"},{"line_number":217,"context_line":"            msg \u003d _(\u0027Size of specified image %(image_size)sGB\u0027"},{"line_number":218,"context_line":"                    \u0027 is zero.\u0027) % {\u0027image_size\u0027: image_size_in_gb}"},{"line_number":219,"context_line":"            raise exception.InvalidInput(reason\u003dmsg)"},{"line_number":220,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3a50d1a3_9a55b3fb","line":217,"updated":"2015-07-31 13:17:47.000000000","message":"This is not a helpful message.  You are just printing 0 is zero.  Can you print the image name instead please?  Thanks.","commit_id":"075e91778090d01d4cbda6569af14eb44ecd2978"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"0f2be645f70d50b391589e07ac5bf9eae0707fdd","unresolved":false,"context_lines":[{"line_number":214,"context_line":"            raise exception.InvalidInput(reason\u003dmsg)"},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"        if image_size_in_gb \u003d\u003d 0:"},{"line_number":217,"context_line":"            msg \u003d _(\u0027Size of specified image %(image_size)sGB\u0027"},{"line_number":218,"context_line":"                    \u0027 is zero.\u0027) % {\u0027image_size\u0027: image_size_in_gb}"},{"line_number":219,"context_line":"            raise exception.InvalidInput(reason\u003dmsg)"},{"line_number":220,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3a50d1a3_671c9266","line":217,"in_reply_to":"3a50d1a3_9a55b3fb","updated":"2015-08-04 04:14:02.000000000","message":"Oops, make mistake here. Thanks.","commit_id":"075e91778090d01d4cbda6569af14eb44ecd2978"},{"author":{"_account_id":17718,"name":"Lallana","email":"gaozhiqiang2@huawei.com","username":"Lallana"},"change_message_id":"58d946bc78e31825c45dbc91d8363219a99977cd","unresolved":false,"context_lines":[{"line_number":151,"context_line":""},{"line_number":152,"context_line":"        def validate_source_size(size):"},{"line_number":153,"context_line":"            if source_volume and size \u003c source_volume[\u0027size\u0027]:"},{"line_number":154,"context_line":"                msg \u003d _(\"Volume size \u0027%(size)s\u0027GB cannot be smaller than \""},{"line_number":155,"context_line":"                        \"original volume size  %(source_size)sGB. \""},{"line_number":156,"context_line":"                        \"They must be \u003e\u003d original volume size.\")"},{"line_number":157,"context_line":"                msg \u003d msg % {\u0027size\u0027: size,"}],"source_content_type":"text/x-python","patch_set":16,"id":"da20952f_d3271ec8","line":154,"updated":"2015-09-07 03:18:31.000000000","message":"Perhaps it should have only 1 space between sentences.","commit_id":"f72d18f59ef72e242722bed066efb8b5f48cea3f"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"996a91b203adaf7a967a9ef3422890d7e7a59e6c","unresolved":false,"context_lines":[{"line_number":151,"context_line":""},{"line_number":152,"context_line":"        def validate_source_size(size):"},{"line_number":153,"context_line":"            if source_volume and size \u003c source_volume[\u0027size\u0027]:"},{"line_number":154,"context_line":"                msg \u003d _(\"Volume size \u0027%(size)s\u0027GB cannot be smaller than \""},{"line_number":155,"context_line":"                        \"original volume size  %(source_size)sGB. \""},{"line_number":156,"context_line":"                        \"They must be \u003e\u003d original volume size.\")"},{"line_number":157,"context_line":"                msg \u003d msg % {\u0027size\u0027: size,"}],"source_content_type":"text/x-python","patch_set":16,"id":"da20952f_6ed50541","line":154,"in_reply_to":"da20952f_d3271ec8","updated":"2015-09-07 03:40:29.000000000","message":"I feel there is fine:)  Should have a space between \"than\" and \"original\".","commit_id":"f72d18f59ef72e242722bed066efb8b5f48cea3f"}]}
