)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"8451653c6447d01cca14b074710f1f25a4457a0b","unresolved":false,"context_lines":[{"line_number":7,"context_line":"VMAX driver - Create a CG from a source CG"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently, we can only create a consistency group from a"},{"line_number":10,"context_line":"cg snapshot. This updates the api to accommodate creating"},{"line_number":11,"context_line":"a cg from another cg"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I6fd01739b62fd399cf9a397431c10a2a7f7ec0f2"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"7a77a97e_fd1f1859","line":10,"updated":"2016-11-14 21:46:24.000000000","message":"s/api/driver","commit_id":"6a2b57496011a1a2c7c471387c23722efec4703e"}],"cinder/volume/drivers/emc/emc_vmax_common.py":[{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"8451653c6447d01cca14b074710f1f25a4457a0b","unresolved":false,"context_lines":[{"line_number":4365,"context_line":"                                                      TRUNCATE_8)"},{"line_number":4366,"context_line":"            source_vols_or_snapshots \u003d snapshots"},{"line_number":4367,"context_line":"            source_id \u003d cgsnapshot[\u0027consistencygroup_id\u0027]"},{"line_number":4368,"context_line":"        else:"},{"line_number":4369,"context_line":"            sourceCgName \u003d self.utils.truncate_string(source_cg[\u0027id\u0027],"},{"line_number":4370,"context_line":"                                                      TRUNCATE_8)"},{"line_number":4371,"context_line":"            source_vols_or_snapshots \u003d source_vols"}],"source_content_type":"text/x-python","patch_set":5,"id":"7a77a97e_6b2fc1a1","line":4368,"updated":"2016-11-14 21:46:24.000000000","message":"Should check if source_cg is provided.","commit_id":"6a2b57496011a1a2c7c471387c23722efec4703e"},{"author":{"_account_id":22021,"name":"Unana Okpoyo","email":"tomitu@yahoo.com","username":"UnanaOkpoyo"},"change_message_id":"64de3e29293bf34ace44f3a6514684a0b42bd635","unresolved":false,"context_lines":[{"line_number":4365,"context_line":"                                                      TRUNCATE_8)"},{"line_number":4366,"context_line":"            source_vols_or_snapshots \u003d snapshots"},{"line_number":4367,"context_line":"            source_id \u003d cgsnapshot[\u0027consistencygroup_id\u0027]"},{"line_number":4368,"context_line":"        else:"},{"line_number":4369,"context_line":"            sourceCgName \u003d self.utils.truncate_string(source_cg[\u0027id\u0027],"},{"line_number":4370,"context_line":"                                                      TRUNCATE_8)"},{"line_number":4371,"context_line":"            source_vols_or_snapshots \u003d source_vols"}],"source_content_type":"text/x-python","patch_set":5,"id":"7a77a97e_913872a2","line":4368,"in_reply_to":"7a77a97e_6b2fc1a1","updated":"2016-11-16 14:55:09.000000000","message":"Will update this...Thanks Xing","commit_id":"6a2b57496011a1a2c7c471387c23722efec4703e"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"8451653c6447d01cca14b074710f1f25a4457a0b","unresolved":false,"context_lines":[{"line_number":4369,"context_line":"            sourceCgName \u003d self.utils.truncate_string(source_cg[\u0027id\u0027],"},{"line_number":4370,"context_line":"                                                      TRUNCATE_8)"},{"line_number":4371,"context_line":"            source_vols_or_snapshots \u003d source_vols"},{"line_number":4372,"context_line":"            source_id \u003d source_cg[\u0027id\u0027]"},{"line_number":4373,"context_line":"        LOG.debug(\"Enter EMCVMAXCommon::create_consistencygroup_from_src. \""},{"line_number":4374,"context_line":"                  \"Group to be created: %(cgId)s, \""},{"line_number":4375,"context_line":"                  \"Source : %(SourceCGId)s.\","}],"source_content_type":"text/x-python","patch_set":5,"id":"7a77a97e_6b06e121","line":4372,"updated":"2016-11-14 21:46:24.000000000","message":"If neither cgsnapshot no source_cg is provided, should throw exception.","commit_id":"6a2b57496011a1a2c7c471387c23722efec4703e"},{"author":{"_account_id":22021,"name":"Unana Okpoyo","email":"tomitu@yahoo.com","username":"UnanaOkpoyo"},"change_message_id":"64de3e29293bf34ace44f3a6514684a0b42bd635","unresolved":false,"context_lines":[{"line_number":4369,"context_line":"            sourceCgName \u003d self.utils.truncate_string(source_cg[\u0027id\u0027],"},{"line_number":4370,"context_line":"                                                      TRUNCATE_8)"},{"line_number":4371,"context_line":"            source_vols_or_snapshots \u003d source_vols"},{"line_number":4372,"context_line":"            source_id \u003d source_cg[\u0027id\u0027]"},{"line_number":4373,"context_line":"        LOG.debug(\"Enter EMCVMAXCommon::create_consistencygroup_from_src. \""},{"line_number":4374,"context_line":"                  \"Group to be created: %(cgId)s, \""},{"line_number":4375,"context_line":"                  \"Source : %(SourceCGId)s.\","}],"source_content_type":"text/x-python","patch_set":5,"id":"7a77a97e_b13bae9b","line":4372,"in_reply_to":"7a77a97e_6b06e121","updated":"2016-11-16 14:55:09.000000000","message":"Will update this....thanks Xing","commit_id":"6a2b57496011a1a2c7c471387c23722efec4703e"}],"cinder/volume/drivers/emc/emc_vmax_provision.py":[{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"8451653c6447d01cca14b074710f1f25a4457a0b","unresolved":false,"context_lines":[{"line_number":362,"context_line":"                                                                 extraSpecs)"},{"line_number":363,"context_line":"                if rc !\u003d 0:"},{"line_number":364,"context_line":"                    exceptionMessage \u003d (_("},{"line_number":365,"context_line":"                        \"Error adding volume %(vol)s to %(sg). %(error)s.\")"},{"line_number":366,"context_line":"                        % {\u0027vol\u0027: volumeName,"},{"line_number":367,"context_line":"                           \u0027sg\u0027: storageGroupInstance[\u0027ElementName\u0027],"},{"line_number":368,"context_line":"                           \u0027error\u0027: errordesc})"}],"source_content_type":"text/x-python","patch_set":5,"id":"7a77a97e_2b6dc932","line":365,"updated":"2016-11-14 21:46:24.000000000","message":"The original code on the left is correct.  \n\n%(sg)s","commit_id":"6a2b57496011a1a2c7c471387c23722efec4703e"}],"releasenotes/notes/vmax-clone-cg-09fce492931c957f.yaml":[{"author":{"_account_id":170,"name":"Mike Perez","email":"thingee@gmail.com","username":"thingee"},"change_message_id":"59f32c350095d820a1d653d8c99a0bac08c81257","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"    Create a CG from a source CG"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"9a629dbe_a9568903","line":3,"updated":"2016-11-10 21:23:33.000000000","message":"Please mention for which driver. Otherwise this just looks like a general feature added to Cinder.","commit_id":"1c70a2c836760d51c40fe9d08bf0b756d2ca54ef"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"e97642da37b79c2fd91cb8a723069adeed6528ae","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"    Create a CG from a source CG"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"9a629dbe_dba9b125","line":3,"in_reply_to":"9a629dbe_a9568903","updated":"2016-11-11 09:36:40.000000000","message":"Will do.  Thank you.","commit_id":"1c70a2c836760d51c40fe9d08bf0b756d2ca54ef"}]}
