)]}'
{"cinder/tests/test_emc_vmax.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"91e9acc2df54085890ae83818b0e5ee6cdcedf1f","unresolved":false,"context_lines":[{"line_number":1933,"context_line":""},{"line_number":1934,"context_line":"    @mock.patch.object("},{"line_number":1935,"context_line":"        emc_vmax_utils.EMCVMAXUtils,"},{"line_number":1936,"context_line":"        \u0027isArrayV3\u0027,"},{"line_number":1937,"context_line":"        return_value\u003dFalse)"},{"line_number":1938,"context_line":"    @mock.patch.object("},{"line_number":1939,"context_line":"        emc_vmax_utils.EMCVMAXUtils,"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba7be1f8_e487d30d","line":1936,"updated":"2015-02-20 20:54:10.000000000","message":"These changes don\u0027t appear to be related to updating docstrings. Did this accidentally get added to this patchset, or should the commit message be expanded?","commit_id":"4d8ccf16db2ad53fec6d7c998b1d8dbacb9e7fa5"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"2e632fc976d3a046ef6efbb7ae98a5cbea806845","unresolved":false,"context_lines":[{"line_number":1933,"context_line":""},{"line_number":1934,"context_line":"    @mock.patch.object("},{"line_number":1935,"context_line":"        emc_vmax_utils.EMCVMAXUtils,"},{"line_number":1936,"context_line":"        \u0027isArrayV3\u0027,"},{"line_number":1937,"context_line":"        return_value\u003dFalse)"},{"line_number":1938,"context_line":"    @mock.patch.object("},{"line_number":1939,"context_line":"        emc_vmax_utils.EMCVMAXUtils,"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba7be1f8_b6bb3f0d","line":1936,"in_reply_to":"ba7be1f8_e487d30d","updated":"2015-02-21 19:39:15.000000000","message":"Good catch. This is for addressing the mock parameter order. There should be more than this. So I\u0027ll check. If there are more, we should submit another patch for it.","commit_id":"4d8ccf16db2ad53fec6d7c998b1d8dbacb9e7fa5"}],"cinder/volume/drivers/emc/emc_vmax_common.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"91e9acc2df54085890ae83818b0e5ee6cdcedf1f","unresolved":false,"context_lines":[{"line_number":250,"context_line":"    def create_cloned_volume(self, cloneVolume, sourceVolume):"},{"line_number":251,"context_line":"        \"\"\"Creates a clone of the specified volume."},{"line_number":252,"context_line":""},{"line_number":253,"context_line":"        :param CloneVolume: clone volume Object"},{"line_number":254,"context_line":"        :param sourceVolume: volume object"},{"line_number":255,"context_line":"        :returns: cloneVolumeDict -- the cloned volume dictionary"},{"line_number":256,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"ba7be1f8_84b617db","line":253,"updated":"2015-02-20 20:54:10.000000000","message":"/CloneVolume/cloneVolume/","commit_id":"4d8ccf16db2ad53fec6d7c998b1d8dbacb9e7fa5"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"91e9acc2df54085890ae83818b0e5ee6cdcedf1f","unresolved":false,"context_lines":[{"line_number":304,"context_line":""},{"line_number":305,"context_line":"        :param controllerConfigService: instance name of "},{"line_number":306,"context_line":"            ControllerConfigurationService"},{"line_number":307,"context_line":"        :param volume: volume Object"},{"line_number":308,"context_line":"        :param extraSpecs: the volume extra specs"},{"line_number":309,"context_line":"        :param connector: the connector object"},{"line_number":310,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"ba7be1f8_a4e23bd3","line":307,"updated":"2015-02-20 20:54:10.000000000","message":"/volume/volumeInstance/","commit_id":"4d8ccf16db2ad53fec6d7c998b1d8dbacb9e7fa5"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"91e9acc2df54085890ae83818b0e5ee6cdcedf1f","unresolved":false,"context_lines":[{"line_number":489,"context_line":"        2. The volume can only be concatenated"},{"line_number":490,"context_line":"           e.g StorageExtent.IsConcatenated\u003dTrue"},{"line_number":491,"context_line":""},{"line_number":492,"context_line":"        :params volume: the volume Object"},{"line_number":493,"context_line":"        :params newSize: the new size to increase the volume to"},{"line_number":494,"context_line":"        :raises: VolumeBackendAPIException"},{"line_number":495,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"ba7be1f8_64ef63b1","line":492,"updated":"2015-02-20 20:54:10.000000000","message":":returns modifiedVolumeDict -- The modifications?","commit_id":"4d8ccf16db2ad53fec6d7c998b1d8dbacb9e7fa5"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"91e9acc2df54085890ae83818b0e5ee6cdcedf1f","unresolved":false,"context_lines":[{"line_number":754,"context_line":"        :param volumeInstance: the volume instance"},{"line_number":755,"context_line":"        :param storageSystemName: the storage system name"},{"line_number":756,"context_line":"        :param sourceFastPolicyName: the source FAST policy name"},{"line_number":757,"context_line":"        :param volumeName: the volume Name"},{"line_number":758,"context_line":"        :returns: boolean -- True/False"},{"line_number":759,"context_line":"        :returns: int -- the return code from migrate operation"},{"line_number":760,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"ba7be1f8_e488b3e9","line":757,"updated":"2015-02-20 20:54:10.000000000","message":"Missing sourcePoolInstanceName.","commit_id":"4d8ccf16db2ad53fec6d7c998b1d8dbacb9e7fa5"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"91e9acc2df54085890ae83818b0e5ee6cdcedf1f","unresolved":false,"context_lines":[{"line_number":1179,"context_line":"        extra specs associated with it."},{"line_number":1180,"context_line":"        Based on the name of the config group, register the config file"},{"line_number":1181,"context_line":""},{"line_number":1182,"context_line":"        :param volume: the volume object including the volume_type_id"},{"line_number":1183,"context_line":"        :returns: tuple -- the extra specs tuple"},{"line_number":1184,"context_line":"        :returns: string -- configuration file"},{"line_number":1185,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"ba7be1f8_2451eb62","line":1182,"updated":"2015-02-20 20:54:10.000000000","message":"Missing volumeTypeId","commit_id":"4d8ccf16db2ad53fec6d7c998b1d8dbacb9e7fa5"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"91e9acc2df54085890ae83818b0e5ee6cdcedf1f","unresolved":false,"context_lines":[{"line_number":1287,"context_line":""},{"line_number":1288,"context_line":"    def _find_lun(self, volume):"},{"line_number":1289,"context_line":"        \"\"\"Given the volume get the instance from it."},{"line_number":1290,"context_line":""},{"line_number":1291,"context_line":"        :param conn: connection the the ecom server"},{"line_number":1292,"context_line":"        :param volume: volume object"},{"line_number":1293,"context_line":"        :returns: foundVolumeinstance"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba7be1f8_04db07ee","line":1290,"updated":"2015-02-20 20:54:10.000000000","message":"Remove param conn.","commit_id":"4d8ccf16db2ad53fec6d7c998b1d8dbacb9e7fa5"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"91e9acc2df54085890ae83818b0e5ee6cdcedf1f","unresolved":false,"context_lines":[{"line_number":1325,"context_line":"        \"\"\"Find the storage synchronized name."},{"line_number":1326,"context_line":""},{"line_number":1327,"context_line":"        :param snapshot: snapshot object"},{"line_number":1328,"context_line":"        :param volume: volume object"},{"line_number":1329,"context_line":"        :returns: string -- foundsyncname"},{"line_number":1330,"context_line":"        :returns: string -- storage_system"},{"line_number":1331,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"ba7be1f8_0402273e","line":1328,"updated":"2015-02-20 20:54:10.000000000","message":"Missing waitforsync.","commit_id":"4d8ccf16db2ad53fec6d7c998b1d8dbacb9e7fa5"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"91e9acc2df54085890ae83818b0e5ee6cdcedf1f","unresolved":false,"context_lines":[{"line_number":1593,"context_line":"        StripedMetaCount is an extra spec that determines whether"},{"line_number":1594,"context_line":"        the composite volume should be concatenated or striped."},{"line_number":1595,"context_line":""},{"line_number":1596,"context_line":"        :param volume: the volume Object"},{"line_number":1597,"context_line":"        :returns: tuple -- extra spec tuple"},{"line_number":1598,"context_line":"        :returns: string -- the configuration file"},{"line_number":1599,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"ba7be1f8_44933ffa","line":1596,"updated":"2015-02-20 20:54:10.000000000","message":"Missing volumeTypeId.","commit_id":"4d8ccf16db2ad53fec6d7c998b1d8dbacb9e7fa5"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"91e9acc2df54085890ae83818b0e5ee6cdcedf1f","unresolved":false,"context_lines":[{"line_number":1809,"context_line":"        :params poolInstanceName: the pool instance name"},{"line_number":1810,"context_line":"        :params volumeName: the volume name"},{"line_number":1811,"context_line":"        :params volumeSize: the size to create the volume"},{"line_number":1812,"context_line":"        :returns: volumeInstance, the volume instance"},{"line_number":1813,"context_line":"        \"\"\""},{"line_number":1814,"context_line":"        volumeDict, _ \u003d ("},{"line_number":1815,"context_line":"            self.provision.create_volume_from_pool("}],"source_content_type":"text/x-python","patch_set":1,"id":"ba7be1f8_84637719","line":1812,"updated":"2015-02-20 20:54:10.000000000","message":"/,/ --/?","commit_id":"4d8ccf16db2ad53fec6d7c998b1d8dbacb9e7fa5"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"91e9acc2df54085890ae83818b0e5ee6cdcedf1f","unresolved":false,"context_lines":[{"line_number":1829,"context_line":"        :param poolInstanceName: the pool instance name"},{"line_number":1830,"context_line":"        :param volumeInstanceName: the volume instance name"},{"line_number":1831,"context_line":"        :param volumeName: string the volumeName"},{"line_number":1832,"context_line":"        :returns: unboundVolumeInstance, the unbound volume instance"},{"line_number":1833,"context_line":"        \"\"\""},{"line_number":1834,"context_line":""},{"line_number":1835,"context_line":"        _, job \u003d ("}],"source_content_type":"text/x-python","patch_set":1,"id":"ba7be1f8_c46d6f06","line":1832,"updated":"2015-02-20 20:54:10.000000000","message":"/,/ --/?","commit_id":"4d8ccf16db2ad53fec6d7c998b1d8dbacb9e7fa5"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"91e9acc2df54085890ae83818b0e5ee6cdcedf1f","unresolved":false,"context_lines":[{"line_number":1908,"context_line":"        \"\"\"Create a clone volume from the source volume."},{"line_number":1909,"context_line":""},{"line_number":1910,"context_line":"        :param cloneVolume: clone volume"},{"line_number":1911,"context_line":"        :param sourceVolume: source of the clone volume"},{"line_number":1912,"context_line":"        :returns: dict -- cloneDict the cloned volume dictionary"},{"line_number":1913,"context_line":"        \"\"\""},{"line_number":1914,"context_line":"        extraSpecs \u003d self._initial_setup(cloneVolume)"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba7be1f8_a436bb01","line":1911,"updated":"2015-02-20 20:54:10.000000000","message":"Missing isSnapshot.","commit_id":"4d8ccf16db2ad53fec6d7c998b1d8dbacb9e7fa5"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"91e9acc2df54085890ae83818b0e5ee6cdcedf1f","unresolved":false,"context_lines":[{"line_number":2284,"context_line":"        \"\"\"Deletes a consistency group."},{"line_number":2285,"context_line":""},{"line_number":2286,"context_line":"        :param context:"},{"line_number":2287,"context_line":"        :param group: the group object to be deleted"},{"line_number":2288,"context_line":"        :returns: modelUpdate, volumes"},{"line_number":2289,"context_line":"        \"\"\""},{"line_number":2290,"context_line":"        LOG.info(_LI(\"Delete Consistency Group: %(group)s.\"),"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba7be1f8_a41ddb75","line":2287,"updated":"2015-02-20 20:54:10.000000000","message":"Missing volume.","commit_id":"4d8ccf16db2ad53fec6d7c998b1d8dbacb9e7fa5"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"91e9acc2df54085890ae83818b0e5ee6cdcedf1f","unresolved":false,"context_lines":[{"line_number":2851,"context_line":"        :param host: the host object"},{"line_number":2852,"context_line":"        :param volumeName: the name of the volume"},{"line_number":2853,"context_line":"        :param volumeStatus: the volume status"},{"line_number":2854,"context_line":"        :param extraSpecs: the extra specs dict"},{"line_number":2855,"context_line":"        :param newType:"},{"line_number":2856,"context_line":"        :returns: boolean"},{"line_number":2857,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"ba7be1f8_9f2660b9","line":2854,"updated":"2015-02-20 20:54:10.000000000","message":"Description?","commit_id":"4d8ccf16db2ad53fec6d7c998b1d8dbacb9e7fa5"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"91e9acc2df54085890ae83818b0e5ee6cdcedf1f","unresolved":false,"context_lines":[{"line_number":2895,"context_line":"        :param poolName: the SRP Pool Name"},{"line_number":2896,"context_line":"        :param targetSlo: the target SLO"},{"line_number":2897,"context_line":"        :param targetWorkload: the target workload"},{"line_number":2898,"context_line":"        :param storageSystemName: the storage system name"},{"line_number":2899,"context_line":"        :param newType:"},{"line_number":2900,"context_line":"        :returns: boolean"},{"line_number":2901,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"ba7be1f8_5f34e8dd","line":2898,"updated":"2015-02-20 20:54:10.000000000","message":"Description?","commit_id":"4d8ccf16db2ad53fec6d7c998b1d8dbacb9e7fa5"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"91e9acc2df54085890ae83818b0e5ee6cdcedf1f","unresolved":false,"context_lines":[{"line_number":3004,"context_line":"        \"\"\"Update pool statistics (V2)."},{"line_number":3005,"context_line":""},{"line_number":3006,"context_line":"        :param emcConfigFileName: the EMC configuration file"},{"line_number":3007,"context_line":"        :param backendName: the backend name"},{"line_number":3008,"context_line":"        :param arrayName: the array Name"},{"line_number":3009,"context_line":"        :returns: location_info, total_capacity_gb, free_capacity_gb"},{"line_number":3010,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"ba7be1f8_5fb9482d","line":3007,"updated":"2015-02-20 20:54:10.000000000","message":"Missing poolName.","commit_id":"4d8ccf16db2ad53fec6d7c998b1d8dbacb9e7fa5"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"91e9acc2df54085890ae83818b0e5ee6cdcedf1f","unresolved":false,"context_lines":[{"line_number":3475,"context_line":"                      \u0027targetWwns\u0027: str(targetWwns)})"},{"line_number":3476,"context_line":"        return targetWwns"},{"line_number":3477,"context_line":""},{"line_number":3478,"context_line":"    def get_port_group_from_masking_view(self, maskingViewInstanceName):"},{"line_number":3479,"context_line":"        return self.masking.get_port_group_from_masking_view("},{"line_number":3480,"context_line":"            self.conn, maskingViewInstanceName)"},{"line_number":3481,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"ba7be1f8_1fdd1071","line":3478,"updated":"2015-02-20 20:54:10.000000000","message":"Should docstring be added here? Seems like it is the only one without.","commit_id":"4d8ccf16db2ad53fec6d7c998b1d8dbacb9e7fa5"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"91e9acc2df54085890ae83818b0e5ee6cdcedf1f","unresolved":false,"context_lines":[{"line_number":3574,"context_line":"        \"\"\"Helper function to delete a consistency group and its member volumes"},{"line_number":3575,"context_line":""},{"line_number":3576,"context_line":"        :param storageSystem: storage system"},{"line_number":3577,"context_line":"        :param repServiceInstanceName: the replication service"},{"line_number":3578,"context_line":"        :param cgInstanceName: consistency group instance name"},{"line_number":3579,"context_line":"        \"\"\""},{"line_number":3580,"context_line":"        replicationService \u003d self.utils.find_replication_service("}],"source_content_type":"text/x-python","patch_set":1,"id":"ba7be1f8_5fbea800","line":3577,"updated":"2015-02-20 20:54:10.000000000","message":"Remove repServiceInstanceName and cgInstanceName, add extraSpecs, cgName, modelUpdate, and volumes.","commit_id":"4d8ccf16db2ad53fec6d7c998b1d8dbacb9e7fa5"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"6879f0431a0c5844e02ad1b1178e4f2e7dc7eff3","unresolved":false,"context_lines":[{"line_number":3031,"context_line":"        :param emcConfigFileName: the EMC configuration file"},{"line_number":3032,"context_line":"        :param backendName: the backend name"},{"line_number":3033,"context_line":"        :param arrayName: the array name"},{"line_number":3034,"context_line":"        :param poolName: the pol name"},{"line_number":3035,"context_line":"        :returns: location_info, total_capacity_gb, free_capacity_gb"},{"line_number":3036,"context_line":"        \"\"\""},{"line_number":3037,"context_line":"        # This value can be None."}],"source_content_type":"text/x-python","patch_set":3,"id":"ba7be1f8_a47ddbe9","line":3034,"updated":"2015-02-27 15:16:01.000000000","message":"/pol/pool/","commit_id":"2dfe1ea799585679c2c00192657970d64031f765"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"d52ec8a4e816d3e9212bb26224dab224364b5107","unresolved":false,"context_lines":[{"line_number":3031,"context_line":"        :param emcConfigFileName: the EMC configuration file"},{"line_number":3032,"context_line":"        :param backendName: the backend name"},{"line_number":3033,"context_line":"        :param arrayName: the array name"},{"line_number":3034,"context_line":"        :param poolName: the pol name"},{"line_number":3035,"context_line":"        :returns: location_info, total_capacity_gb, free_capacity_gb"},{"line_number":3036,"context_line":"        \"\"\""},{"line_number":3037,"context_line":"        # This value can be None."}],"source_content_type":"text/x-python","patch_set":3,"id":"ba7be1f8_1f4a7027","line":3034,"in_reply_to":"ba7be1f8_a47ddbe9","updated":"2015-02-27 15:22:28.000000000","message":"Will fix.","commit_id":"2dfe1ea799585679c2c00192657970d64031f765"}],"cinder/volume/drivers/emc/emc_vmax_fast.py":[{"author":{"_account_id":14271,"name":"Kallebe Monteiro","email":"kallebe.monteiro@lsbd.ufc.br","username":"kallebe"},"change_message_id":"fa06607b2cf8b3dcfeed1aabb4780166a1e2262f","unresolved":false,"context_lines":[{"line_number":177,"context_line":"                                                     volumeInstance.path))"},{"line_number":178,"context_line":"        return assocStorageGroupInstanceName"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"    def _create_default_storage_group(self, conn, controllerConfigService, fastPolicyName,"},{"line_number":181,"context_line":"                                      storageGroupName, volumeInstance):"},{"line_number":182,"context_line":"        \"\"\"Create a first volume for the storage group."},{"line_number":183,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"ba7be1f8_00bcc5ba","line":180,"updated":"2015-02-21 14:17:37.000000000","message":"pep8: line too long (90 \u003e 79 characters)","commit_id":"4d8ccf16db2ad53fec6d7c998b1d8dbacb9e7fa5"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"2e632fc976d3a046ef6efbb7ae98a5cbea806845","unresolved":false,"context_lines":[{"line_number":177,"context_line":"                                                     volumeInstance.path))"},{"line_number":178,"context_line":"        return assocStorageGroupInstanceName"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"    def _create_default_storage_group(self, conn, controllerConfigService, fastPolicyName,"},{"line_number":181,"context_line":"                                      storageGroupName, volumeInstance):"},{"line_number":182,"context_line":"        \"\"\"Create a first volume for the storage group."},{"line_number":183,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"ba7be1f8_564be32a","line":180,"in_reply_to":"ba7be1f8_00bcc5ba","updated":"2015-02-21 19:39:15.000000000","message":"I wonder why pep8 didn\u0027t catch this.","commit_id":"4d8ccf16db2ad53fec6d7c998b1d8dbacb9e7fa5"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"91e9acc2df54085890ae83818b0e5ee6cdcedf1f","unresolved":false,"context_lines":[{"line_number":641,"context_line":"    def get_tier_policy_by_name("},{"line_number":642,"context_line":"            self, conn, arrayName, policyName):"},{"line_number":643,"context_line":"        \"\"\"Given the name of the policy, get the TierPolicyRule instance name."},{"line_number":644,"context_line":""},{"line_number":645,"context_line":"        :param policyName: the name of policy rule, a string value"},{"line_number":646,"context_line":"        :returns: string -- tier policy instance name, None if not found"},{"line_number":647,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"ba7be1f8_dfdd3844","line":644,"updated":"2015-02-20 20:54:10.000000000","message":"Add conn, arrayName.","commit_id":"4d8ccf16db2ad53fec6d7c998b1d8dbacb9e7fa5"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"91e9acc2df54085890ae83818b0e5ee6cdcedf1f","unresolved":false,"context_lines":[{"line_number":658,"context_line":""},{"line_number":659,"context_line":"        Given the name of the policy, get the total capacity and un-used"},{"line_number":660,"context_line":"        capacity in GB of all the storage pools associated with the policy."},{"line_number":661,"context_line":""},{"line_number":662,"context_line":"        :param policyName: the name of policy rule, a string value"},{"line_number":663,"context_line":"        :returns: int -- total capacity in GB of all pools associated with"},{"line_number":664,"context_line":"            the policy"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba7be1f8_1fe7d013","line":661,"updated":"2015-02-20 20:54:10.000000000","message":"Add conn and arrayName.","commit_id":"4d8ccf16db2ad53fec6d7c998b1d8dbacb9e7fa5"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"91e9acc2df54085890ae83818b0e5ee6cdcedf1f","unresolved":false,"context_lines":[{"line_number":735,"context_line":"        \"\"\"Given the pool instance name get the associated FAST tier policy."},{"line_number":736,"context_line":""},{"line_number":737,"context_line":"        :param conn: the connection information to the ecom server"},{"line_number":738,"context_line":"        :param poolInstanceName: the pool instance name"},{"line_number":739,"context_line":"        :param fastPolicyName: the FAST Policy name (if it exists)"},{"line_number":740,"context_line":"        \"\"\""},{"line_number":741,"context_line":"        fastPolicyName \u003d None"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba7be1f8_bfbfa4cf","line":738,"updated":"2015-02-20 20:54:10.000000000","message":"Remove fastPolicyName.","commit_id":"4d8ccf16db2ad53fec6d7c998b1d8dbacb9e7fa5"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"91e9acc2df54085890ae83818b0e5ee6cdcedf1f","unresolved":false,"context_lines":[{"line_number":758,"context_line":""},{"line_number":759,"context_line":"    def is_volume_in_default_SG(self, conn, volumeInstanceName):"},{"line_number":760,"context_line":"        \"\"\"Check if the volume is already part of the default storage group."},{"line_number":761,"context_line":""},{"line_number":762,"context_line":"        :param volumeInstanceName: the volume instance"},{"line_number":763,"context_line":"        :returns: boolean -- True if the volume is already in default "},{"line_number":764,"context_line":"            storage group. False otherwise"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba7be1f8_ffb91cea","line":761,"updated":"2015-02-20 20:54:10.000000000","message":"Add conn.","commit_id":"4d8ccf16db2ad53fec6d7c998b1d8dbacb9e7fa5"}],"cinder/volume/drivers/emc/emc_vmax_fc.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"91e9acc2df54085890ae83818b0e5ee6cdcedf1f","unresolved":false,"context_lines":[{"line_number":48,"context_line":"    def check_for_setup_error(self):"},{"line_number":49,"context_line":"        pass"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    def create_volume(self, volume):"},{"line_number":52,"context_line":"        \"\"\"Creates a EMC(VMAX/VNX) volume.\"\"\""},{"line_number":53,"context_line":"        volpath \u003d self.common.create_volume(volume)"},{"line_number":54,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"ba7be1f8_1f951040","line":51,"updated":"2015-02-20 20:54:10.000000000","message":"Most of these missing param and return. Should they be added?","commit_id":"4d8ccf16db2ad53fec6d7c998b1d8dbacb9e7fa5"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"2e632fc976d3a046ef6efbb7ae98a5cbea806845","unresolved":false,"context_lines":[{"line_number":48,"context_line":"    def check_for_setup_error(self):"},{"line_number":49,"context_line":"        pass"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    def create_volume(self, volume):"},{"line_number":52,"context_line":"        \"\"\"Creates a EMC(VMAX/VNX) volume.\"\"\""},{"line_number":53,"context_line":"        volpath \u003d self.common.create_volume(volume)"},{"line_number":54,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"ba7be1f8_b6525fdb","line":51,"in_reply_to":"ba7be1f8_1f951040","updated":"2015-02-21 19:39:15.000000000","message":"I think these are standard ones and well known. So I think it is okay to skip these.","commit_id":"4d8ccf16db2ad53fec6d7c998b1d8dbacb9e7fa5"}],"cinder/volume/drivers/emc/emc_vmax_https.py":[{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"2e632fc976d3a046ef6efbb7ae98a5cbea806845","unresolved":false,"context_lines":[{"line_number":54,"context_line":""},{"line_number":55,"context_line":"def get_default_ca_certs():"},{"line_number":56,"context_line":"    \"\"\"Gets the default CA certificates if found, otherwise None."},{"line_number":57,"context_line":"    "},{"line_number":58,"context_line":"    Try to find out system path with ca certificates. This path is cached and"},{"line_number":59,"context_line":"    returned. If no path is found out, None is returned."},{"line_number":60,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"ba7be1f8_f663f7ae","line":57,"updated":"2015-02-21 19:39:15.000000000","message":"Need to remove spaces.","commit_id":"4d8ccf16db2ad53fec6d7c998b1d8dbacb9e7fa5"}]}
