)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"80988d1afac9ffae0e518fbde959fa2fc29f07d6","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"ZFSSA cache luns are too small when images are precisely X Gi"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Fix cache lun creation when images are close to X Gigabytes."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: Iaae0c370d880e42eda4068e24e47662b55e05aaf"},{"line_number":12,"context_line":"Closes-Bug: 1647055"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"ba2be162_23b44f33","line":9,"range":{"start_line":9,"start_character":48,"end_line":9,"end_character":60},"updated":"2017-03-05 16:34:12.000000000","message":"Can you please add some of the detail about how you resolve that problem here?\n\nThanks!","commit_id":"b266a003ebf77fb6b6d867feda0349c4c897d163"},{"author":{"_account_id":11509,"name":"Juan Zuluaga","email":"juan.c.zuluaga@oracle.com","username":"juzuluag"},"change_message_id":"edc9f33c11a488f1917c5f5ffb1a871f30286a47","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"ZFSSA cache luns are too small when images are precisely X Gi"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Fix cache lun creation when images are close to X Gigabytes."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: Iaae0c370d880e42eda4068e24e47662b55e05aaf"},{"line_number":12,"context_line":"Closes-Bug: 1647055"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"ba2be162_2b9b4119","line":9,"range":{"start_line":9,"start_character":48,"end_line":9,"end_character":60},"in_reply_to":"ba2be162_23b44f33","updated":"2017-03-06 04:22:59.000000000","message":"Jay, patch #5 contains updated comment. thanks","commit_id":"b266a003ebf77fb6b6d867feda0349c4c897d163"}],"cinder/tests/unit/volume/drivers/test_zfssa.py":[{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"80988d1afac9ffae0e518fbde959fa2fc29f07d6","unresolved":false,"context_lines":[{"line_number":565,"context_line":"                                              large_img,"},{"line_number":566,"context_line":"                                              img_service))"},{"line_number":567,"context_line":""},{"line_number":568,"context_line":"        # Creating a volume equal as image:"},{"line_number":569,"context_line":"        eq_img \u003d large_img.copy()"},{"line_number":570,"context_line":"        eq_img[\u0027virtual_size\u0027] \u003d self.test_vol[\u0027size\u0027] * units.Gi"},{"line_number":571,"context_line":"        _info.return_value \u003d ImgInfo(eq_img[\u0027virtual_size\u0027])"},{"line_number":572,"context_line":"        self.assertEqual((None, False),"},{"line_number":573,"context_line":"                         self.drv.clone_image(fakecontext, self.test_vol,"},{"line_number":574,"context_line":"                                              img_location,"},{"line_number":575,"context_line":"                                              eq_img,"},{"line_number":576,"context_line":"                                              img_service))"},{"line_number":577,"context_line":""},{"line_number":578,"context_line":"        # Exception raised in _verify_cache_image"},{"line_number":579,"context_line":"        _info.return_value \u003d ImgInfo(small_img[\u0027virtual_size\u0027])"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba2be162_e3add7e9","line":576,"range":{"start_line":568,"start_character":0,"end_line":576,"end_character":59},"updated":"2017-03-05 16:34:12.000000000","message":"Don\u0027t you need to also test the case where the cache size is incremented by 1?","commit_id":"b266a003ebf77fb6b6d867feda0349c4c897d163"},{"author":{"_account_id":11509,"name":"Juan Zuluaga","email":"juan.c.zuluaga@oracle.com","username":"juzuluag"},"change_message_id":"edc9f33c11a488f1917c5f5ffb1a871f30286a47","unresolved":false,"context_lines":[{"line_number":565,"context_line":"                                              large_img,"},{"line_number":566,"context_line":"                                              img_service))"},{"line_number":567,"context_line":""},{"line_number":568,"context_line":"        # Creating a volume equal as image:"},{"line_number":569,"context_line":"        eq_img \u003d large_img.copy()"},{"line_number":570,"context_line":"        eq_img[\u0027virtual_size\u0027] \u003d self.test_vol[\u0027size\u0027] * units.Gi"},{"line_number":571,"context_line":"        _info.return_value \u003d ImgInfo(eq_img[\u0027virtual_size\u0027])"},{"line_number":572,"context_line":"        self.assertEqual((None, False),"},{"line_number":573,"context_line":"                         self.drv.clone_image(fakecontext, self.test_vol,"},{"line_number":574,"context_line":"                                              img_location,"},{"line_number":575,"context_line":"                                              eq_img,"},{"line_number":576,"context_line":"                                              img_service))"},{"line_number":577,"context_line":""},{"line_number":578,"context_line":"        # Exception raised in _verify_cache_image"},{"line_number":579,"context_line":"        _info.return_value \u003d ImgInfo(small_img[\u0027virtual_size\u0027])"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba2be162_6ba1b945","line":576,"range":{"start_line":568,"start_character":0,"end_line":576,"end_character":59},"in_reply_to":"ba2be162_e3add7e9","updated":"2017-03-06 04:22:59.000000000","message":"Added a new test to show when the size is incremented by 1. Thanks","commit_id":"b266a003ebf77fb6b6d867feda0349c4c897d163"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"07c74aface6b59239f913ca57ff97b476862d079","unresolved":false,"context_lines":[{"line_number":565,"context_line":"                                              large_img,"},{"line_number":566,"context_line":"                                              img_service))"},{"line_number":567,"context_line":""},{"line_number":568,"context_line":"        # Creating a volume equal as image:"},{"line_number":569,"context_line":"        eq_img \u003d large_img.copy()"},{"line_number":570,"context_line":"        eq_img[\u0027virtual_size\u0027] \u003d self.test_vol[\u0027size\u0027] * units.Gi"},{"line_number":571,"context_line":"        _info.return_value \u003d ImgInfo(eq_img[\u0027virtual_size\u0027])"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba2be162_6f9e0265","line":568,"updated":"2017-03-06 18:45:23.000000000","message":"Looks like it\u0027s a time to use ddt library for this test","commit_id":"72d7da5be815096f2875a677d3d527f0c546a527"}],"cinder/volume/drivers/zfssa/zfssaiscsi.py":[{"author":{"_account_id":13059,"name":"Kedar Vidvans","email":"kedar.vidvans@oracle.com","username":"kedar-vidvans"},"change_message_id":"8289e373fde12e63c35edbfe8890505bbb17c664","unresolved":false,"context_lines":[{"line_number":546,"context_line":"                                               context,"},{"line_number":547,"context_line":"                                               image_meta[\u0027id\u0027]) as tmp_image:"},{"line_number":548,"context_line":"            info \u003d image_utils.qemu_img_info(tmp_image)"},{"line_number":549,"context_line":"            cachevol_size \u003d int(float(info.virtual_size) / units.Gi) + 1"},{"line_number":550,"context_line":""},{"line_number":551,"context_line":"        if cachevol_size \u003e volume[\u0027size\u0027]:"},{"line_number":552,"context_line":"            exception_msg \u003d (_LE(\u0027Image size %(img_size)dGB is larger \u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a71b18c_31e91ee7","line":549,"updated":"2016-12-05 17:07:51.000000000","message":"The problem with this solution is that the user will get back a lun of size 1G greater than the size requested. \nThe solution is to put this as a check and make the user to specify a size 1G greater than the virtual_size of the image so that the user is not blindsided.","commit_id":"62af38c60a543999cb9a66036c0d5779848407f9"},{"author":{"_account_id":11509,"name":"Juan Zuluaga","email":"juan.c.zuluaga@oracle.com","username":"juzuluag"},"change_message_id":"f43de7b6af627bb50ee234650b2001b1eb4d25c2","unresolved":false,"context_lines":[{"line_number":546,"context_line":"                                               context,"},{"line_number":547,"context_line":"                                               image_meta[\u0027id\u0027]) as tmp_image:"},{"line_number":548,"context_line":"            info \u003d image_utils.qemu_img_info(tmp_image)"},{"line_number":549,"context_line":"            cachevol_size \u003d int(float(info.virtual_size) / units.Gi) + 1"},{"line_number":550,"context_line":""},{"line_number":551,"context_line":"        if cachevol_size \u003e volume[\u0027size\u0027]:"},{"line_number":552,"context_line":"            exception_msg \u003d (_LE(\u0027Image size %(img_size)dGB is larger \u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a71b18c_63473e77","line":549,"in_reply_to":"3a71b18c_31e91ee7","updated":"2016-12-06 01:28:54.000000000","message":"Totally agree with this approach. I\u0027ll fix in the next patch set.","commit_id":"62af38c60a543999cb9a66036c0d5779848407f9"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"4cf9476dea81a7e9a297948f27c32d62114f30a3","unresolved":false,"context_lines":[{"line_number":548,"context_line":"            info \u003d image_utils.qemu_img_info(tmp_image)"},{"line_number":549,"context_line":"            cachevol_size \u003d int(math.ceil(float(info.virtual_size) / units.Gi))"},{"line_number":550,"context_line":""},{"line_number":551,"context_line":"        if cachevol_size + 1 \u003e volume[\u0027size\u0027]:"},{"line_number":552,"context_line":"            exception_msg \u003d (_LE(\u0027Image size %(img_size)dGB is larger \u0027"},{"line_number":553,"context_line":"                                 \u0027than volume size %(vol_size)dGB.\u0027),"},{"line_number":554,"context_line":"                             {\u0027img_size\u0027: cachevol_size + 1,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a71b18c_8f48a6ce","line":551,"updated":"2016-12-07 15:51:30.000000000","message":"Please, add a note why do we need \u0027+1\u0027 here. Also, it would be good to add unit tests for this fix","commit_id":"352c7097ed11408d290559c60bd3c5dc09b319d4"},{"author":{"_account_id":11509,"name":"Juan Zuluaga","email":"juan.c.zuluaga@oracle.com","username":"juzuluag"},"change_message_id":"231efb8c8bed53815491ac41f899092e5d193562","unresolved":false,"context_lines":[{"line_number":548,"context_line":"            info \u003d image_utils.qemu_img_info(tmp_image)"},{"line_number":549,"context_line":"            cachevol_size \u003d int(math.ceil(float(info.virtual_size) / units.Gi))"},{"line_number":550,"context_line":""},{"line_number":551,"context_line":"        if cachevol_size + 1 \u003e volume[\u0027size\u0027]:"},{"line_number":552,"context_line":"            exception_msg \u003d (_LE(\u0027Image size %(img_size)dGB is larger \u0027"},{"line_number":553,"context_line":"                                 \u0027than volume size %(vol_size)dGB.\u0027),"},{"line_number":554,"context_line":"                             {\u0027img_size\u0027: cachevol_size + 1,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a71b18c_ad844ab1","line":551,"in_reply_to":"3a71b18c_8f48a6ce","updated":"2016-12-08 20:03:52.000000000","message":"Thanks for the comments. Addressed in patch #3","commit_id":"352c7097ed11408d290559c60bd3c5dc09b319d4"}]}
