)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1207,"name":"Duncan Thomas","email":"duncan.thomas@gmail.com","username":"duncan-thomas"},"change_message_id":"eab457cc719c9741eafc6b7e0c1cdfe8d5fc39f7","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Walter A. Boring IV \u003cwalter.boring@hp.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-03-26 05:04:00 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fixed the access to the volume instance_uuid"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The instance_uuid and attached_host no longer exists"},{"line_number":10,"context_line":"in the volume object.  It\u0027s part of the attachments that"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"1a6ced46_995fe240","line":7,"updated":"2015-03-26 08:58:06.000000000","message":"Hitachi: Fixed the access to the volume instance_uuid","commit_id":"46de8b766bc58d4f67833f7e915f59ca087691e7"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"5cba005cc3242ec9be52b152715211c93d0727e8","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Walter A. Boring IV \u003cwalter.boring@hp.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-03-26 05:04:00 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fixed the access to the volume instance_uuid"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The instance_uuid and attached_host no longer exists"},{"line_number":10,"context_line":"in the volume object.  It\u0027s part of the attachments that"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"fa963961_89ff1a34","line":7,"in_reply_to":"1a6ced46_995fe240","updated":"2015-03-26 16:06:31.000000000","message":"Done","commit_id":"46de8b766bc58d4f67833f7e915f59ca087691e7"}],"cinder/volume/drivers/hitachi/hbsd_fc.py":[{"author":{"_account_id":10115,"name":"Mitsuhiro Tanino","email":"mitsuhiro.tanino@lycorp.co.jp","username":"mtanino"},"change_message_id":"1d14e35c56e251f5d067bb3d37270ba2ca9988de","unresolved":false,"context_lines":[{"line_number":506,"context_line":"    def copy_volume_to_image(self, context, volume, image_service, image_meta):"},{"line_number":507,"context_line":"        self.do_setup_status.wait()"},{"line_number":508,"context_line":"        if (volume[\u0027volume_attachment\u0027] and"},{"line_number":509,"context_line":"               len(volume[\u0027volume_attachment\u0027]) \u003e 0):"},{"line_number":510,"context_line":"            desc \u003d \u0027volume %s\u0027 % volume[\u0027id\u0027]"},{"line_number":511,"context_line":"            msg \u003d basic_lib.output_err(660, desc\u003ddesc)"},{"line_number":512,"context_line":"            raise exception.HBSDError(message\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa963961_6e81748f","line":509,"updated":"2015-03-26 18:42:54.000000000","message":"One more space is necessary before len().\nI met pep8 error for testing this fix.","commit_id":"71c9e72b31b399aad06e557036a53fad3dd7d2bd"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"0dddeb81cf0687a9859ffaa542b13811479fff17","unresolved":false,"context_lines":[{"line_number":506,"context_line":"    def copy_volume_to_image(self, context, volume, image_service, image_meta):"},{"line_number":507,"context_line":"        self.do_setup_status.wait()"},{"line_number":508,"context_line":"        if (volume[\u0027volume_attachment\u0027] and"},{"line_number":509,"context_line":"               len(volume[\u0027volume_attachment\u0027]) \u003e 0):"},{"line_number":510,"context_line":"            desc \u003d \u0027volume %s\u0027 % volume[\u0027id\u0027]"},{"line_number":511,"context_line":"            msg \u003d basic_lib.output_err(660, desc\u003ddesc)"},{"line_number":512,"context_line":"            raise exception.HBSDError(message\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa963961_19823101","line":509,"in_reply_to":"fa963961_6e81748f","updated":"2015-03-26 20:16:53.000000000","message":"Done","commit_id":"71c9e72b31b399aad06e557036a53fad3dd7d2bd"},{"author":{"_account_id":10628,"name":"Peter Wang","email":"peter.wang13@emc.com","username":"peter_wang"},"change_message_id":"574cf6749804a531b255808727b27b4aafda0f3e","unresolved":false,"context_lines":[{"line_number":506,"context_line":"    def copy_volume_to_image(self, context, volume, image_service, image_meta):"},{"line_number":507,"context_line":"        self.do_setup_status.wait()"},{"line_number":508,"context_line":"        if (volume[\u0027volume_attachment\u0027] and"},{"line_number":509,"context_line":"                len(volume[\u0027volume_attachment\u0027]) \u003e 0):"},{"line_number":510,"context_line":"            desc \u003d \u0027volume %s\u0027 % volume[\u0027id\u0027]"},{"line_number":511,"context_line":"            msg \u003d basic_lib.output_err(660, desc\u003ddesc)"},{"line_number":512,"context_line":"            raise exception.HBSDError(message\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa963961_8b737c4d","line":509,"updated":"2015-03-27 02:08:26.000000000","message":"seems len(volume[\u0027volume_attachment\u0027]) \u003e 0 is unnecessary?\nconsider following scenarios:\n1. \nobj \u003d []\nif obj:  ----\u003e False\n2. \nobj \u003d None\nif obj: -----\u003e False","commit_id":"54e46185ae7aa33965a17c495fc5825d9b21dd86"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"20d41d7a5432ff08919b277f4b5739fe9a7681d0","unresolved":false,"context_lines":[{"line_number":506,"context_line":"    def copy_volume_to_image(self, context, volume, image_service, image_meta):"},{"line_number":507,"context_line":"        self.do_setup_status.wait()"},{"line_number":508,"context_line":"        if (volume[\u0027volume_attachment\u0027] and"},{"line_number":509,"context_line":"                len(volume[\u0027volume_attachment\u0027]) \u003e 0):"},{"line_number":510,"context_line":"            desc \u003d \u0027volume %s\u0027 % volume[\u0027id\u0027]"},{"line_number":511,"context_line":"            msg \u003d basic_lib.output_err(660, desc\u003ddesc)"},{"line_number":512,"context_line":"            raise exception.HBSDError(message\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa963961_4c7a1926","line":509,"in_reply_to":"fa963961_8b737c4d","updated":"2015-03-27 15:03:12.000000000","message":"Done","commit_id":"54e46185ae7aa33965a17c495fc5825d9b21dd86"},{"author":{"_account_id":7173,"name":"Scott DAngelo","email":"scott.dangelo@gmail.com","username":"scottda"},"change_message_id":"189c814dcdf07fda0f45f0c1127dd4c4cd161c5e","unresolved":false,"context_lines":[{"line_number":505,"context_line":""},{"line_number":506,"context_line":"    def copy_volume_to_image(self, context, volume, image_service, image_meta):"},{"line_number":507,"context_line":"        self.do_setup_status.wait()"},{"line_number":508,"context_line":"        if volume[\u0027volume_attachment\u0027]:"},{"line_number":509,"context_line":"            desc \u003d \u0027volume %s\u0027 % volume[\u0027id\u0027]"},{"line_number":510,"context_line":"            msg \u003d basic_lib.output_err(660, desc\u003ddesc)"},{"line_number":511,"context_line":"            raise exception.HBSDError(message\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":7,"id":"da9b358b_4be7a0e4","line":508,"updated":"2015-03-30 16:26:35.000000000","message":"should also check for:\nvolume[\u0027volume_attachment\u0027] \u003e 0","commit_id":"2fc920a55c39af815641b85f7d71458257202a1b"}],"cinder/volume/drivers/hitachi/hbsd_iscsi.py":[{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"20037a6124a7da8497b2bb02af7c3f8ffb033827","unresolved":false,"context_lines":[{"line_number":410,"context_line":""},{"line_number":411,"context_line":"    def copy_volume_to_image(self, context, volume, image_service, image_meta):"},{"line_number":412,"context_line":"        self.do_setup_status.wait()"},{"line_number":413,"context_line":"        if (volume[\u0027volume_attachment\u0027] and "},{"line_number":414,"context_line":"               len(volume[\u0027volume_attachment\u0027]) \u003e 0):"},{"line_number":415,"context_line":"            desc \u003d \u0027volume %s\u0027 % volume[\u0027id\u0027]"},{"line_number":416,"context_line":"            msg \u003d basic_lib.output_err(660, desc\u003ddesc)"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa963961_9de4f40d","line":413,"updated":"2015-03-26 17:13:25.000000000","message":"Need to fix trailing space.","commit_id":"3d5984e8dac73425ab8da968278f41cf1916db89"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"50daccf321601b3809a35e5e1f172d75df1c45b6","unresolved":false,"context_lines":[{"line_number":410,"context_line":""},{"line_number":411,"context_line":"    def copy_volume_to_image(self, context, volume, image_service, image_meta):"},{"line_number":412,"context_line":"        self.do_setup_status.wait()"},{"line_number":413,"context_line":"        if (volume[\u0027volume_attachment\u0027] and "},{"line_number":414,"context_line":"               len(volume[\u0027volume_attachment\u0027]) \u003e 0):"},{"line_number":415,"context_line":"            desc \u003d \u0027volume %s\u0027 % volume[\u0027id\u0027]"},{"line_number":416,"context_line":"            msg \u003d basic_lib.output_err(660, desc\u003ddesc)"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa963961_53ef7bb0","line":413,"in_reply_to":"fa963961_9de4f40d","updated":"2015-03-26 18:07:29.000000000","message":"bah!  so lame.  Thanks Jay.","commit_id":"3d5984e8dac73425ab8da968278f41cf1916db89"},{"author":{"_account_id":10115,"name":"Mitsuhiro Tanino","email":"mitsuhiro.tanino@lycorp.co.jp","username":"mtanino"},"change_message_id":"1d14e35c56e251f5d067bb3d37270ba2ca9988de","unresolved":false,"context_lines":[{"line_number":411,"context_line":"    def copy_volume_to_image(self, context, volume, image_service, image_meta):"},{"line_number":412,"context_line":"        self.do_setup_status.wait()"},{"line_number":413,"context_line":"        if (volume[\u0027volume_attachment\u0027] and"},{"line_number":414,"context_line":"               len(volume[\u0027volume_attachment\u0027]) \u003e 0):"},{"line_number":415,"context_line":"            desc \u003d \u0027volume %s\u0027 % volume[\u0027id\u0027]"},{"line_number":416,"context_line":"            msg \u003d basic_lib.output_err(660, desc\u003ddesc)"},{"line_number":417,"context_line":"            raise exception.HBSDError(message\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa963961_0e366803","line":414,"updated":"2015-03-26 18:42:54.000000000","message":"ditto.","commit_id":"71c9e72b31b399aad06e557036a53fad3dd7d2bd"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"0dddeb81cf0687a9859ffaa542b13811479fff17","unresolved":false,"context_lines":[{"line_number":411,"context_line":"    def copy_volume_to_image(self, context, volume, image_service, image_meta):"},{"line_number":412,"context_line":"        self.do_setup_status.wait()"},{"line_number":413,"context_line":"        if (volume[\u0027volume_attachment\u0027] and"},{"line_number":414,"context_line":"               len(volume[\u0027volume_attachment\u0027]) \u003e 0):"},{"line_number":415,"context_line":"            desc \u003d \u0027volume %s\u0027 % volume[\u0027id\u0027]"},{"line_number":416,"context_line":"            msg \u003d basic_lib.output_err(660, desc\u003ddesc)"},{"line_number":417,"context_line":"            raise exception.HBSDError(message\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa963961_5912f9b5","line":414,"in_reply_to":"fa963961_0e366803","updated":"2015-03-26 20:16:53.000000000","message":"Done","commit_id":"71c9e72b31b399aad06e557036a53fad3dd7d2bd"},{"author":{"_account_id":8202,"name":"chenzongliang","email":"chenzongliang@huawei.com","username":"zongliang"},"change_message_id":"672d18d6d9050600d9560afd333504b5bc64b697","unresolved":false,"context_lines":[{"line_number":411,"context_line":"    def copy_volume_to_image(self, context, volume, image_service, image_meta):"},{"line_number":412,"context_line":"        self.do_setup_status.wait()"},{"line_number":413,"context_line":"        if (volume[\u0027volume_attachment\u0027] and"},{"line_number":414,"context_line":"                len(volume[\u0027volume_attachment\u0027]) \u003e 0):"},{"line_number":415,"context_line":"            desc \u003d \u0027volume %s\u0027 % volume[\u0027id\u0027]"},{"line_number":416,"context_line":"            msg \u003d basic_lib.output_err(660, desc\u003ddesc)"},{"line_number":417,"context_line":"            raise exception.HBSDError(message\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa963961_4131d3a1","line":414,"updated":"2015-03-27 04:02:18.000000000","message":"seems len(volume[\u0027volume_attachment\u0027]) \u003e 0 is unnecessary? consider following scenarios: 1. obj \u003d [] if obj: ----\u003e False 2. obj \u003d None if obj: -----\u003e False","commit_id":"54e46185ae7aa33965a17c495fc5825d9b21dd86"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"20d41d7a5432ff08919b277f4b5739fe9a7681d0","unresolved":false,"context_lines":[{"line_number":411,"context_line":"    def copy_volume_to_image(self, context, volume, image_service, image_meta):"},{"line_number":412,"context_line":"        self.do_setup_status.wait()"},{"line_number":413,"context_line":"        if (volume[\u0027volume_attachment\u0027] and"},{"line_number":414,"context_line":"                len(volume[\u0027volume_attachment\u0027]) \u003e 0):"},{"line_number":415,"context_line":"            desc \u003d \u0027volume %s\u0027 % volume[\u0027id\u0027]"},{"line_number":416,"context_line":"            msg \u003d basic_lib.output_err(660, desc\u003ddesc)"},{"line_number":417,"context_line":"            raise exception.HBSDError(message\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa963961_0c741133","line":414,"in_reply_to":"fa963961_4131d3a1","updated":"2015-03-27 15:03:12.000000000","message":"Done","commit_id":"54e46185ae7aa33965a17c495fc5825d9b21dd86"},{"author":{"_account_id":7173,"name":"Scott DAngelo","email":"scott.dangelo@gmail.com","username":"scottda"},"change_message_id":"189c814dcdf07fda0f45f0c1127dd4c4cd161c5e","unresolved":false,"context_lines":[{"line_number":410,"context_line":""},{"line_number":411,"context_line":"    def copy_volume_to_image(self, context, volume, image_service, image_meta):"},{"line_number":412,"context_line":"        self.do_setup_status.wait()"},{"line_number":413,"context_line":"        if volume[\u0027volume_attachment\u0027]:"},{"line_number":414,"context_line":"            desc \u003d \u0027volume %s\u0027 % volume[\u0027id\u0027]"},{"line_number":415,"context_line":"            msg \u003d basic_lib.output_err(660, desc\u003ddesc)"},{"line_number":416,"context_line":"            raise exception.HBSDError(message\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":7,"id":"da9b358b_0bd2b800","line":413,"updated":"2015-03-30 16:26:35.000000000","message":"should also check for:\nvolume[\u0027volume_attachment\u0027] \u003e 0","commit_id":"2fc920a55c39af815641b85f7d71458257202a1b"}]}
