)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"68597c1aa8cba050a58eacd4cf5d1a1c1d1eff04","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Previously, user needs to enable this feature via Volume Type."},{"line_number":10,"context_line":"See: https://review.openstack.org/#/c/184733/"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"this introduces some failure for volume operations, for example:"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"1. Creating cloned volume or snapshot from snapcopy volume will fail."},{"line_number":15,"context_line":"2. Creating volume from snapshot whose source volume\u0027s volume type is"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"da85f559_f7ea7473","line":12,"updated":"2015-11-11 13:35:02.000000000","message":"s/failure/failures","commit_id":"c59759cb21fb83dd4feed2be33cd6c6e1e181980"},{"author":{"_account_id":10628,"name":"Peter Wang","email":"peter.wang13@emc.com","username":"peter_wang"},"change_message_id":"a6dffb9c8294847f2801adebdc774a46af2cb9d1","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Previously, user needs to enable this feature via Volume Type."},{"line_number":10,"context_line":"See: https://review.openstack.org/#/c/184733/"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"this introduces some failure for volume operations, for example:"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"1. Creating cloned volume or snapshot from snapcopy volume will fail."},{"line_number":15,"context_line":"2. Creating volume from snapshot whose source volume\u0027s volume type is"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"da85f559_11befffe","line":12,"in_reply_to":"da85f559_f7ea7473","updated":"2015-11-12 02:35:42.000000000","message":"Done","commit_id":"c59759cb21fb83dd4feed2be33cd6c6e1e181980"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"e86c374df6a4eaddb1a6e7d6be5c0e8470553bff","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Previously, user needs to enable this feature via Volume Type."},{"line_number":10,"context_line":"See: https://review.openstack.org/#/c/184733/"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"this introduces some failures for volume operations, for example:"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"1. Creating cloned volume or snapshot from snapcopy volume will fail."},{"line_number":15,"context_line":"2. Creating volume from snapshot whose source volume\u0027s volume type is"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"da85f559_2dd38461","line":12,"updated":"2015-11-12 14:26:21.000000000","message":"this -\u003e This","commit_id":"d8e8f83887a93ef53b3a72551288375a0b233ad5"},{"author":{"_account_id":10628,"name":"Peter Wang","email":"peter.wang13@emc.com","username":"peter_wang"},"change_message_id":"754ee494d4ec698f414a7d29d2b373e2dce9c8fb","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Previously, user needs to enable this feature via Volume Type."},{"line_number":10,"context_line":"See: https://review.openstack.org/#/c/184733/"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"this introduces some failures for volume operations, for example:"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"1. Creating cloned volume or snapshot from snapcopy volume will fail."},{"line_number":15,"context_line":"2. Creating volume from snapshot whose source volume\u0027s volume type is"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"da85f559_1f624517","line":12,"in_reply_to":"da85f559_2dd38461","updated":"2015-11-13 03:10:02.000000000","message":"Done","commit_id":"d8e8f83887a93ef53b3a72551288375a0b233ad5"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"e86c374df6a4eaddb1a6e7d6be5c0e8470553bff","unresolved":false,"context_lines":[{"line_number":16,"context_line":"snapcopy type will fail."},{"line_number":17,"context_line":"3. Creating non-snapcopy volume from source volume with snapcopy type"},{"line_number":18,"context_line":"will fail."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Example cinder command to enable snapcopy on volume:"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"    cinder create --source-volid \u003cvol-id\u003e --metadata snapcopy\u003dTrue"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"da85f559_add454eb","line":19,"updated":"2015-11-12 14:26:21.000000000","message":"Can you add a little bit about what you did to actually fix snapcopy?","commit_id":"d8e8f83887a93ef53b3a72551288375a0b233ad5"},{"author":{"_account_id":10628,"name":"Peter Wang","email":"peter.wang13@emc.com","username":"peter_wang"},"change_message_id":"754ee494d4ec698f414a7d29d2b373e2dce9c8fb","unresolved":false,"context_lines":[{"line_number":16,"context_line":"snapcopy type will fail."},{"line_number":17,"context_line":"3. Creating non-snapcopy volume from source volume with snapcopy type"},{"line_number":18,"context_line":"will fail."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Example cinder command to enable snapcopy on volume:"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"    cinder create --source-volid \u003cvol-id\u003e --metadata snapcopy\u003dTrue"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"da85f559_3f670927","line":19,"in_reply_to":"da85f559_add454eb","updated":"2015-11-13 03:10:02.000000000","message":"Added","commit_id":"d8e8f83887a93ef53b3a72551288375a0b233ad5"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"e86c374df6a4eaddb1a6e7d6be5c0e8470553bff","unresolved":false,"context_lines":[{"line_number":22,"context_line":"    cinder create --source-volid \u003cvol-id\u003e --metadata snapcopy\u003dTrue"},{"line_number":23,"context_line":"or"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    cinder create --snapshot-id \u003csnap-id\u003e --metadata snapcopy\u003dTrue"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"DocImpact"},{"line_number":28,"context_line":"Change-Id: I91c83ddac9bcad9c7c788d7bf82bcc4dced71751"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"da85f559_ad29b4e7","line":25,"updated":"2015-11-12 14:26:21.000000000","message":"I\u0027m not sure these examples are needed since you have the other examples above. I think it\u0027s safe to take these out if no one else objects.","commit_id":"d8e8f83887a93ef53b3a72551288375a0b233ad5"},{"author":{"_account_id":10628,"name":"Peter Wang","email":"peter.wang13@emc.com","username":"peter_wang"},"change_message_id":"754ee494d4ec698f414a7d29d2b373e2dce9c8fb","unresolved":false,"context_lines":[{"line_number":22,"context_line":"    cinder create --source-volid \u003cvol-id\u003e --metadata snapcopy\u003dTrue"},{"line_number":23,"context_line":"or"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    cinder create --snapshot-id \u003csnap-id\u003e --metadata snapcopy\u003dTrue"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"DocImpact"},{"line_number":28,"context_line":"Change-Id: I91c83ddac9bcad9c7c788d7bf82bcc4dced71751"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"da85f559_4251d20d","line":25,"in_reply_to":"da85f559_ad29b4e7","updated":"2015-11-13 03:10:02.000000000","message":"Hi Nelson,\nThanks for reviewing.\n\nOther examples did not indicate how to use snapcopy feature via metadata.\ncommands here are new for VNX driver user, so i tend to leave it here. \nIt also helps if some users want to give a try before we publish official document for this feature.\n\nThanks\nPeter","commit_id":"d8e8f83887a93ef53b3a72551288375a0b233ad5"}],"cinder/tests/unit/test_emc_vnx.py":[{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"68597c1aa8cba050a58eacd4cf5d1a1c1d1eff04","unresolved":false,"context_lines":[{"line_number":70,"context_line":"        \u0027display_description\u0027: \u0027test volume\u0027,"},{"line_number":71,"context_line":"        \u0027volume_type_id\u0027: None,"},{"line_number":72,"context_line":"        \u0027consistencygroup_id\u0027: None"},{"line_number":73,"context_line":"    }"},{"line_number":74,"context_line":"    test_legacy_volume \u003d {"},{"line_number":75,"context_line":"        \u0027name\u0027: \u0027volume-1\u0027,"},{"line_number":76,"context_line":"        \u0027size\u0027: 1,"}],"source_content_type":"text/x-python","patch_set":4,"id":"da85f559_f73d94dd","line":73,"updated":"2015-11-11 13:35:02.000000000","message":"The old space line should be left here to be consistent.","commit_id":"c59759cb21fb83dd4feed2be33cd6c6e1e181980"},{"author":{"_account_id":10628,"name":"Peter Wang","email":"peter.wang13@emc.com","username":"peter_wang"},"change_message_id":"a6dffb9c8294847f2801adebdc774a46af2cb9d1","unresolved":false,"context_lines":[{"line_number":70,"context_line":"        \u0027display_description\u0027: \u0027test volume\u0027,"},{"line_number":71,"context_line":"        \u0027volume_type_id\u0027: None,"},{"line_number":72,"context_line":"        \u0027consistencygroup_id\u0027: None"},{"line_number":73,"context_line":"    }"},{"line_number":74,"context_line":"    test_legacy_volume \u003d {"},{"line_number":75,"context_line":"        \u0027name\u0027: \u0027volume-1\u0027,"},{"line_number":76,"context_line":"        \u0027size\u0027: 1,"}],"source_content_type":"text/x-python","patch_set":4,"id":"da85f559_f13d7b8f","line":73,"in_reply_to":"da85f559_f73d94dd","updated":"2015-11-12 02:35:42.000000000","message":"Done","commit_id":"c59759cb21fb83dd4feed2be33cd6c6e1e181980"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"68597c1aa8cba050a58eacd4cf5d1a1c1d1eff04","unresolved":false,"context_lines":[{"line_number":396,"context_line":"        \u0027consistencygroup_id\u0027: \u0027consistencygroup_id\u0027,"},{"line_number":397,"context_line":"        \u0027cgsnapshot_id\u0027: \u0027cgsnapshot_id\u0027,"},{"line_number":398,"context_line":"        \u0027project_id\u0027: \u0027project\u0027"},{"line_number":399,"context_line":"    }"},{"line_number":400,"context_line":"    test_member_cgsnapshot2 \u003d {"},{"line_number":401,"context_line":"        \u0027name\u0027: \u0027snapshot-2222\u0027,"},{"line_number":402,"context_line":"        \u0027size\u0027: 1,"}],"source_content_type":"text/x-python","patch_set":4,"id":"da85f559_d21dfe62","line":399,"updated":"2015-11-11 13:35:02.000000000","message":"Should leave a space line.","commit_id":"c59759cb21fb83dd4feed2be33cd6c6e1e181980"},{"author":{"_account_id":10628,"name":"Peter Wang","email":"peter.wang13@emc.com","username":"peter_wang"},"change_message_id":"a6dffb9c8294847f2801adebdc774a46af2cb9d1","unresolved":false,"context_lines":[{"line_number":396,"context_line":"        \u0027consistencygroup_id\u0027: \u0027consistencygroup_id\u0027,"},{"line_number":397,"context_line":"        \u0027cgsnapshot_id\u0027: \u0027cgsnapshot_id\u0027,"},{"line_number":398,"context_line":"        \u0027project_id\u0027: \u0027project\u0027"},{"line_number":399,"context_line":"    }"},{"line_number":400,"context_line":"    test_member_cgsnapshot2 \u003d {"},{"line_number":401,"context_line":"        \u0027name\u0027: \u0027snapshot-2222\u0027,"},{"line_number":402,"context_line":"        \u0027size\u0027: 1,"}],"source_content_type":"text/x-python","patch_set":4,"id":"da85f559_3150e3d3","line":399,"in_reply_to":"da85f559_d21dfe62","updated":"2015-11-12 02:35:42.000000000","message":"Done","commit_id":"c59759cb21fb83dd4feed2be33cd6c6e1e181980"}],"cinder/volume/drivers/emc/emc_vnx_cli.py":[{"author":{"_account_id":10439,"name":"Xi Yang","email":"yang.xi@99cloud.net","username":"phenom"},"change_message_id":"83d83f2bc07c4a083e20df35ace1ba476d204c83","unresolved":false,"context_lines":[{"line_number":1956,"context_line":"        provisioning, tiering \u003d self._get_extra_spec_value(specs)"},{"line_number":1957,"context_line":"        if \u0027snapcopy\u0027 in volume_metadata:"},{"line_number":1958,"context_line":"            # We ignore snapcopy metadata when creating volume"},{"line_number":1959,"context_line":"            del volume_metadata[\u0027snapcopy\u0027]"},{"line_number":1960,"context_line":"            LOG.warning(_LW(\u0027snapcopy metadata is ignored when\u0027"},{"line_number":1961,"context_line":"                            \u0027 creating volume.\u0027))"},{"line_number":1962,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"da85f559_3997d349","line":1959,"updated":"2015-11-10 10:06:20.000000000","message":"I see this metadata is given a value \u0027False\u0027 in line 1980. Could we do it here?","commit_id":"f30f0bcb48ea63f5cb77a98c698a843b041e652d"},{"author":{"_account_id":10628,"name":"Peter Wang","email":"peter.wang13@emc.com","username":"peter_wang"},"change_message_id":"1d91a8844e64c782438e91dfa81076efb8d73acb","unresolved":false,"context_lines":[{"line_number":1956,"context_line":"        provisioning, tiering \u003d self._get_extra_spec_value(specs)"},{"line_number":1957,"context_line":"        if \u0027snapcopy\u0027 in volume_metadata:"},{"line_number":1958,"context_line":"            # We ignore snapcopy metadata when creating volume"},{"line_number":1959,"context_line":"            del volume_metadata[\u0027snapcopy\u0027]"},{"line_number":1960,"context_line":"            LOG.warning(_LW(\u0027snapcopy metadata is ignored when\u0027"},{"line_number":1961,"context_line":"                            \u0027 creating volume.\u0027))"},{"line_number":1962,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"da85f559_7eae6f99","line":1959,"in_reply_to":"da85f559_3997d349","updated":"2015-11-11 05:57:12.000000000","message":"Done","commit_id":"f30f0bcb48ea63f5cb77a98c698a843b041e652d"},{"author":{"_account_id":10439,"name":"Xi Yang","email":"yang.xi@99cloud.net","username":"phenom"},"change_message_id":"83d83f2bc07c4a083e20df35ace1ba476d204c83","unresolved":false,"context_lines":[{"line_number":2515,"context_line":"            new_lun_id \u003d flow_engine.storage.fetch(\u0027new_smp_id\u0027)"},{"line_number":2516,"context_line":"            pl \u003d self._build_provider_location("},{"line_number":2517,"context_line":"                new_lun_id, \u0027smp\u0027, base_lun_name)"},{"line_number":2518,"context_line":"            volume_metadata[\u0027snapcopy\u0027] \u003d \u0027True\u0027"},{"line_number":2519,"context_line":"        else:"},{"line_number":2520,"context_line":"            work_flow.add(CreateSMPTask(),"},{"line_number":2521,"context_line":"                          AttachSnapTask(),"}],"source_content_type":"text/x-python","patch_set":3,"id":"da85f559_790d5b8f","line":2518,"updated":"2015-11-10 10:06:20.000000000","message":"Seems this is redundant","commit_id":"f30f0bcb48ea63f5cb77a98c698a843b041e652d"},{"author":{"_account_id":10628,"name":"Peter Wang","email":"peter.wang13@emc.com","username":"peter_wang"},"change_message_id":"1d91a8844e64c782438e91dfa81076efb8d73acb","unresolved":false,"context_lines":[{"line_number":2515,"context_line":"            new_lun_id \u003d flow_engine.storage.fetch(\u0027new_smp_id\u0027)"},{"line_number":2516,"context_line":"            pl \u003d self._build_provider_location("},{"line_number":2517,"context_line":"                new_lun_id, \u0027smp\u0027, base_lun_name)"},{"line_number":2518,"context_line":"            volume_metadata[\u0027snapcopy\u0027] \u003d \u0027True\u0027"},{"line_number":2519,"context_line":"        else:"},{"line_number":2520,"context_line":"            work_flow.add(CreateSMPTask(),"},{"line_number":2521,"context_line":"                          AttachSnapTask(),"}],"source_content_type":"text/x-python","patch_set":3,"id":"da85f559_9e331314","line":2518,"in_reply_to":"da85f559_790d5b8f","updated":"2015-11-11 05:57:12.000000000","message":"Yes, the True is already in metadata\n\nRemoved","commit_id":"f30f0bcb48ea63f5cb77a98c698a843b041e652d"},{"author":{"_account_id":10439,"name":"Xi Yang","email":"yang.xi@99cloud.net","username":"phenom"},"change_message_id":"83d83f2bc07c4a083e20df35ace1ba476d204c83","unresolved":false,"context_lines":[{"line_number":2527,"context_line":"            new_lun_id \u003d flow_engine.storage.fetch(\u0027new_lun_id\u0027)"},{"line_number":2528,"context_line":"            pl \u003d self._build_provider_location("},{"line_number":2529,"context_line":"                new_lun_id, \u0027lun\u0027, volume[\u0027name\u0027])"},{"line_number":2530,"context_line":"            volume_metadata[\u0027snapcopy\u0027] \u003d \u0027False\u0027"},{"line_number":2531,"context_line":"        model_update \u003d {\u0027provider_location\u0027: pl,"},{"line_number":2532,"context_line":"                        \u0027metadata\u0027: volume_metadata}"},{"line_number":2533,"context_line":"        volume_host \u003d volume[\u0027host\u0027]"}],"source_content_type":"text/x-python","patch_set":3,"id":"da85f559_f9214bfc","line":2530,"updated":"2015-11-10 10:06:20.000000000","message":"Same","commit_id":"f30f0bcb48ea63f5cb77a98c698a843b041e652d"},{"author":{"_account_id":10628,"name":"Peter Wang","email":"peter.wang13@emc.com","username":"peter_wang"},"change_message_id":"1d91a8844e64c782438e91dfa81076efb8d73acb","unresolved":false,"context_lines":[{"line_number":2527,"context_line":"            new_lun_id \u003d flow_engine.storage.fetch(\u0027new_lun_id\u0027)"},{"line_number":2528,"context_line":"            pl \u003d self._build_provider_location("},{"line_number":2529,"context_line":"                new_lun_id, \u0027lun\u0027, volume[\u0027name\u0027])"},{"line_number":2530,"context_line":"            volume_metadata[\u0027snapcopy\u0027] \u003d \u0027False\u0027"},{"line_number":2531,"context_line":"        model_update \u003d {\u0027provider_location\u0027: pl,"},{"line_number":2532,"context_line":"                        \u0027metadata\u0027: volume_metadata}"},{"line_number":2533,"context_line":"        volume_host \u003d volume[\u0027host\u0027]"}],"source_content_type":"text/x-python","patch_set":3,"id":"da85f559_3e0c6740","line":2530,"in_reply_to":"da85f559_f9214bfc","updated":"2015-11-11 05:57:12.000000000","message":"This is needed, since, the snapcopy maybe EMPTY.\n\nso, I need to set it explicitly","commit_id":"f30f0bcb48ea63f5cb77a98c698a843b041e652d"}]}
