)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":17405,"name":"Jacob Gregor","email":"jgregor@us.ibm.com","username":"jgregor"},"change_message_id":"bb4dccf28e1237794c30defcc129e0d694f5f516","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently, HNAS iSCSI driver does not work when trying to manage a volume"},{"line_number":10,"context_line":"that contains one or more space in the name."},{"line_number":11,"context_line":"This patch fixes this functionality and perform some other minor adjustments."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I2ba6407478c293f20925171d80dcc8f97f2110c7"},{"line_number":14,"context_line":"Closes-bug: #1500544"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9a1a9d01_fbc27033","line":11,"updated":"2015-09-29 12:25:18.000000000","message":"Lines in the body of the commit message should be wrapped at 72 characters.\n\nhttps://wiki.openstack.org/wiki/GitCommitMessages#Summary_of_Git_commit_message_structure","commit_id":"fcae124383565fe5cfebed23ad6ad5f7c5603959"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"ebc99b53b26d333aa2ab7d7bd6cc132a5f11ae0b","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently, HNAS iSCSI driver does not work when trying to manage a volume"},{"line_number":10,"context_line":"that contains one or more space in the name."},{"line_number":11,"context_line":"This patch fixes this functionality and perform some other minor adjustments."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I2ba6407478c293f20925171d80dcc8f97f2110c7"},{"line_number":14,"context_line":"Closes-bug: #1500544"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9a1a9d01_cae33832","line":11,"updated":"2015-09-28 19:42:32.000000000","message":"s/perform/performs/g","commit_id":"fcae124383565fe5cfebed23ad6ad5f7c5603959"},{"author":{"_account_id":14865,"name":"Adriano Freires Rosso","email":"adriano.rosso@fit-tecnologia.org.br","username":"adriano_rosso"},"change_message_id":"a294190f4a916d9ce94889d2db97c12bf1881e79","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently, HNAS iSCSI driver does not work when trying to manage a volume"},{"line_number":10,"context_line":"that contains one or more space in the name."},{"line_number":11,"context_line":"This patch fixes this functionality and perform some other minor adjustments."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I2ba6407478c293f20925171d80dcc8f97f2110c7"},{"line_number":14,"context_line":"Closes-bug: #1500544"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9a1a9d01_03c1fa53","line":11,"in_reply_to":"9a1a9d01_cae33832","updated":"2015-09-29 14:35:21.000000000","message":"Done","commit_id":"fcae124383565fe5cfebed23ad6ad5f7c5603959"},{"author":{"_account_id":14865,"name":"Adriano Freires Rosso","email":"adriano.rosso@fit-tecnologia.org.br","username":"adriano_rosso"},"change_message_id":"a294190f4a916d9ce94889d2db97c12bf1881e79","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently, HNAS iSCSI driver does not work when trying to manage a volume"},{"line_number":10,"context_line":"that contains one or more space in the name."},{"line_number":11,"context_line":"This patch fixes this functionality and perform some other minor adjustments."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I2ba6407478c293f20925171d80dcc8f97f2110c7"},{"line_number":14,"context_line":"Closes-bug: #1500544"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9a1a9d01_c3b6a2f8","line":11,"in_reply_to":"9a1a9d01_fbc27033","updated":"2015-09-29 14:35:21.000000000","message":"Done","commit_id":"fcae124383565fe5cfebed23ad6ad5f7c5603959"}],"cinder/tests/unit/test_hitachi_hnas_iscsi.py":[{"author":{"_account_id":14377,"name":"Apoorva","email":"apps.desh@gmail.com","username":"apoorvad"},"change_message_id":"a183d59df3bd993844707ebbe055f09b92b7c65a","unresolved":false,"context_lines":[{"line_number":536,"context_line":""},{"line_number":537,"context_line":"    def test_manage_existing_invalid_volume_name(self):"},{"line_number":538,"context_line":"        vol \u003d _VOLUME.copy()"},{"line_number":539,"context_line":"        existing_vol_ref \u003d {\u0027source-name\u0027: \u0027fs2/t/est_volume\u0027}"},{"line_number":540,"context_line":""},{"line_number":541,"context_line":"        self.assertRaises(exception.ManageExistingInvalidReference,"},{"line_number":542,"context_line":"                          self.driver.manage_existing, vol, existing_vol_ref)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a1a9d01_42e923e5","line":539,"updated":"2015-09-29 17:05:59.000000000","message":"Could there be a case where \u003d\u003e source-name is \"fs2/    \" ? In that case you need to add a check and unit test","commit_id":"a2778d453956f335790996528f3d9ca1795ec615"},{"author":{"_account_id":14865,"name":"Adriano Freires Rosso","email":"adriano.rosso@fit-tecnologia.org.br","username":"adriano_rosso"},"change_message_id":"b575c8ddeab3e393f7f538f37e561a021c7a8c5d","unresolved":false,"context_lines":[{"line_number":536,"context_line":""},{"line_number":537,"context_line":"    def test_manage_existing_invalid_volume_name(self):"},{"line_number":538,"context_line":"        vol \u003d _VOLUME.copy()"},{"line_number":539,"context_line":"        existing_vol_ref \u003d {\u0027source-name\u0027: \u0027fs2/t/est_volume\u0027}"},{"line_number":540,"context_line":""},{"line_number":541,"context_line":"        self.assertRaises(exception.ManageExistingInvalidReference,"},{"line_number":542,"context_line":"                          self.driver.manage_existing, vol, existing_vol_ref)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a1a9d01_94104caa","line":539,"in_reply_to":"9a1a9d01_05e335a5","updated":"2015-10-02 13:15:35.000000000","message":"Done","commit_id":"a2778d453956f335790996528f3d9ca1795ec615"},{"author":{"_account_id":14865,"name":"Adriano Freires Rosso","email":"adriano.rosso@fit-tecnologia.org.br","username":"adriano_rosso"},"change_message_id":"25e4c197ccb65f58710992360b97a6c77c9d0e72","unresolved":false,"context_lines":[{"line_number":536,"context_line":""},{"line_number":537,"context_line":"    def test_manage_existing_invalid_volume_name(self):"},{"line_number":538,"context_line":"        vol \u003d _VOLUME.copy()"},{"line_number":539,"context_line":"        existing_vol_ref \u003d {\u0027source-name\u0027: \u0027fs2/t/est_volume\u0027}"},{"line_number":540,"context_line":""},{"line_number":541,"context_line":"        self.assertRaises(exception.ManageExistingInvalidReference,"},{"line_number":542,"context_line":"                          self.driver.manage_existing, vol, existing_vol_ref)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a1a9d01_05e335a5","line":539,"in_reply_to":"9a1a9d01_42e923e5","updated":"2015-09-29 17:36:12.000000000","message":"This case is already checked in the code and the UT for this is the next one (below).","commit_id":"a2778d453956f335790996528f3d9ca1795ec615"}],"cinder/volume/drivers/hitachi/hnas_iscsi.py":[{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"cea1fca40e0bd87608fa4f6d118a3b8ebc0479b6","unresolved":false,"context_lines":[{"line_number":885,"context_line":"            msg \u003d (_(\"The reference to the volume in the backend should have \""},{"line_number":886,"context_line":"                     \"the format file_system/volume_name (volume_name cannot \""},{"line_number":887,"context_line":"                     \"contain \u0027/\u0027)\"))"},{"line_number":888,"context_line":"            raise exception.ManageExistingInvalidReference("},{"line_number":889,"context_line":"                existing_ref\u003dvol_ref, reason\u003dmsg)"},{"line_number":890,"context_line":""},{"line_number":891,"context_line":"    def manage_existing_get_size(self, volume, existing_vol_ref):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a1a9d01_af2136fd","line":888,"updated":"2015-09-28 19:04:22.000000000","message":"Please add a unit test that covers this exception.","commit_id":"fcae124383565fe5cfebed23ad6ad5f7c5603959"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"ebc99b53b26d333aa2ab7d7bd6cc132a5f11ae0b","unresolved":false,"context_lines":[{"line_number":885,"context_line":"            msg \u003d (_(\"The reference to the volume in the backend should have \""},{"line_number":886,"context_line":"                     \"the format file_system/volume_name (volume_name cannot \""},{"line_number":887,"context_line":"                     \"contain \u0027/\u0027)\"))"},{"line_number":888,"context_line":"            raise exception.ManageExistingInvalidReference("},{"line_number":889,"context_line":"                existing_ref\u003dvol_ref, reason\u003dmsg)"},{"line_number":890,"context_line":""},{"line_number":891,"context_line":"    def manage_existing_get_size(self, volume, existing_vol_ref):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a1a9d01_aa07e41a","line":888,"in_reply_to":"9a1a9d01_af2136fd","updated":"2015-09-28 19:42:32.000000000","message":"+1","commit_id":"fcae124383565fe5cfebed23ad6ad5f7c5603959"},{"author":{"_account_id":14865,"name":"Adriano Freires Rosso","email":"adriano.rosso@fit-tecnologia.org.br","username":"adriano_rosso"},"change_message_id":"a294190f4a916d9ce94889d2db97c12bf1881e79","unresolved":false,"context_lines":[{"line_number":885,"context_line":"            msg \u003d (_(\"The reference to the volume in the backend should have \""},{"line_number":886,"context_line":"                     \"the format file_system/volume_name (volume_name cannot \""},{"line_number":887,"context_line":"                     \"contain \u0027/\u0027)\"))"},{"line_number":888,"context_line":"            raise exception.ManageExistingInvalidReference("},{"line_number":889,"context_line":"                existing_ref\u003dvol_ref, reason\u003dmsg)"},{"line_number":890,"context_line":""},{"line_number":891,"context_line":"    def manage_existing_get_size(self, volume, existing_vol_ref):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a1a9d01_e3d40621","line":888,"in_reply_to":"9a1a9d01_af2136fd","updated":"2015-09-29 14:35:21.000000000","message":"Added 2 UTs to cover this.","commit_id":"fcae124383565fe5cfebed23ad6ad5f7c5603959"},{"author":{"_account_id":14377,"name":"Apoorva","email":"apps.desh@gmail.com","username":"apoorvad"},"change_message_id":"a183d59df3bd993844707ebbe055f09b92b7c65a","unresolved":false,"context_lines":[{"line_number":876,"context_line":"        \"\"\""},{"line_number":877,"context_line":"        vol_info \u003d vol_ref.split(\u0027/\u0027)"},{"line_number":878,"context_line":""},{"line_number":879,"context_line":"        if len(vol_info) \u003d\u003d 2 and \u0027\u0027 not in vol_info:"},{"line_number":880,"context_line":"            fs_label \u003d vol_info[0]"},{"line_number":881,"context_line":"            vol_name \u003d vol_info[1]"},{"line_number":882,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9a1a9d01_e232b7a6","line":879,"updated":"2015-09-29 17:05:59.000000000","message":"Should you check for \u0027\u0027 and white spaces? or should vol_ref be stripped on line 877?","commit_id":"a2778d453956f335790996528f3d9ca1795ec615"},{"author":{"_account_id":14865,"name":"Adriano Freires Rosso","email":"adriano.rosso@fit-tecnologia.org.br","username":"adriano_rosso"},"change_message_id":"b575c8ddeab3e393f7f538f37e561a021c7a8c5d","unresolved":false,"context_lines":[{"line_number":876,"context_line":"        \"\"\""},{"line_number":877,"context_line":"        vol_info \u003d vol_ref.split(\u0027/\u0027)"},{"line_number":878,"context_line":""},{"line_number":879,"context_line":"        if len(vol_info) \u003d\u003d 2 and \u0027\u0027 not in vol_info:"},{"line_number":880,"context_line":"            fs_label \u003d vol_info[0]"},{"line_number":881,"context_line":"            vol_name \u003d vol_info[1]"},{"line_number":882,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9a1a9d01_343f0027","line":879,"in_reply_to":"9a1a9d01_59d324d5","updated":"2015-10-02 13:15:35.000000000","message":"Ok. You\u0027re right. I added the strip and the UT for this case. \nThanks for pointing this.","commit_id":"a2778d453956f335790996528f3d9ca1795ec615"},{"author":{"_account_id":14377,"name":"Apoorva","email":"apps.desh@gmail.com","username":"apoorvad"},"change_message_id":"9637063505993dc76d45abc9da0bfa74c4a50ab8","unresolved":false,"context_lines":[{"line_number":876,"context_line":"        \"\"\""},{"line_number":877,"context_line":"        vol_info \u003d vol_ref.split(\u0027/\u0027)"},{"line_number":878,"context_line":""},{"line_number":879,"context_line":"        if len(vol_info) \u003d\u003d 2 and \u0027\u0027 not in vol_info:"},{"line_number":880,"context_line":"            fs_label \u003d vol_info[0]"},{"line_number":881,"context_line":"            vol_name \u003d vol_info[1]"},{"line_number":882,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9a1a9d01_59d324d5","line":879,"in_reply_to":"9a1a9d01_6553116c","updated":"2015-09-30 16:50:49.000000000","message":"My Q was about the use case when vol_ref \u003d \"fs1/\u003cspace\u003e\"\nIn that case should you use strip on vol_ref before split?","commit_id":"a2778d453956f335790996528f3d9ca1795ec615"},{"author":{"_account_id":14865,"name":"Adriano Freires Rosso","email":"adriano.rosso@fit-tecnologia.org.br","username":"adriano_rosso"},"change_message_id":"25e4c197ccb65f58710992360b97a6c77c9d0e72","unresolved":false,"context_lines":[{"line_number":876,"context_line":"        \"\"\""},{"line_number":877,"context_line":"        vol_info \u003d vol_ref.split(\u0027/\u0027)"},{"line_number":878,"context_line":""},{"line_number":879,"context_line":"        if len(vol_info) \u003d\u003d 2 and \u0027\u0027 not in vol_info:"},{"line_number":880,"context_line":"            fs_label \u003d vol_info[0]"},{"line_number":881,"context_line":"            vol_name \u003d vol_info[1]"},{"line_number":882,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9a1a9d01_6553116c","line":879,"in_reply_to":"9a1a9d01_e232b7a6","updated":"2015-09-29 17:36:12.000000000","message":"I didn\u0027t get what you mean. These checks here are for the following cases, for example:\n* vol_ref \u003d \u0027fs1/fs2/vol_name\u0027  -\u003e after split len \u003e 2\n* vol_ref \u003d \u0027fs1/\u0027 -\u003e after split contains \u0027\u0027","commit_id":"a2778d453956f335790996528f3d9ca1795ec615"}]}
