)]}'
{"cinder/tests/unit/test_emc_vmax.py":[{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"fbe2db626a957f41e420aececb31c590568d8ec4","unresolved":false,"context_lines":[{"line_number":3177,"context_line":"        provider_loc \u003d volume[\u0027provider_location\u0027]"},{"line_number":3178,"context_line":"        provider_loc \u003d eval(provider_loc)"},{"line_number":3179,"context_line":"        keys \u003d provider_loc[\u0027keybindings\u0027]"},{"line_number":3180,"context_line":"        self.assertEqual(keys[\u0027DeviceID\u0027], deviceId)"},{"line_number":3181,"context_line":""},{"line_number":3182,"context_line":"    def test_update_cg_member_volumes_status(self):"},{"line_number":3183,"context_line":"        volumeInstanceName \u003d {\u0027CreationClassName\u0027: \"Symm_StorageVolume\","}],"source_content_type":"text/x-python","patch_set":8,"id":"3a50d1a3_90258fc3","line":3180,"updated":"2015-07-27 05:29:35.000000000","message":"Please change the order of the parameters, if deviceId is the expected value.","commit_id":"e7e4dd7d67c09984443d051787917414b48b2c18"},{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"fbe2db626a957f41e420aececb31c590568d8ec4","unresolved":false,"context_lines":[{"line_number":3202,"context_line":"        volumes \u003d utils.update_cg_member_volumes_status("},{"line_number":3203,"context_line":"            None, self.driver.db, self.data.test_CG[\u0027id\u0027],"},{"line_number":3204,"context_line":"            status, provider_locs)"},{"line_number":3205,"context_line":"        self.assertEqual(volumes[0][\u0027status\u0027], status)"},{"line_number":3206,"context_line":""},{"line_number":3207,"context_line":"    @mock.patch.object("},{"line_number":3208,"context_line":"        emc_vmax_utils.EMCVMAXUtils,"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a50d1a3_502f07a1","line":3205,"updated":"2015-07-27 05:29:35.000000000","message":"Please change the order of the parameters, if status is the expected value.","commit_id":"e7e4dd7d67c09984443d051787917414b48b2c18"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"f5522f325592370009dd89c6a0ed614c3d28a012","unresolved":false,"context_lines":[{"line_number":3225,"context_line":"        volumes \u003d []"},{"line_number":3226,"context_line":"        volumes.append(self.data.test_source_volume)"},{"line_number":3227,"context_line":"        snapshots \u003d []"},{"line_number":3228,"context_line":"        self.data.test_snapshot[\u0027volume_size\u0027] \u003d \u002710\u0027"},{"line_number":3229,"context_line":"        snapshots.append(self.data.test_snapshot)"},{"line_number":3230,"context_line":"        self.driver.create_consistencygroup_from_src("},{"line_number":3231,"context_line":"            self.data.test_ctxt, self.data.test_CG, volumes,"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a50d1a3_835eab43","line":3228,"updated":"2015-07-27 06:37:48.000000000","message":"Line 3169 use \"\", here use \u0027\u0027, should we keep consistent?","commit_id":"e7e4dd7d67c09984443d051787917414b48b2c18"},{"author":{"_account_id":16973,"name":"Skyler Berg","email":"skylertheberg@gmail.com","username":"sberg"},"change_message_id":"2b03320cb25c039e553b78d51dca675252e9d6e1","unresolved":false,"context_lines":[{"line_number":3158,"context_line":"        expected \u003d int(str(self.data.majorVersion)"},{"line_number":3159,"context_line":"                       + str(self.data.minorVersion)"},{"line_number":3160,"context_line":"                       + str(self.data.revNumber))"},{"line_number":3161,"context_line":"        self.assertEqual(version, expected)"},{"line_number":3162,"context_line":""},{"line_number":3163,"context_line":"    def test_get_pool_name(self):"},{"line_number":3164,"context_line":"        conn \u003d self.fake_ecom_connection()"}],"source_content_type":"text/x-python","patch_set":13,"id":"1a4dcd0f_49bfeb60","line":3161,"updated":"2015-08-06 22:49:33.000000000","message":"Argument order in assertEqual should be (expected, actual).","commit_id":"c2d010f666372dfd61680b8e84eb1c4f04097481"},{"author":{"_account_id":16973,"name":"Skyler Berg","email":"skylertheberg@gmail.com","username":"sberg"},"change_message_id":"2b03320cb25c039e553b78d51dca675252e9d6e1","unresolved":false,"context_lines":[{"line_number":3167,"context_line":"        poolInstanceName[\u0027InstanceID\u0027] \u003d \"SATA_GOLD1\""},{"line_number":3168,"context_line":"        poolInstanceName[\u0027CreationClassName\u0027] \u003d \u0027Symm_VirtualProvisioningPool\u0027"},{"line_number":3169,"context_line":"        poolName \u003d utils._get_pool_name(conn, poolInstanceName)"},{"line_number":3170,"context_line":"        self.assertEqual(poolName, self.data.poolname)"},{"line_number":3171,"context_line":""},{"line_number":3172,"context_line":"    def test_get_meta_members_capacity_in_byte(self):"},{"line_number":3173,"context_line":"        conn \u003d self.fake_ecom_connection()"}],"source_content_type":"text/x-python","patch_set":13,"id":"1a4dcd0f_29b85f74","line":3170,"updated":"2015-08-06 22:49:33.000000000","message":"AssertEqual should take arguments in order (expected, observed).","commit_id":"c2d010f666372dfd61680b8e84eb1c4f04097481"},{"author":{"_account_id":16973,"name":"Skyler Berg","email":"skylertheberg@gmail.com","username":"sberg"},"change_message_id":"2b03320cb25c039e553b78d51dca675252e9d6e1","unresolved":false,"context_lines":[{"line_number":3204,"context_line":"        expected \u003d [headSize * blockSize,"},{"line_number":3205,"context_line":"                    metaMember1[\u0027ConsumableBlocks\u0027] * blockSize,"},{"line_number":3206,"context_line":"                    metaMember2[\u0027ConsumableBlocks\u0027] * blockSize]"},{"line_number":3207,"context_line":"        self.assertEqual(capacities, expected)"},{"line_number":3208,"context_line":""},{"line_number":3209,"context_line":"    def test_get_composite_elements(self):"},{"line_number":3210,"context_line":"        conn \u003d self.fake_ecom_connection()"}],"source_content_type":"text/x-python","patch_set":13,"id":"1a4dcd0f_e9aef72c","line":3207,"updated":"2015-08-06 22:49:33.000000000","message":"AssertEqual should take arguments in order (expected, observed).","commit_id":"c2d010f666372dfd61680b8e84eb1c4f04097481"},{"author":{"_account_id":16973,"name":"Skyler Berg","email":"skylertheberg@gmail.com","username":"sberg"},"change_message_id":"2b03320cb25c039e553b78d51dca675252e9d6e1","unresolved":false,"context_lines":[{"line_number":3217,"context_line":"        expected \u003d [self.data.metaHead_volume,"},{"line_number":3218,"context_line":"                    self.data.meta_volume1,"},{"line_number":3219,"context_line":"                    self.data.meta_volume2]"},{"line_number":3220,"context_line":"        self.assertEqual(memberVolumeInstanceNames, expected)"},{"line_number":3221,"context_line":""},{"line_number":3222,"context_line":"    def test_update_provider_location_for_volume(self):"},{"line_number":3223,"context_line":"        deviceId \u003d \"0123\""}],"source_content_type":"text/x-python","patch_set":13,"id":"1a4dcd0f_89a97326","line":3220,"updated":"2015-08-06 22:49:33.000000000","message":"AssertEqual should take arguments in order (expected, observed).","commit_id":"c2d010f666372dfd61680b8e84eb1c4f04097481"},{"author":{"_account_id":7860,"name":"Ryan Lucio","email":"ryan.lucio@fireeye.com","username":"rlucio"},"change_message_id":"5027273d27d0d3d20ad615e737ae1493f22532fd","unresolved":false,"context_lines":[{"line_number":3182,"context_line":"        snapshots \u003d []"},{"line_number":3183,"context_line":"        self.data.test_snapshot[\u0027volume_size\u0027] \u003d \"10\""},{"line_number":3184,"context_line":"        snapshots.append(self.data.test_snapshot)"},{"line_number":3185,"context_line":"        self.driver.create_consistencygroup_from_src("},{"line_number":3186,"context_line":"            self.data.test_ctxt, self.data.test_CG, volumes,"},{"line_number":3187,"context_line":"            self.data.test_CG_snapshot, snapshots)"},{"line_number":3188,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"fa1b9901_5603b073","line":3185,"updated":"2015-08-17 22:41:52.000000000","message":"missing an assert test on call results","commit_id":"5aaa2e17ba327879901bdec72731d8e2596a0531"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"ba88f12efb2ecbd53bbbe62c8f0ba3b05b4f9571","unresolved":false,"context_lines":[{"line_number":3182,"context_line":"        snapshots \u003d []"},{"line_number":3183,"context_line":"        self.data.test_snapshot[\u0027volume_size\u0027] \u003d \"10\""},{"line_number":3184,"context_line":"        snapshots.append(self.data.test_snapshot)"},{"line_number":3185,"context_line":"        self.driver.create_consistencygroup_from_src("},{"line_number":3186,"context_line":"            self.data.test_ctxt, self.data.test_CG, volumes,"},{"line_number":3187,"context_line":"            self.data.test_CG_snapshot, snapshots)"},{"line_number":3188,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"fa1b9901_10f9b880","line":3185,"in_reply_to":"fa1b9901_5603b073","updated":"2015-08-18 01:39:21.000000000","message":"Good point.  Added.","commit_id":"5aaa2e17ba327879901bdec72731d8e2596a0531"}],"cinder/volume/drivers/emc/emc_vmax_common.py":[{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"6255fe95352275fe527f022aa6cf4b2e0612e689","unresolved":false,"context_lines":[{"line_number":4073,"context_line":"        :param sorted_snapshots: snapshots of the source volumes"},{"line_number":4074,"context_line":"        \"\"\""},{"line_number":4075,"context_line":"        LOG.debug(\"Enter EMCVMAXCommon::create_consistencygroup_from_src. \""},{"line_number":4076,"context_line":"                  \"Group to be created: %(cgId)s,\""},{"line_number":4077,"context_line":"                  \"Source snapshot: %(cgSnapshot)s. \","},{"line_number":4078,"context_line":"                  {\u0027cgId\u0027: group[\u0027id\u0027],"},{"line_number":4079,"context_line":"                   \u0027cgSnapshot\u0027: cgsnapshot[\u0027consistencygroup_id\u0027]})"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa32b979_93d51544","line":4076,"updated":"2015-06-25 05:02:42.000000000","message":"need end space","commit_id":"ee505d86528b76c8e13d5b9c3e90e3dce42b5637"},{"author":{"_account_id":16883,"name":"huyang","email":"huyang1@huawei.com","username":"huyang"},"change_message_id":"ec251e81537f99ed96f6d3cac46876408b4350ae","unresolved":false,"context_lines":[{"line_number":4157,"context_line":"                                                targetVolumeName,"},{"line_number":4158,"context_line":"                                                extraSpecs)"},{"line_number":4159,"context_line":""},{"line_number":4160,"context_line":"            sourceCgName \u003d self.utils.truncate_string(cgsnapshot[\u0027id\u0027], 8)"},{"line_number":4161,"context_line":"            sourceCgInstanceName \u003d self._find_consistency_group("},{"line_number":4162,"context_line":"                replicationService, sourceCgName)"},{"line_number":4163,"context_line":"            if sourceCgInstanceName is None:"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a50d1a3_f7ebf776","line":4160,"updated":"2015-07-24 01:55:19.000000000","message":"maybe use CONSTANT instead of \"8\".","commit_id":"0ab122ad118e41c34d7bc307decf2b3bda569409"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"63ae7515357693402f5fc769fabe530bd01e7067","unresolved":false,"context_lines":[{"line_number":4157,"context_line":"                                                targetVolumeName,"},{"line_number":4158,"context_line":"                                                extraSpecs)"},{"line_number":4159,"context_line":""},{"line_number":4160,"context_line":"            sourceCgName \u003d self.utils.truncate_string(cgsnapshot[\u0027id\u0027], 8)"},{"line_number":4161,"context_line":"            sourceCgInstanceName \u003d self._find_consistency_group("},{"line_number":4162,"context_line":"                replicationService, sourceCgName)"},{"line_number":4163,"context_line":"            if sourceCgInstanceName is None:"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a50d1a3_70180376","line":4160,"in_reply_to":"3a50d1a3_f7ebf776","updated":"2015-07-27 04:22:52.000000000","message":"Done","commit_id":"0ab122ad118e41c34d7bc307decf2b3bda569409"},{"author":{"_account_id":16883,"name":"huyang","email":"huyang1@huawei.com","username":"huyang"},"change_message_id":"ec251e81537f99ed96f6d3cac46876408b4350ae","unresolved":false,"context_lines":[{"line_number":4166,"context_line":"                                     cgsnapshot[\u0027consistencygroup_id\u0027])"},{"line_number":4167,"context_line":"                raise exception.VolumeBackendAPIException("},{"line_number":4168,"context_line":"                    data\u003dexception_message)"},{"line_number":4169,"context_line":"            relationName \u003d self.utils.truncate_string(group[\u0027id\u0027], 5)"},{"line_number":4170,"context_line":"            if extraSpecs[ISV3]:"},{"line_number":4171,"context_line":"                self.provisionv3.create_group_replica("},{"line_number":4172,"context_line":"                    self.conn, replicationService, sourceCgInstanceName,"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a50d1a3_9701533c","line":4169,"updated":"2015-07-24 01:55:19.000000000","message":"the same as above.","commit_id":"0ab122ad118e41c34d7bc307decf2b3bda569409"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"63ae7515357693402f5fc769fabe530bd01e7067","unresolved":false,"context_lines":[{"line_number":4166,"context_line":"                                     cgsnapshot[\u0027consistencygroup_id\u0027])"},{"line_number":4167,"context_line":"                raise exception.VolumeBackendAPIException("},{"line_number":4168,"context_line":"                    data\u003dexception_message)"},{"line_number":4169,"context_line":"            relationName \u003d self.utils.truncate_string(group[\u0027id\u0027], 5)"},{"line_number":4170,"context_line":"            if extraSpecs[ISV3]:"},{"line_number":4171,"context_line":"                self.provisionv3.create_group_replica("},{"line_number":4172,"context_line":"                    self.conn, replicationService, sourceCgInstanceName,"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a50d1a3_10265fba","line":4169,"in_reply_to":"3a50d1a3_9701533c","updated":"2015-07-27 04:22:52.000000000","message":"Done","commit_id":"0ab122ad118e41c34d7bc307decf2b3bda569409"},{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"fbe2db626a957f41e420aececb31c590568d8ec4","unresolved":false,"context_lines":[{"line_number":4098,"context_line":"        extraSpecs \u003d self._initial_setup(None, volumeTypeId)"},{"line_number":4099,"context_line":""},{"line_number":4100,"context_line":"        self.create_consistencygroup(context, group)"},{"line_number":4101,"context_line":"        targetCgName \u003d self.utils.truncate_string(group[\u0027id\u0027], 8)"},{"line_number":4102,"context_line":""},{"line_number":4103,"context_line":"        if not snapshots:"},{"line_number":4104,"context_line":"            exception_message \u003d (_(\"No source snapshots provided to create \""}],"source_content_type":"text/x-python","patch_set":8,"id":"3a50d1a3_c31fd359","line":4101,"updated":"2015-07-27 05:29:35.000000000","message":"I suggest that you replace the number with a meaningful constant or add some explanations about this number.","commit_id":"e7e4dd7d67c09984443d051787917414b48b2c18"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"f5522f325592370009dd89c6a0ed614c3d28a012","unresolved":false,"context_lines":[{"line_number":4101,"context_line":"        targetCgName \u003d self.utils.truncate_string(group[\u0027id\u0027], 8)"},{"line_number":4102,"context_line":""},{"line_number":4103,"context_line":"        if not snapshots:"},{"line_number":4104,"context_line":"            exception_message \u003d (_(\"No source snapshots provided to create \""},{"line_number":4105,"context_line":"                                   \"consistency group %s.\") % targetCgName)"},{"line_number":4106,"context_line":"            raise exception.VolumeBackendAPIException("},{"line_number":4107,"context_line":"                data\u003dexception_message)"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a50d1a3_a677353a","line":4104,"updated":"2015-07-27 06:37:48.000000000","message":"Please keep Camel-case, like line 4203, thanks.","commit_id":"e7e4dd7d67c09984443d051787917414b48b2c18"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"f5522f325592370009dd89c6a0ed614c3d28a012","unresolved":false,"context_lines":[{"line_number":4115,"context_line":"            replicationService \u003d self.utils.find_replication_service("},{"line_number":4116,"context_line":"                self.conn, storageSystem)"},{"line_number":4117,"context_line":"            if replicationService is None:"},{"line_number":4118,"context_line":"                exception_message \u003d (_("},{"line_number":4119,"context_line":"                    \"Cannot find Replication service on system %s.\") %"},{"line_number":4120,"context_line":"                    storageSystem)"},{"line_number":4121,"context_line":"                raise exception.VolumeBackendAPIException("}],"source_content_type":"text/x-python","patch_set":8,"id":"3a50d1a3_46ad1187","line":4118,"updated":"2015-07-27 06:37:48.000000000","message":"Keep Camel-case.","commit_id":"e7e4dd7d67c09984443d051787917414b48b2c18"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"f5522f325592370009dd89c6a0ed614c3d28a012","unresolved":false,"context_lines":[{"line_number":4116,"context_line":"                self.conn, storageSystem)"},{"line_number":4117,"context_line":"            if replicationService is None:"},{"line_number":4118,"context_line":"                exception_message \u003d (_("},{"line_number":4119,"context_line":"                    \"Cannot find Replication service on system %s.\") %"},{"line_number":4120,"context_line":"                    storageSystem)"},{"line_number":4121,"context_line":"                raise exception.VolumeBackendAPIException("},{"line_number":4122,"context_line":"                    data\u003dexception_message)"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a50d1a3_a646551f","line":4119,"updated":"2015-07-27 06:37:48.000000000","message":"Why \u0027Replication\u0027 begin with capital letter?","commit_id":"e7e4dd7d67c09984443d051787917414b48b2c18"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"f5522f325592370009dd89c6a0ed614c3d28a012","unresolved":false,"context_lines":[{"line_number":4164,"context_line":"            sourceCgInstanceName \u003d self._find_consistency_group("},{"line_number":4165,"context_line":"                replicationService, sourceCgName)"},{"line_number":4166,"context_line":"            if sourceCgInstanceName is None:"},{"line_number":4167,"context_line":"                exception_message \u003d (_(\"Cannot find source CG instance. \""},{"line_number":4168,"context_line":"                                       \"consistencygroup_id: %s.\") %"},{"line_number":4169,"context_line":"                                     cgsnapshot[\u0027consistencygroup_id\u0027])"},{"line_number":4170,"context_line":"                raise exception.VolumeBackendAPIException("}],"source_content_type":"text/x-python","patch_set":8,"id":"3a50d1a3_06b629dc","line":4167,"updated":"2015-07-27 06:37:48.000000000","message":"Keep Camel-case.","commit_id":"e7e4dd7d67c09984443d051787917414b48b2c18"},{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"fbe2db626a957f41e420aececb31c590568d8ec4","unresolved":false,"context_lines":[{"line_number":4186,"context_line":"            if rgSyncInstanceName is not None:"},{"line_number":4187,"context_line":"                if extraSpecs[ISV3]:"},{"line_number":4188,"context_line":"                    # Operation 7: dissolve for snapVx"},{"line_number":4189,"context_line":"                    operation \u003d self.utils.get_num(9, \u002716\u0027)"},{"line_number":4190,"context_line":"                    self.provisionv3.break_replication_relationship("},{"line_number":4191,"context_line":"                        self.conn, replicationService, rgSyncInstanceName,"},{"line_number":4192,"context_line":"                        operation, extraSpecs)"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a50d1a3_a335e7db","line":4189,"updated":"2015-07-27 05:29:35.000000000","message":"I suggest that you replace these numbers with some variable meaningful or add some explanations about this numbers.","commit_id":"e7e4dd7d67c09984443d051787917414b48b2c18"},{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"fbe2db626a957f41e420aececb31c590568d8ec4","unresolved":false,"context_lines":[{"line_number":4194,"context_line":"                    self.provision.delete_clone_relationship("},{"line_number":4195,"context_line":"                        self.conn, replicationService,"},{"line_number":4196,"context_line":"                        rgSyncInstanceName, extraSpecs)"},{"line_number":4197,"context_line":"        except Exception as ex:"},{"line_number":4198,"context_line":"            modelUpdate[\u0027status\u0027] \u003d \u0027error\u0027"},{"line_number":4199,"context_line":"            cgSnapshotId \u003d cgsnapshot[\u0027consistencygroup_id\u0027]"},{"line_number":4200,"context_line":"            self.utils.update_cg_member_volumes_status("}],"source_content_type":"text/x-python","patch_set":8,"id":"3a50d1a3_2302370a","line":4197,"updated":"2015-07-27 05:29:35.000000000","message":"Xing, just remind you that if you can predict what kinds of possible exceptions can be raised, please replace with the specific exceptions and put Exception as the last exception to process. Otherwise it can be left like this.","commit_id":"e7e4dd7d67c09984443d051787917414b48b2c18"},{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"df9d63e662a02e2637a7c573b8cb42afbb75442d","unresolved":false,"context_lines":[{"line_number":4159,"context_line":"        :param group: the consistency group object to be created"},{"line_number":4160,"context_line":"        :param volumes: volumes in the consistency group"},{"line_number":4161,"context_line":"        :param cgsnapshot: the source consistency group snapshot"},{"line_number":4162,"context_line":"        :param sorted_snapshots: snapshots of the source volumes"},{"line_number":4163,"context_line":"        \"\"\""},{"line_number":4164,"context_line":"        LOG.debug(\"Enter EMCVMAXCommon::create_consistencygroup_from_src. \""},{"line_number":4165,"context_line":"                  \"Group to be created: %(cgId)s, \""}],"source_content_type":"text/x-python","patch_set":11,"id":"1a4dcd0f_7fb2d007","line":4162,"updated":"2015-08-05 23:17:12.000000000","message":"param mismatch sorted_snapshot vs. snapshots also missing db","commit_id":"31c3147ed30bc9525613f7d1cab800f4c1d7bd79"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"006036ef64ac0a2e86a9bc51156d8470ab08a34c","unresolved":false,"context_lines":[{"line_number":4159,"context_line":"        :param group: the consistency group object to be created"},{"line_number":4160,"context_line":"        :param volumes: volumes in the consistency group"},{"line_number":4161,"context_line":"        :param cgsnapshot: the source consistency group snapshot"},{"line_number":4162,"context_line":"        :param sorted_snapshots: snapshots of the source volumes"},{"line_number":4163,"context_line":"        \"\"\""},{"line_number":4164,"context_line":"        LOG.debug(\"Enter EMCVMAXCommon::create_consistencygroup_from_src. \""},{"line_number":4165,"context_line":"                  \"Group to be created: %(cgId)s, \""}],"source_content_type":"text/x-python","patch_set":11,"id":"1a4dcd0f_836ae2b1","line":4162,"in_reply_to":"1a4dcd0f_7fb2d007","updated":"2015-08-06 05:36:35.000000000","message":"Done","commit_id":"31c3147ed30bc9525613f7d1cab800f4c1d7bd79"},{"author":{"_account_id":7860,"name":"Ryan Lucio","email":"ryan.lucio@fireeye.com","username":"rlucio"},"change_message_id":"5027273d27d0d3d20ad615e737ae1493f22532fd","unresolved":false,"context_lines":[{"line_number":4146,"context_line":"        :param volumes: volumes in the consistency group"},{"line_number":4147,"context_line":"        :param cgsnapshot: the source consistency group snapshot"},{"line_number":4148,"context_line":"        :param snapshots: snapshots of the source volumes"},{"line_number":4149,"context_line":"        :param db: database"},{"line_number":4150,"context_line":"        \"\"\""},{"line_number":4151,"context_line":"        LOG.debug(\"Enter EMCVMAXCommon::create_consistencygroup_from_src. \""},{"line_number":4152,"context_line":"                  \"Group to be created: %(cgId)s, \""}],"source_content_type":"text/x-python","patch_set":17,"id":"fa1b9901_568890e7","line":4149,"updated":"2015-08-17 22:41:52.000000000","message":"probably should add a line or two for :returns:","commit_id":"5aaa2e17ba327879901bdec72731d8e2596a0531"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"ba88f12efb2ecbd53bbbe62c8f0ba3b05b4f9571","unresolved":false,"context_lines":[{"line_number":4146,"context_line":"        :param volumes: volumes in the consistency group"},{"line_number":4147,"context_line":"        :param cgsnapshot: the source consistency group snapshot"},{"line_number":4148,"context_line":"        :param snapshots: snapshots of the source volumes"},{"line_number":4149,"context_line":"        :param db: database"},{"line_number":4150,"context_line":"        \"\"\""},{"line_number":4151,"context_line":"        LOG.debug(\"Enter EMCVMAXCommon::create_consistencygroup_from_src. \""},{"line_number":4152,"context_line":"                  \"Group to be created: %(cgId)s, \""}],"source_content_type":"text/x-python","patch_set":17,"id":"fa1b9901_30007c34","line":4149,"in_reply_to":"fa1b9901_568890e7","updated":"2015-08-18 01:39:21.000000000","message":"Done","commit_id":"5aaa2e17ba327879901bdec72731d8e2596a0531"}],"cinder/volume/drivers/emc/emc_vmax_utils.py":[{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"fbe2db626a957f41e420aececb31c590568d8ec4","unresolved":false,"context_lines":[{"line_number":1516,"context_line":"        :param context: the context"},{"line_number":1517,"context_line":"        :param db: cinder database"},{"line_number":1518,"context_line":"        :param cgsnapshot_id: cgsnapshot id"},{"line_number":1519,"context_line":"        :param status: string value reflects the status of the member snapshot"},{"line_number":1520,"context_line":"        :returns: snapshots - updated snapshots"},{"line_number":1521,"context_line":"        \"\"\""},{"line_number":1522,"context_line":"        snapshots \u003d db.snapshot_get_all_for_cgsnapshot(context, cgsnapshot_id)"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a50d1a3_2350f709","line":1519,"updated":"2015-07-27 05:29:35.000000000","message":"Please add a param for providerLocs.","commit_id":"e7e4dd7d67c09984443d051787917414b48b2c18"},{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"fbe2db626a957f41e420aececb31c590568d8ec4","unresolved":false,"context_lines":[{"line_number":2215,"context_line":"        :param context: the context"},{"line_number":2216,"context_line":"        :param db: cinder database"},{"line_number":2217,"context_line":"        :param cgsnapshot_id: cgsnapshot id"},{"line_number":2218,"context_line":"        :param status: string value reflects the status of the member snapshot"},{"line_number":2219,"context_line":"        :returns: snapshots - updated snapshots"},{"line_number":2220,"context_line":"        \"\"\""},{"line_number":2221,"context_line":"        volumes \u003d db.volume_get_all_by_group(context, cgId)"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a50d1a3_8341cb3b","line":2218,"updated":"2015-07-27 05:29:35.000000000","message":"Please add providerLocs","commit_id":"e7e4dd7d67c09984443d051787917414b48b2c18"},{"author":{"_account_id":16883,"name":"huyang","email":"huyang1@huawei.com","username":"huyang"},"change_message_id":"420bfed0272230231efe94cffb458c539d20169a","unresolved":false,"context_lines":[{"line_number":2233,"context_line":"            for volume in volumes:"},{"line_number":2234,"context_line":"                volume[\u0027status\u0027] \u003d status"},{"line_number":2235,"context_line":"        else:"},{"line_number":2236,"context_line":"            LOG.info(_LI(\"No volume found for %(cg)s.\"),"},{"line_number":2237,"context_line":"                     {\u0027cg\u0027: cgId})"},{"line_number":2238,"context_line":"        return volumes"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a50d1a3_0de87d0f","line":2236,"updated":"2015-07-27 11:02:30.000000000","message":"It\u0027s better add \"CG:\" before \"%(cg)s\".","commit_id":"e7e4dd7d67c09984443d051787917414b48b2c18"},{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"df9d63e662a02e2637a7c573b8cb42afbb75442d","unresolved":false,"context_lines":[{"line_number":2216,"context_line":""},{"line_number":2217,"context_line":"        :param context: the context"},{"line_number":2218,"context_line":"        :param db: cinder database"},{"line_number":2219,"context_line":"        :param cgsnapshot_id: cgsnapshot id"},{"line_number":2220,"context_line":"        :param status: string value reflects the status of the member snapshot"},{"line_number":2221,"context_line":"        :param providerLocs: list of provider locations"},{"line_number":2222,"context_line":"        :returns: snapshots - updated snapshots"}],"source_content_type":"text/x-python","patch_set":11,"id":"1a4dcd0f_dfbd24b8","line":2219,"updated":"2015-08-05 23:17:12.000000000","message":"cgId? instead of cgsnapshot_id","commit_id":"31c3147ed30bc9525613f7d1cab800f4c1d7bd79"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"006036ef64ac0a2e86a9bc51156d8470ab08a34c","unresolved":false,"context_lines":[{"line_number":2216,"context_line":""},{"line_number":2217,"context_line":"        :param context: the context"},{"line_number":2218,"context_line":"        :param db: cinder database"},{"line_number":2219,"context_line":"        :param cgsnapshot_id: cgsnapshot id"},{"line_number":2220,"context_line":"        :param status: string value reflects the status of the member snapshot"},{"line_number":2221,"context_line":"        :param providerLocs: list of provider locations"},{"line_number":2222,"context_line":"        :returns: snapshots - updated snapshots"}],"source_content_type":"text/x-python","patch_set":11,"id":"1a4dcd0f_23650eb4","line":2219,"in_reply_to":"1a4dcd0f_dfbd24b8","updated":"2015-08-06 05:36:35.000000000","message":"Done","commit_id":"31c3147ed30bc9525613f7d1cab800f4c1d7bd79"}]}
