)]}'
{"cinder/volume/manager.py":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"8e6d1f5eaccf7181cc4650c2e9ea3a429b7134b7","unresolved":false,"context_lines":[{"line_number":1420,"context_line":"        # wrong snapshot or wrong source vol, and the \"source_volid\" would"},{"line_number":1421,"context_line":"        # be set to new volume.id below, that means if we create a volume"},{"line_number":1422,"context_line":"        # from this image, this volume would be created from right"},{"line_number":1423,"context_line":"        # new source_volid."},{"line_number":1424,"context_line":"        ext_skip \u003d {\u0027snapshot_id\u0027, \u0027source_volid\u0027}"},{"line_number":1425,"context_line":"        try:"},{"line_number":1426,"context_line":"            new_vol_values \u003d {k: volume[k] for k in (set(volume.keys()) -"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_4345bb15","line":1423,"updated":"2018-10-05 14:38:32.000000000","message":"This comment is fairly confusing...","commit_id":"fdf533ffdb497916dde8ff2d53bc387708abf519"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"1f57d0fe2fc0d572d61f693acfe41f8b8d6dba2f","unresolved":false,"context_lines":[{"line_number":1420,"context_line":"        # wrong snapshot or wrong source vol, and the \"source_volid\" would"},{"line_number":1421,"context_line":"        # be set to new volume.id below, that means if we create a volume"},{"line_number":1422,"context_line":"        # from this image, this volume would be created from right"},{"line_number":1423,"context_line":"        # new source_volid."},{"line_number":1424,"context_line":"        ext_skip \u003d {\u0027snapshot_id\u0027, \u0027source_volid\u0027}"},{"line_number":1425,"context_line":"        try:"},{"line_number":1426,"context_line":"            new_vol_values \u003d {k: volume[k] for k in (set(volume.keys()) -"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_645a2b52","line":1423,"in_reply_to":"3f79a3b5_4345bb15","updated":"2018-10-08 01:29:16.000000000","message":"Sorry for this, could you give me some more suggestion? I can reword this.","commit_id":"fdf533ffdb497916dde8ff2d53bc387708abf519"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"8e6d1f5eaccf7181cc4650c2e9ea3a429b7134b7","unresolved":false,"context_lines":[{"line_number":1424,"context_line":"        ext_skip \u003d {\u0027snapshot_id\u0027, \u0027source_volid\u0027}"},{"line_number":1425,"context_line":"        try:"},{"line_number":1426,"context_line":"            new_vol_values \u003d {k: volume[k] for k in (set(volume.keys()) -"},{"line_number":1427,"context_line":"                              self._VOLUME_CLONE_SKIP_PROPERTIES - ext_skip)}"},{"line_number":1428,"context_line":"            new_vol_values[\u0027volume_type_id\u0027] \u003d volume_type_id"},{"line_number":1429,"context_line":"            new_vol_values[\u0027attach_status\u0027] \u003d ("},{"line_number":1430,"context_line":"                fields.VolumeAttachStatus.DETACHED)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_833bd399","line":1427,"range":{"start_line":1427,"start_character":30,"end_line":1427,"end_character":75},"updated":"2018-10-05 14:38:32.000000000","message":"This doesn\u0027t look right.  The fields in ext_skip aren\u0027t in VOLUME_CLONE_SKIP_PROPERTIES..?","commit_id":"fdf533ffdb497916dde8ff2d53bc387708abf519"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"1f57d0fe2fc0d572d61f693acfe41f8b8d6dba2f","unresolved":false,"context_lines":[{"line_number":1424,"context_line":"        ext_skip \u003d {\u0027snapshot_id\u0027, \u0027source_volid\u0027}"},{"line_number":1425,"context_line":"        try:"},{"line_number":1426,"context_line":"            new_vol_values \u003d {k: volume[k] for k in (set(volume.keys()) -"},{"line_number":1427,"context_line":"                              self._VOLUME_CLONE_SKIP_PROPERTIES - ext_skip)}"},{"line_number":1428,"context_line":"            new_vol_values[\u0027volume_type_id\u0027] \u003d volume_type_id"},{"line_number":1429,"context_line":"            new_vol_values[\u0027attach_status\u0027] \u003d ("},{"line_number":1430,"context_line":"                fields.VolumeAttachStatus.DETACHED)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_247bd3bf","line":1427,"range":{"start_line":1427,"start_character":30,"end_line":1427,"end_character":75},"in_reply_to":"3f79a3b5_833bd399","updated":"2018-10-08 01:29:16.000000000","message":"set(volume.keys()) contains \u0027snapshot_id\u0027 and \u0027source_volid\u0027.\n\nset(volume.keys()) - self._VOLUME_CLONE_SKIP_PROPERTIES - ext_skip\n\nmeans we first remove all _VOLUME_CLONE_SKIP_PROPERTIES keys, and then remove ext_skip keys.\n\nBTW, the reason of I don\u0027t put these two keys into _VOLUME_CLONE_SKIP_PROPERTIES is that we also use it in [1].\n\n[1] https://review.openstack.org/#/c/606235/1/cinder/volume/manager.py@2080","commit_id":"fdf533ffdb497916dde8ff2d53bc387708abf519"}]}
