)]}'
{"cinder/tests/unit/test_emc_vmax.py":[{"author":{"_account_id":16258,"name":"nikesh","email":"nike.niec@gmail.com","username":"nikem"},"change_message_id":"bfc060e6d0435e18b970cda58879c01035a90384","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"9a41bdd9_712ff6a1","updated":"2015-07-12 08:40:34.000000000","message":"A range of dates is unnecessary. https://wiki.openstack.org/wiki/Documentation/Copyright","commit_id":"cd45fdc237eb8d2a00cdce0be72881145d78b81f"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"d56ef76352d606ac6560419275a1a17f27518150","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"9a41bdd9_7a657443","in_reply_to":"9a41bdd9_712ff6a1","updated":"2015-07-13 03:25:05.000000000","message":"Thanks for the note, nikesh. We\u0027ll fix this in a separate patch as this was not introduced by this patch and therefore it is an unrelated change.","commit_id":"cd45fdc237eb8d2a00cdce0be72881145d78b81f"}],"cinder/volume/drivers/emc/emc_vmax_common.py":[{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"2766634e817774002dd9c1670af28bc9816cef2a","unresolved":false,"context_lines":[{"line_number":1658,"context_line":"            import sys"},{"line_number":1659,"context_line":"            exceptionMessage \u003d (_("},{"line_number":1660,"context_line":"                \"Unable to get configuration information necessary to \""},{"line_number":1661,"context_line":"                \"create a volume. %(errorMessage)s\")"},{"line_number":1662,"context_line":"                % {\u0027errorMessage\u0027: sys.exc_info()[1]})"},{"line_number":1663,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dexceptionMessage)"},{"line_number":1664,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"ba3cc151_f4a02744","line":1661,"updated":"2015-07-09 00:14:50.000000000","message":"Suggest : after volume so it is clear the error goes with the message.","commit_id":"87cfdc1a5e0affea2f01b67c1faf5aa6448e167f"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"1e2cf495178040dbd8ed222ec2deba1a9ff65212","unresolved":false,"context_lines":[{"line_number":1658,"context_line":"            import sys"},{"line_number":1659,"context_line":"            exceptionMessage \u003d (_("},{"line_number":1660,"context_line":"                \"Unable to get configuration information necessary to \""},{"line_number":1661,"context_line":"                \"create a volume. %(errorMessage)s\")"},{"line_number":1662,"context_line":"                % {\u0027errorMessage\u0027: sys.exc_info()[1]})"},{"line_number":1663,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dexceptionMessage)"},{"line_number":1664,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"ba3cc151_1f6ea396","line":1661,"in_reply_to":"ba3cc151_f4a02744","updated":"2015-07-10 14:58:27.000000000","message":"Done","commit_id":"87cfdc1a5e0affea2f01b67c1faf5aa6448e167f"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"2766634e817774002dd9c1670af28bc9816cef2a","unresolved":false,"context_lines":[{"line_number":3231,"context_line":"            LOG.debug(\"The user defined interval is : %(intervalInSecs)s.\","},{"line_number":3232,"context_line":"                      {\u0027intervalInSecs\u0027: poolRecord[\u0027Interval\u0027]})"},{"line_number":3233,"context_line":"        else:"},{"line_number":3234,"context_line":"            LOG.debug(\"Interval not overriden, default of 10 assumed.\")"},{"line_number":3235,"context_line":"        if \u0027Retries\u0027 in poolRecord and poolRecord[\u0027Retries\u0027]:"},{"line_number":3236,"context_line":"            extraSpecs[RETRIES] \u003d poolRecord[\u0027Retries\u0027]"},{"line_number":3237,"context_line":"            LOG.debug(\"The user defined retries is : %(retries)s.\","}],"source_content_type":"text/x-python","patch_set":5,"id":"ba3cc151_f4d267d0","line":3234,"updated":"2015-07-09 00:14:50.000000000","message":"typo overriden -\u003e overridden","commit_id":"87cfdc1a5e0affea2f01b67c1faf5aa6448e167f"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"1e2cf495178040dbd8ed222ec2deba1a9ff65212","unresolved":false,"context_lines":[{"line_number":3231,"context_line":"            LOG.debug(\"The user defined interval is : %(intervalInSecs)s.\","},{"line_number":3232,"context_line":"                      {\u0027intervalInSecs\u0027: poolRecord[\u0027Interval\u0027]})"},{"line_number":3233,"context_line":"        else:"},{"line_number":3234,"context_line":"            LOG.debug(\"Interval not overriden, default of 10 assumed.\")"},{"line_number":3235,"context_line":"        if \u0027Retries\u0027 in poolRecord and poolRecord[\u0027Retries\u0027]:"},{"line_number":3236,"context_line":"            extraSpecs[RETRIES] \u003d poolRecord[\u0027Retries\u0027]"},{"line_number":3237,"context_line":"            LOG.debug(\"The user defined retries is : %(retries)s.\","}],"source_content_type":"text/x-python","patch_set":5,"id":"ba3cc151_3f0da7e8","line":3234,"in_reply_to":"ba3cc151_f4d267d0","updated":"2015-07-10 14:58:27.000000000","message":"Done","commit_id":"87cfdc1a5e0affea2f01b67c1faf5aa6448e167f"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"2766634e817774002dd9c1670af28bc9816cef2a","unresolved":false,"context_lines":[{"line_number":3236,"context_line":"            extraSpecs[RETRIES] \u003d poolRecord[\u0027Retries\u0027]"},{"line_number":3237,"context_line":"            LOG.debug(\"The user defined retries is : %(retries)s.\","},{"line_number":3238,"context_line":"                      {\u0027retries\u0027: poolRecord[\u0027Retries\u0027]})"},{"line_number":3239,"context_line":"        else:"},{"line_number":3240,"context_line":"            LOG.debug(\"Retries not overriden, default of 60 assumed.\")"},{"line_number":3241,"context_line":"        return extraSpecs"},{"line_number":3242,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"ba3cc151_547eb3af","line":3239,"updated":"2015-07-09 00:14:50.000000000","message":"Overridden here too.","commit_id":"87cfdc1a5e0affea2f01b67c1faf5aa6448e167f"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"1e2cf495178040dbd8ed222ec2deba1a9ff65212","unresolved":false,"context_lines":[{"line_number":3236,"context_line":"            extraSpecs[RETRIES] \u003d poolRecord[\u0027Retries\u0027]"},{"line_number":3237,"context_line":"            LOG.debug(\"The user defined retries is : %(retries)s.\","},{"line_number":3238,"context_line":"                      {\u0027retries\u0027: poolRecord[\u0027Retries\u0027]})"},{"line_number":3239,"context_line":"        else:"},{"line_number":3240,"context_line":"            LOG.debug(\"Retries not overriden, default of 60 assumed.\")"},{"line_number":3241,"context_line":"        return extraSpecs"},{"line_number":3242,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"ba3cc151_5f12eb0a","line":3239,"in_reply_to":"ba3cc151_547eb3af","updated":"2015-07-10 14:58:27.000000000","message":"Done","commit_id":"87cfdc1a5e0affea2f01b67c1faf5aa6448e167f"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"2766634e817774002dd9c1670af28bc9816cef2a","unresolved":false,"context_lines":[{"line_number":3866,"context_line":"            return pool"},{"line_number":3867,"context_line":"        try:"},{"line_number":3868,"context_line":"            pool \u003d volume_utils.extract_host(volume[\u0027host\u0027], \u0027pool\u0027)"},{"line_number":3869,"context_line":"            if pool:"},{"line_number":3870,"context_line":"                LOG.debug(\"Pool from volume[\u0027host\u0027] is %(pool)s\","},{"line_number":3871,"context_line":"                          {\u0027pool\u0027: pool})"},{"line_number":3872,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba3cc151_0f001800","line":3869,"updated":"2015-07-09 00:14:50.000000000","message":"\u0027.\u0027 At EOL.","commit_id":"87cfdc1a5e0affea2f01b67c1faf5aa6448e167f"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"1e2cf495178040dbd8ed222ec2deba1a9ff65212","unresolved":false,"context_lines":[{"line_number":3866,"context_line":"            return pool"},{"line_number":3867,"context_line":"        try:"},{"line_number":3868,"context_line":"            pool \u003d volume_utils.extract_host(volume[\u0027host\u0027], \u0027pool\u0027)"},{"line_number":3869,"context_line":"            if pool:"},{"line_number":3870,"context_line":"                LOG.debug(\"Pool from volume[\u0027host\u0027] is %(pool)s\","},{"line_number":3871,"context_line":"                          {\u0027pool\u0027: pool})"},{"line_number":3872,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba3cc151_bf01b7b1","line":3869,"in_reply_to":"ba3cc151_0f001800","updated":"2015-07-10 14:58:27.000000000","message":"Done","commit_id":"87cfdc1a5e0affea2f01b67c1faf5aa6448e167f"},{"author":{"_account_id":16258,"name":"nikesh","email":"nike.niec@gmail.com","username":"nikem"},"change_message_id":"bfc060e6d0435e18b970cda58879c01035a90384","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"9a41bdd9_b1257ec3","updated":"2015-07-12 08:40:34.000000000","message":"A range of dates is unnecessary.\nhttps://wiki.openstack.org/wiki/Documentation/Copyright","commit_id":"cd45fdc237eb8d2a00cdce0be72881145d78b81f"},{"author":{"_account_id":14377,"name":"Apoorva","email":"apps.desh@gmail.com","username":"apoorvad"},"change_message_id":"bdcdf09c56a0a728ab578ea4104db01f4f968e82","unresolved":false,"context_lines":[{"line_number":232,"context_line":"            self.provision.delete_clone_relationship("},{"line_number":233,"context_line":"                self.conn, repservice, syncName, extraSpecs)"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"        snapshot[\u0027host\u0027] \u003d volume[\u0027host\u0027]"},{"line_number":236,"context_line":"        return self._create_cloned_volume(volume, snapshot, extraSpecs, False)"},{"line_number":237,"context_line":""},{"line_number":238,"context_line":"    def create_cloned_volume(self, cloneVolume, sourceVolume):"}],"source_content_type":"text/x-python","patch_set":9,"id":"3a50d1a3_8284335e","line":235,"updated":"2015-07-22 06:03:02.000000000","message":"Is this expected? What has changed since the last assignment from line 214?","commit_id":"d58446090ee72e36e99900601c0df0d61f7efbd9"},{"author":{"_account_id":14377,"name":"Apoorva","email":"apps.desh@gmail.com","username":"apoorvad"},"change_message_id":"bdcdf09c56a0a728ab578ea4104db01f4f968e82","unresolved":false,"context_lines":[{"line_number":1598,"context_line":"        return configurationFile"},{"line_number":1599,"context_line":""},{"line_number":1600,"context_line":"    def _set_ecom_credentials(self, arrayInfo):"},{"line_number":1601,"context_line":"        \"\"\"Given the array record set the ecom credentials"},{"line_number":1602,"context_line":""},{"line_number":1603,"context_line":"        :param arrayInfo: record"},{"line_number":1604,"context_line":"        :raises: VolumeBackendAPIException"}],"source_content_type":"text/x-python","patch_set":9,"id":"3a50d1a3_bd5390e1","line":1601,"updated":"2015-07-22 06:03:02.000000000","message":"\".\" at the end","commit_id":"d58446090ee72e36e99900601c0df0d61f7efbd9"},{"author":{"_account_id":14377,"name":"Apoorva","email":"apps.desh@gmail.com","username":"apoorvad"},"change_message_id":"bdcdf09c56a0a728ab578ea4104db01f4f968e82","unresolved":false,"context_lines":[{"line_number":3297,"context_line":"                controllerConfigurationService,"},{"line_number":3298,"context_line":"                volumeInstance.path, volumeName, extraSpecs)"},{"line_number":3299,"context_line":""},{"line_number":3300,"context_line":"        LOG.debug(\"Delete Volume: %(name)s  Method: EMCReturnToStoragePool \""},{"line_number":3301,"context_line":"                  \"ConfigService: %(service)s  TheElement: %(vol_instance)s \""},{"line_number":3302,"context_line":"                  \"DeviceId: %(deviceId)s.\","},{"line_number":3303,"context_line":"                  {\u0027service\u0027: storageConfigService,"}],"source_content_type":"text/x-python","patch_set":9,"id":"3a50d1a3_1d7724d4","line":3300,"updated":"2015-07-22 06:03:02.000000000","message":"is this \"MethMethod: EMCReturnToStoragePool\" correct?","commit_id":"d58446090ee72e36e99900601c0df0d61f7efbd9"},{"author":{"_account_id":14377,"name":"Apoorva","email":"apps.desh@gmail.com","username":"apoorvad"},"change_message_id":"bdcdf09c56a0a728ab578ea4104db01f4f968e82","unresolved":false,"context_lines":[{"line_number":3854,"context_line":"        return rc"},{"line_number":3855,"context_line":""},{"line_number":3856,"context_line":"    def _validate_pool(self, volume):"},{"line_number":3857,"context_line":"        \"\"\"Get the pool from volume[\u0027host\u0027]"},{"line_number":3858,"context_line":""},{"line_number":3859,"context_line":"        There may be backward compatibiliy concerns, so putting in a"},{"line_number":3860,"context_line":"        check to see if a version has been added to provider_location."}],"source_content_type":"text/x-python","patch_set":9,"id":"3a50d1a3_7d4c289e","line":3857,"updated":"2015-07-22 06:03:02.000000000","message":"\".\" end of string","commit_id":"d58446090ee72e36e99900601c0df0d61f7efbd9"},{"author":{"_account_id":14377,"name":"Apoorva","email":"apps.desh@gmail.com","username":"apoorvad"},"change_message_id":"bdcdf09c56a0a728ab578ea4104db01f4f968e82","unresolved":false,"context_lines":[{"line_number":3887,"context_line":"                          {\u0027pool\u0027: pool})"},{"line_number":3888,"context_line":"            else:"},{"line_number":3889,"context_line":"                exceptionMessage \u003d (_("},{"line_number":3890,"context_line":"                    \"Pool from volume[\u0027host\u0027] not found.\"))"},{"line_number":3891,"context_line":"                raise exception.VolumeBackendAPIException("},{"line_number":3892,"context_line":"                    data\u003dexceptionMessage)"},{"line_number":3893,"context_line":"        except Exception as ex:"}],"source_content_type":"text/x-python","patch_set":9,"id":"3a50d1a3_1d25e4bf","line":3890,"updated":"2015-07-22 06:03:02.000000000","message":"Do you want to mention volume[\u0027host\u0027] in the message?","commit_id":"d58446090ee72e36e99900601c0df0d61f7efbd9"},{"author":{"_account_id":14377,"name":"Apoorva","email":"apps.desh@gmail.com","username":"apoorvad"},"change_message_id":"bdcdf09c56a0a728ab578ea4104db01f4f968e82","unresolved":false,"context_lines":[{"line_number":3899,"context_line":"        return pool"},{"line_number":3900,"context_line":""},{"line_number":3901,"context_line":"    def _get_version_from_provider_location(self, loc):"},{"line_number":3902,"context_line":"        \"\"\"Get the version from the provider location"},{"line_number":3903,"context_line":""},{"line_number":3904,"context_line":"        :param loc: the provider_location dict"},{"line_number":3905,"context_line":"        :returns: version or None"}],"source_content_type":"text/x-python","patch_set":9,"id":"3a50d1a3_dd2a1c90","line":3902,"updated":"2015-07-22 06:03:02.000000000","message":"\".\" EOL","commit_id":"d58446090ee72e36e99900601c0df0d61f7efbd9"},{"author":{"_account_id":16883,"name":"huyang","email":"huyang1@huawei.com","username":"huyang"},"change_message_id":"da261af17f862c335cb459fdb257726c3833d213","unresolved":false,"context_lines":[{"line_number":1657,"context_line":"            import sys"},{"line_number":1658,"context_line":"            exceptionMessage \u003d (_("},{"line_number":1659,"context_line":"                \"Unable to get configuration information necessary to \""},{"line_number":1660,"context_line":"                \"create a volume: %(errorMessage)s\")"},{"line_number":1661,"context_line":"                % {\u0027errorMessage\u0027: sys.exc_info()[1]})"},{"line_number":1662,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dexceptionMessage)"},{"line_number":1663,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"3a50d1a3_fc5e7e78","line":1660,"updated":"2015-07-24 01:30:53.000000000","message":". at EOL","commit_id":"49ea77f91e2198ca096421494926ace22d00698d"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"bd1fdec1200a34640d18703338a8a4e154a17277","unresolved":false,"context_lines":[{"line_number":1657,"context_line":"            import sys"},{"line_number":1658,"context_line":"            exceptionMessage \u003d (_("},{"line_number":1659,"context_line":"                \"Unable to get configuration information necessary to \""},{"line_number":1660,"context_line":"                \"create a volume: %(errorMessage)s\")"},{"line_number":1661,"context_line":"                % {\u0027errorMessage\u0027: sys.exc_info()[1]})"},{"line_number":1662,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dexceptionMessage)"},{"line_number":1663,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"3a50d1a3_0dddec13","line":1660,"in_reply_to":"3a50d1a3_fc5e7e78","updated":"2015-07-27 04:11:28.000000000","message":"Done","commit_id":"49ea77f91e2198ca096421494926ace22d00698d"},{"author":{"_account_id":16883,"name":"huyang","email":"huyang1@huawei.com","username":"huyang"},"change_message_id":"da261af17f862c335cb459fdb257726c3833d213","unresolved":false,"context_lines":[{"line_number":2079,"context_line":"        errorRet \u003d (rc, volumeName)"},{"line_number":2080,"context_line":""},{"line_number":2081,"context_line":"        extraSpecs \u003d self._initial_setup(volume)"},{"line_number":2082,"context_line":"#         print extraSpecs"},{"line_number":2083,"context_line":"        self.conn \u003d self._get_ecom_connection()"},{"line_number":2084,"context_line":""},{"line_number":2085,"context_line":"        volumeInstance \u003d self._find_lun(volume)"}],"source_content_type":"text/x-python","patch_set":10,"id":"3a50d1a3_1cf24a70","line":2082,"updated":"2015-07-24 01:30:53.000000000","message":"delete it. It seems debug information.","commit_id":"49ea77f91e2198ca096421494926ace22d00698d"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"bd1fdec1200a34640d18703338a8a4e154a17277","unresolved":false,"context_lines":[{"line_number":2079,"context_line":"        errorRet \u003d (rc, volumeName)"},{"line_number":2080,"context_line":""},{"line_number":2081,"context_line":"        extraSpecs \u003d self._initial_setup(volume)"},{"line_number":2082,"context_line":"#         print extraSpecs"},{"line_number":2083,"context_line":"        self.conn \u003d self._get_ecom_connection()"},{"line_number":2084,"context_line":""},{"line_number":2085,"context_line":"        volumeInstance \u003d self._find_lun(volume)"}],"source_content_type":"text/x-python","patch_set":10,"id":"3a50d1a3_cde624e8","line":2082,"in_reply_to":"3a50d1a3_1cf24a70","updated":"2015-07-27 04:11:28.000000000","message":"Done","commit_id":"49ea77f91e2198ca096421494926ace22d00698d"},{"author":{"_account_id":16883,"name":"huyang","email":"huyang1@huawei.com","username":"huyang"},"change_message_id":"da261af17f862c335cb459fdb257726c3833d213","unresolved":false,"context_lines":[{"line_number":3118,"context_line":"                    arrayInfo[\u0027FastPolicy\u0027]))"},{"line_number":3119,"context_line":"            LOG.info(_LI("},{"line_number":3120,"context_line":"                \"FAST: capacity stats for policy %(fastPolicyName)s on array \""},{"line_number":3121,"context_line":"                \"%(arrayName)s.  total_capacity_gb\u003d%(total_capacity_gb)lu, \""},{"line_number":3122,"context_line":"                \"free_capacity_gb\u003d%(free_capacity_gb)lu.\"),"},{"line_number":3123,"context_line":"                {\u0027fastPolicyName\u0027: arrayInfo[\u0027FastPolicy\u0027],"},{"line_number":3124,"context_line":"                 \u0027arrayName\u0027: arrayInfo[\u0027SerialNumber\u0027],"}],"source_content_type":"text/x-python","patch_set":10,"id":"3a50d1a3_9c85faae","line":3121,"updated":"2015-07-24 01:30:53.000000000","message":"There\u0027s an extra space after \"%(arrayName)s.\".","commit_id":"49ea77f91e2198ca096421494926ace22d00698d"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"bd1fdec1200a34640d18703338a8a4e154a17277","unresolved":false,"context_lines":[{"line_number":3118,"context_line":"                    arrayInfo[\u0027FastPolicy\u0027]))"},{"line_number":3119,"context_line":"            LOG.info(_LI("},{"line_number":3120,"context_line":"                \"FAST: capacity stats for policy %(fastPolicyName)s on array \""},{"line_number":3121,"context_line":"                \"%(arrayName)s.  total_capacity_gb\u003d%(total_capacity_gb)lu, \""},{"line_number":3122,"context_line":"                \"free_capacity_gb\u003d%(free_capacity_gb)lu.\"),"},{"line_number":3123,"context_line":"                {\u0027fastPolicyName\u0027: arrayInfo[\u0027FastPolicy\u0027],"},{"line_number":3124,"context_line":"                 \u0027arrayName\u0027: arrayInfo[\u0027SerialNumber\u0027],"}],"source_content_type":"text/x-python","patch_set":10,"id":"3a50d1a3_8dd1fcfd","line":3121,"in_reply_to":"3a50d1a3_9c85faae","updated":"2015-07-27 04:11:28.000000000","message":"Done","commit_id":"49ea77f91e2198ca096421494926ace22d00698d"},{"author":{"_account_id":16883,"name":"huyang","email":"huyang1@huawei.com","username":"huyang"},"change_message_id":"da261af17f862c335cb459fdb257726c3833d213","unresolved":false,"context_lines":[{"line_number":3281,"context_line":"                controllerConfigurationService,"},{"line_number":3282,"context_line":"                volumeInstance.path, volumeName, extraSpecs)"},{"line_number":3283,"context_line":""},{"line_number":3284,"context_line":"        LOG.debug(\"Delete Volume: %(name)s  Method: EMCReturnToStoragePool \""},{"line_number":3285,"context_line":"                  \"ConfigService: %(service)s  TheElement: %(vol_instance)s \""},{"line_number":3286,"context_line":"                  \"DeviceId: %(deviceId)s.\","},{"line_number":3287,"context_line":"                  {\u0027service\u0027: storageConfigService,"}],"source_content_type":"text/x-python","patch_set":10,"id":"3a50d1a3_fc48be8c","line":3284,"updated":"2015-07-24 01:30:53.000000000","message":"There\u0027s an extra space after \"%(name)s\".","commit_id":"49ea77f91e2198ca096421494926ace22d00698d"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"bd1fdec1200a34640d18703338a8a4e154a17277","unresolved":false,"context_lines":[{"line_number":3281,"context_line":"                controllerConfigurationService,"},{"line_number":3282,"context_line":"                volumeInstance.path, volumeName, extraSpecs)"},{"line_number":3283,"context_line":""},{"line_number":3284,"context_line":"        LOG.debug(\"Delete Volume: %(name)s  Method: EMCReturnToStoragePool \""},{"line_number":3285,"context_line":"                  \"ConfigService: %(service)s  TheElement: %(vol_instance)s \""},{"line_number":3286,"context_line":"                  \"DeviceId: %(deviceId)s.\","},{"line_number":3287,"context_line":"                  {\u0027service\u0027: storageConfigService,"}],"source_content_type":"text/x-python","patch_set":10,"id":"3a50d1a3_4ddbf41b","line":3284,"in_reply_to":"3a50d1a3_fc48be8c","updated":"2015-07-27 04:11:28.000000000","message":"Done","commit_id":"49ea77f91e2198ca096421494926ace22d00698d"},{"author":{"_account_id":16883,"name":"huyang","email":"huyang1@huawei.com","username":"huyang"},"change_message_id":"da261af17f862c335cb459fdb257726c3833d213","unresolved":false,"context_lines":[{"line_number":3282,"context_line":"                volumeInstance.path, volumeName, extraSpecs)"},{"line_number":3283,"context_line":""},{"line_number":3284,"context_line":"        LOG.debug(\"Delete Volume: %(name)s  Method: EMCReturnToStoragePool \""},{"line_number":3285,"context_line":"                  \"ConfigService: %(service)s  TheElement: %(vol_instance)s \""},{"line_number":3286,"context_line":"                  \"DeviceId: %(deviceId)s.\","},{"line_number":3287,"context_line":"                  {\u0027service\u0027: storageConfigService,"},{"line_number":3288,"context_line":"                   \u0027name\u0027: volumeName,"}],"source_content_type":"text/x-python","patch_set":10,"id":"3a50d1a3_1c4eca96","line":3285,"updated":"2015-07-24 01:30:53.000000000","message":"There\u0027s an extra space after \"%(service)s\".","commit_id":"49ea77f91e2198ca096421494926ace22d00698d"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"bd1fdec1200a34640d18703338a8a4e154a17277","unresolved":false,"context_lines":[{"line_number":3282,"context_line":"                volumeInstance.path, volumeName, extraSpecs)"},{"line_number":3283,"context_line":""},{"line_number":3284,"context_line":"        LOG.debug(\"Delete Volume: %(name)s  Method: EMCReturnToStoragePool \""},{"line_number":3285,"context_line":"                  \"ConfigService: %(service)s  TheElement: %(vol_instance)s \""},{"line_number":3286,"context_line":"                  \"DeviceId: %(deviceId)s.\","},{"line_number":3287,"context_line":"                  {\u0027service\u0027: storageConfigService,"},{"line_number":3288,"context_line":"                   \u0027name\u0027: volumeName,"}],"source_content_type":"text/x-python","patch_set":10,"id":"3a50d1a3_6dd6f0f2","line":3285,"in_reply_to":"3a50d1a3_1c4eca96","updated":"2015-07-27 04:11:28.000000000","message":"Done","commit_id":"49ea77f91e2198ca096421494926ace22d00698d"}],"cinder/volume/drivers/emc/emc_vmax_fast.py":[{"author":{"_account_id":16258,"name":"nikesh","email":"nike.niec@gmail.com","username":"nikem"},"change_message_id":"bfc060e6d0435e18b970cda58879c01035a90384","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"9a41bdd9_912cfaac","updated":"2015-07-12 08:40:34.000000000","message":"A range of dates is unnecessary. https://wiki.openstack.org/wiki/Documentation/Copyright","commit_id":"cd45fdc237eb8d2a00cdce0be72881145d78b81f"}],"cinder/volume/drivers/emc/emc_vmax_iscsi.py":[{"author":{"_account_id":16258,"name":"nikesh","email":"nike.niec@gmail.com","username":"nikem"},"change_message_id":"bfc060e6d0435e18b970cda58879c01035a90384","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"9a41bdd9_31188e84","updated":"2015-07-12 08:40:34.000000000","message":"A range of dates is unnecessary. https://wiki.openstack.org/wiki/Documentation/Copyright","commit_id":"cd45fdc237eb8d2a00cdce0be72881145d78b81f"}],"cinder/volume/drivers/emc/emc_vmax_masking.py":[{"author":{"_account_id":16258,"name":"nikesh","email":"nike.niec@gmail.com","username":"nikem"},"change_message_id":"bfc060e6d0435e18b970cda58879c01035a90384","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"9a41bdd9_11178a52","updated":"2015-07-12 08:40:34.000000000","message":"A range of dates is unnecessary. https://wiki.openstack.org/wiki/Documentation/Copyright","commit_id":"cd45fdc237eb8d2a00cdce0be72881145d78b81f"}],"cinder/volume/drivers/emc/emc_vmax_provision_v3.py":[{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"2766634e817774002dd9c1670af28bc9816cef2a","unresolved":false,"context_lines":[{"line_number":595,"context_line":""},{"line_number":596,"context_line":"            if six.text_type(arrayInfo[\u0027PoolName\u0027]) \u003d\u003d ("},{"line_number":597,"context_line":"                    six.text_type(poolnameStr)):"},{"line_number":598,"context_line":"                try:"},{"line_number":599,"context_line":"                    # Check that pool hasnt suddently been deleted."},{"line_number":600,"context_line":"                    srpPoolInstance \u003d conn.GetInstance(srpPoolInstanceName)"},{"line_number":601,"context_line":"                    propertiesList \u003d srpPoolInstance.properties.items()"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba3cc151_6f5c4419","line":598,"updated":"2015-07-09 00:14:50.000000000","message":"hasn\u0027t","commit_id":"87cfdc1a5e0affea2f01b67c1faf5aa6448e167f"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"1e2cf495178040dbd8ed222ec2deba1a9ff65212","unresolved":false,"context_lines":[{"line_number":595,"context_line":""},{"line_number":596,"context_line":"            if six.text_type(arrayInfo[\u0027PoolName\u0027]) \u003d\u003d ("},{"line_number":597,"context_line":"                    six.text_type(poolnameStr)):"},{"line_number":598,"context_line":"                try:"},{"line_number":599,"context_line":"                    # Check that pool hasnt suddently been deleted."},{"line_number":600,"context_line":"                    srpPoolInstance \u003d conn.GetInstance(srpPoolInstanceName)"},{"line_number":601,"context_line":"                    propertiesList \u003d srpPoolInstance.properties.items()"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba3cc151_7fb80fe9","line":598,"in_reply_to":"ba3cc151_6f5c4419","updated":"2015-07-10 14:58:27.000000000","message":"Done","commit_id":"87cfdc1a5e0affea2f01b67c1faf5aa6448e167f"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"2766634e817774002dd9c1670af28bc9816cef2a","unresolved":false,"context_lines":[{"line_number":658,"context_line":"                    supportedSizeDict[\u0027EMCRemainingSLOCapacity\u0027])"},{"line_number":659,"context_line":"                LOG.debug(\"Received remaining SLO Capacity \""},{"line_number":660,"context_line":"                          \"%(remainingCapacityGb)s GBs for SLO \""},{"line_number":661,"context_line":"                          \"%(SLO)s and workload %(workload)s\","},{"line_number":662,"context_line":"                          {\u0027remainingCapacityGb\u0027: remainingCapacityGb,"},{"line_number":663,"context_line":"                           \u0027SLO\u0027: arrayInfo[\u0027SLO\u0027],"},{"line_number":664,"context_line":"                           \u0027workload\u0027: arrayInfo[\u0027Workload\u0027]})"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba3cc151_eff4d4f1","line":661,"updated":"2015-07-09 00:14:50.000000000","message":"\u0027.\u0027 At EOL.","commit_id":"87cfdc1a5e0affea2f01b67c1faf5aa6448e167f"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"1e2cf495178040dbd8ed222ec2deba1a9ff65212","unresolved":false,"context_lines":[{"line_number":658,"context_line":"                    supportedSizeDict[\u0027EMCRemainingSLOCapacity\u0027])"},{"line_number":659,"context_line":"                LOG.debug(\"Received remaining SLO Capacity \""},{"line_number":660,"context_line":"                          \"%(remainingCapacityGb)s GBs for SLO \""},{"line_number":661,"context_line":"                          \"%(SLO)s and workload %(workload)s\","},{"line_number":662,"context_line":"                          {\u0027remainingCapacityGb\u0027: remainingCapacityGb,"},{"line_number":663,"context_line":"                           \u0027SLO\u0027: arrayInfo[\u0027SLO\u0027],"},{"line_number":664,"context_line":"                           \u0027workload\u0027: arrayInfo[\u0027Workload\u0027]})"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba3cc151_5fb74bf5","line":661,"in_reply_to":"ba3cc151_eff4d4f1","updated":"2015-07-10 14:58:27.000000000","message":"Done","commit_id":"87cfdc1a5e0affea2f01b67c1faf5aa6448e167f"},{"author":{"_account_id":16258,"name":"nikesh","email":"nike.niec@gmail.com","username":"nikem"},"change_message_id":"bfc060e6d0435e18b970cda58879c01035a90384","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"9a41bdd9_b10c9e43","updated":"2015-07-12 08:40:34.000000000","message":"A range of dates is unnecessary. https://wiki.openstack.org/wiki/Documentation/Copyright","commit_id":"cd45fdc237eb8d2a00cdce0be72881145d78b81f"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"cc7b785fe95db9d5cc41c71e8de1ac27cb9e003c","unresolved":false,"context_lines":[{"line_number":617,"context_line":"                    self._get_remaining_slo_capacity_wlp("},{"line_number":618,"context_line":"                        conn, srpPoolInstanceName, arrayInfo,"},{"line_number":619,"context_line":"                        storageSystemInstanceName[\u0027Name\u0027]))"},{"line_number":620,"context_line":"                if not remainingSLOCapacityGb \u003d\u003d -1:"},{"line_number":621,"context_line":"                    remainingCapacityGb \u003d remainingSLOCapacityGb"},{"line_number":622,"context_line":"                else:"},{"line_number":623,"context_line":"                    LOG.warning(_LW("}],"source_content_type":"text/x-python","patch_set":11,"id":"3a50d1a3_219eafb8","line":620,"updated":"2015-07-27 07:06:55.000000000","message":"Why not just \"if remainingSLOCapacityGb !\u003d -1:\"","commit_id":"b43de9a556991a09a4f4a9a8b9dbe8aa5037adaa"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"7f69bde4a4bb520d48ca2a08ef82db48bc896fc6","unresolved":false,"context_lines":[{"line_number":617,"context_line":"                    self._get_remaining_slo_capacity_wlp("},{"line_number":618,"context_line":"                        conn, srpPoolInstanceName, arrayInfo,"},{"line_number":619,"context_line":"                        storageSystemInstanceName[\u0027Name\u0027]))"},{"line_number":620,"context_line":"                if not remainingSLOCapacityGb \u003d\u003d -1:"},{"line_number":621,"context_line":"                    remainingCapacityGb \u003d remainingSLOCapacityGb"},{"line_number":622,"context_line":"                else:"},{"line_number":623,"context_line":"                    LOG.warning(_LW("}],"source_content_type":"text/x-python","patch_set":11,"id":"3a50d1a3_0227c3ca","line":620,"in_reply_to":"3a50d1a3_219eafb8","updated":"2015-07-28 02:06:14.000000000","message":"Done","commit_id":"b43de9a556991a09a4f4a9a8b9dbe8aa5037adaa"},{"author":{"_account_id":16883,"name":"huyang","email":"huyang1@huawei.com","username":"huyang"},"change_message_id":"950f7964dfdafaf93e0c71d69db38473507ad660","unresolved":false,"context_lines":[{"line_number":653,"context_line":"                arrayInfo[\u0027SLO\u0027], arrayInfo[\u0027Workload\u0027],"},{"line_number":654,"context_line":"                None))"},{"line_number":655,"context_line":"        try:"},{"line_number":656,"context_line":"            if supportedSizeDict[\u0027EMCInformationSource\u0027] \u003d\u003d 3:"},{"line_number":657,"context_line":"                remainingCapacityGb \u003d self.utils.convert_bits_to_gbs("},{"line_number":658,"context_line":"                    supportedSizeDict[\u0027EMCRemainingSLOCapacity\u0027])"},{"line_number":659,"context_line":"                LOG.debug(\"Received remaining SLO Capacity \""}],"source_content_type":"text/x-python","patch_set":14,"id":"3a50d1a3_e1d732ec","line":656,"updated":"2015-08-03 07:42:49.000000000","message":"what\u0027s the \"3\" means, suggest using CONSTANT.","commit_id":"4800b31629be14499c6c51c227ab74d3e6b21831"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"663baa590b6f7a9a43d8b6704c9dac2b8d3fa305","unresolved":false,"context_lines":[{"line_number":653,"context_line":"                arrayInfo[\u0027SLO\u0027], arrayInfo[\u0027Workload\u0027],"},{"line_number":654,"context_line":"                None))"},{"line_number":655,"context_line":"        try:"},{"line_number":656,"context_line":"            if supportedSizeDict[\u0027EMCInformationSource\u0027] \u003d\u003d 3:"},{"line_number":657,"context_line":"                remainingCapacityGb \u003d self.utils.convert_bits_to_gbs("},{"line_number":658,"context_line":"                    supportedSizeDict[\u0027EMCRemainingSLOCapacity\u0027])"},{"line_number":659,"context_line":"                LOG.debug(\"Received remaining SLO Capacity \""}],"source_content_type":"text/x-python","patch_set":14,"id":"1a4dcd0f_8117ccec","line":656,"in_reply_to":"3a50d1a3_e1d732ec","updated":"2015-08-03 20:18:54.000000000","message":"Done","commit_id":"4800b31629be14499c6c51c227ab74d3e6b21831"}],"cinder/volume/drivers/emc/emc_vmax_utils.py":[{"author":{"_account_id":16883,"name":"huyang","email":"huyang1@huawei.com","username":"huyang"},"change_message_id":"bc7f4d2efb9743799a2bf6d94d7459f2d4a1c8dd","unresolved":false,"context_lines":[{"line_number":1440,"context_line":"        return foundPoolInstanceName, systemNameStr"},{"line_number":1441,"context_line":""},{"line_number":1442,"context_line":"    def get_pool_name(self, conn, poolInstanceName):"},{"line_number":1443,"context_line":"        \"\"\"The pool name from the instance"},{"line_number":1444,"context_line":""},{"line_number":1445,"context_line":"        :param conn: the ecom connection"},{"line_number":1446,"context_line":"        :param poolInstanceName: the pool instance"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba3cc151_e8fa8042","line":1443,"updated":"2015-07-09 06:45:40.000000000","message":"Get the pool name from the instance name?","commit_id":"87cfdc1a5e0affea2f01b67c1faf5aa6448e167f"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"1e2cf495178040dbd8ed222ec2deba1a9ff65212","unresolved":false,"context_lines":[{"line_number":1440,"context_line":"        return foundPoolInstanceName, systemNameStr"},{"line_number":1441,"context_line":""},{"line_number":1442,"context_line":"    def get_pool_name(self, conn, poolInstanceName):"},{"line_number":1443,"context_line":"        \"\"\"The pool name from the instance"},{"line_number":1444,"context_line":""},{"line_number":1445,"context_line":"        :param conn: the ecom connection"},{"line_number":1446,"context_line":"        :param poolInstanceName: the pool instance"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba3cc151_df711b46","line":1443,"in_reply_to":"ba3cc151_e8fa8042","updated":"2015-07-10 14:58:27.000000000","message":"Done","commit_id":"87cfdc1a5e0affea2f01b67c1faf5aa6448e167f"},{"author":{"_account_id":16883,"name":"huyang","email":"huyang1@huawei.com","username":"huyang"},"change_message_id":"bc7f4d2efb9743799a2bf6d94d7459f2d4a1c8dd","unresolved":false,"context_lines":[{"line_number":1455,"context_line":"        return poolnameStr"},{"line_number":1456,"context_line":""},{"line_number":1457,"context_line":"    def find_storageSystem(self, conn, arrayStr):"},{"line_number":1458,"context_line":"        \"\"\"Find an array instance name given the array name."},{"line_number":1459,"context_line":""},{"line_number":1460,"context_line":"        :param conn: the ecom connection"},{"line_number":1461,"context_line":"        :param arrayStr: the array Serial number (string)"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba3cc151_e8e360a2","line":1458,"updated":"2015-07-09 06:45:40.000000000","message":"lack of \"by\"?","commit_id":"87cfdc1a5e0affea2f01b67c1faf5aa6448e167f"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"1e2cf495178040dbd8ed222ec2deba1a9ff65212","unresolved":false,"context_lines":[{"line_number":1455,"context_line":"        return poolnameStr"},{"line_number":1456,"context_line":""},{"line_number":1457,"context_line":"    def find_storageSystem(self, conn, arrayStr):"},{"line_number":1458,"context_line":"        \"\"\"Find an array instance name given the array name."},{"line_number":1459,"context_line":""},{"line_number":1460,"context_line":"        :param conn: the ecom connection"},{"line_number":1461,"context_line":"        :param arrayStr: the array Serial number (string)"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba3cc151_bf4777bb","line":1458,"in_reply_to":"ba3cc151_e8e360a2","updated":"2015-07-10 14:58:27.000000000","message":"Done","commit_id":"87cfdc1a5e0affea2f01b67c1faf5aa6448e167f"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"2766634e817774002dd9c1670af28bc9816cef2a","unresolved":false,"context_lines":[{"line_number":1895,"context_line":"                                                         interval, retries,"},{"line_number":1896,"context_line":"                                                         myList)"},{"line_number":1897,"context_line":"                    else:"},{"line_number":1898,"context_line":"                        LOG.error(_LE("},{"line_number":1899,"context_line":"                            \"Please check your xml for errors.\"))"},{"line_number":1900,"context_line":"        except IndexError:"},{"line_number":1901,"context_line":"            pass"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba3cc151_6fec44bb","line":1898,"updated":"2015-07-09 00:14:50.000000000","message":"Seems like there should be more to this error message.  Like explaining why they should check their xml.","commit_id":"87cfdc1a5e0affea2f01b67c1faf5aa6448e167f"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"1e2cf495178040dbd8ed222ec2deba1a9ff65212","unresolved":false,"context_lines":[{"line_number":1895,"context_line":"                                                         interval, retries,"},{"line_number":1896,"context_line":"                                                         myList)"},{"line_number":1897,"context_line":"                    else:"},{"line_number":1898,"context_line":"                        LOG.error(_LE("},{"line_number":1899,"context_line":"                            \"Please check your xml for errors.\"))"},{"line_number":1900,"context_line":"        except IndexError:"},{"line_number":1901,"context_line":"            pass"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba3cc151_bfabf774","line":1898,"in_reply_to":"ba3cc151_6fec44bb","updated":"2015-07-10 14:58:27.000000000","message":"Done","commit_id":"87cfdc1a5e0affea2f01b67c1faf5aa6448e167f"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"2766634e817774002dd9c1670af28bc9816cef2a","unresolved":false,"context_lines":[{"line_number":2049,"context_line":""},{"line_number":2050,"context_line":"        if len(set(serialNumberList)) \u003e 1:"},{"line_number":2051,"context_line":"            # We have more than one serial number in the dict"},{"line_number":2052,"context_line":"            exception_message \u003d (_(\"You must have only one serialNumber in \""},{"line_number":2053,"context_line":"                                   \"your EMC config file for this operation.\""},{"line_number":2054,"context_line":"                                   \"Please change your EMC config file.\"))"},{"line_number":2055,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dexception_message)"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba3cc151_0adec610","line":2052,"updated":"2015-07-09 00:14:50.000000000","message":"Missing space at EOL.","commit_id":"87cfdc1a5e0affea2f01b67c1faf5aa6448e167f"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"1e2cf495178040dbd8ed222ec2deba1a9ff65212","unresolved":false,"context_lines":[{"line_number":2049,"context_line":""},{"line_number":2050,"context_line":"        if len(set(serialNumberList)) \u003e 1:"},{"line_number":2051,"context_line":"            # We have more than one serial number in the dict"},{"line_number":2052,"context_line":"            exception_message \u003d (_(\"You must have only one serialNumber in \""},{"line_number":2053,"context_line":"                                   \"your EMC config file for this operation.\""},{"line_number":2054,"context_line":"                                   \"Please change your EMC config file.\"))"},{"line_number":2055,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dexception_message)"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba3cc151_dfa83b7a","line":2052,"in_reply_to":"ba3cc151_0adec610","updated":"2015-07-10 14:58:27.000000000","message":"Done","commit_id":"87cfdc1a5e0affea2f01b67c1faf5aa6448e167f"},{"author":{"_account_id":16258,"name":"nikesh","email":"nike.niec@gmail.com","username":"nikem"},"change_message_id":"bfc060e6d0435e18b970cda58879c01035a90384","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"9a41bdd9_d1092233","updated":"2015-07-12 08:40:34.000000000","message":"A range of dates is unnecessary. https://wiki.openstack.org/wiki/Documentation/Copyright","commit_id":"cd45fdc237eb8d2a00cdce0be72881145d78b81f"},{"author":{"_account_id":14377,"name":"Apoorva","email":"apps.desh@gmail.com","username":"apoorvad"},"change_message_id":"bdcdf09c56a0a728ab578ea4104db01f4f968e82","unresolved":false,"context_lines":[{"line_number":1767,"context_line":"        return hardwareTypeId"},{"line_number":1768,"context_line":""},{"line_number":1769,"context_line":"    def _clean_node_value(self, nodeValue):"},{"line_number":1770,"context_line":"        \"\"\"Removes any leading or traiing spaces, tabs, and newlines."},{"line_number":1771,"context_line":""},{"line_number":1772,"context_line":"        :param nodeValue: the node value"},{"line_number":1773,"context_line":"        :returns: the clean nodeValue"}],"source_content_type":"text/x-python","patch_set":9,"id":"3a50d1a3_d82f8a86","line":1770,"updated":"2015-07-22 06:03:02.000000000","message":"s/traiing/trailing","commit_id":"d58446090ee72e36e99900601c0df0d61f7efbd9"},{"author":{"_account_id":14377,"name":"Apoorva","email":"apps.desh@gmail.com","username":"apoorvad"},"change_message_id":"bdcdf09c56a0a728ab578ea4104db01f4f968e82","unresolved":false,"context_lines":[{"line_number":1779,"context_line":"        return nodeValue"},{"line_number":1780,"context_line":""},{"line_number":1781,"context_line":"    def _process_tag(self, element, tagName):"},{"line_number":1782,"context_line":"        \"\"\"Process the tag to get the value"},{"line_number":1783,"context_line":""},{"line_number":1784,"context_line":"        :param element: the parent element"},{"line_number":1785,"context_line":"        :param tagName: the tag name"}],"source_content_type":"text/x-python","patch_set":9,"id":"3a50d1a3_f8436640","line":1782,"updated":"2015-07-22 06:03:02.000000000","message":"\".\" EOL","commit_id":"d58446090ee72e36e99900601c0df0d61f7efbd9"},{"author":{"_account_id":14377,"name":"Apoorva","email":"apps.desh@gmail.com","username":"apoorvad"},"change_message_id":"bdcdf09c56a0a728ab578ea4104db01f4f968e82","unresolved":false,"context_lines":[{"line_number":1874,"context_line":"        return kwargs"},{"line_number":1875,"context_line":""},{"line_number":1876,"context_line":"    def _multi_pool_support(self, fileName):"},{"line_number":1877,"context_line":"        \"\"\"Multi pool support where tag Arrays exist."},{"line_number":1878,"context_line":""},{"line_number":1879,"context_line":"        :param fileName: the configuration file"},{"line_number":1880,"context_line":"        :returns: list"}],"source_content_type":"text/x-python","patch_set":9,"id":"3a50d1a3_186892b8","line":1877,"updated":"2015-07-22 06:03:02.000000000","message":"s/Arrays/arrays","commit_id":"d58446090ee72e36e99900601c0df0d61f7efbd9"},{"author":{"_account_id":14377,"name":"Apoorva","email":"apps.desh@gmail.com","username":"apoorvad"},"change_message_id":"bdcdf09c56a0a728ab578ea4104db01f4f968e82","unresolved":false,"context_lines":[{"line_number":2056,"context_line":""},{"line_number":2057,"context_line":"        if len(set(serialNumberList)) \u003e 1:"},{"line_number":2058,"context_line":"            # We have more than one serial number in the dict."},{"line_number":2059,"context_line":"            exception_message \u003d (_(\"You must have only one serialNumber in \""},{"line_number":2060,"context_line":"                                   \"your EMC config file for this operation. \""},{"line_number":2061,"context_line":"                                   \"Please change your EMC config file.\"))"},{"line_number":2062,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dexception_message)"}],"source_content_type":"text/x-python","patch_set":9,"id":"3a50d1a3_7860b6a5","line":2059,"updated":"2015-07-22 06:03:02.000000000","message":"Should the error message mention that \"Multiple serialNumbers found, when only one was expected\"?","commit_id":"d58446090ee72e36e99900601c0df0d61f7efbd9"},{"author":{"_account_id":14377,"name":"Apoorva","email":"apps.desh@gmail.com","username":"apoorvad"},"change_message_id":"bdcdf09c56a0a728ab578ea4104db01f4f968e82","unresolved":false,"context_lines":[{"line_number":2065,"context_line":""},{"line_number":2066,"context_line":"    def _get_pool_info(self, arrayElement, fileName, connargs, interval,"},{"line_number":2067,"context_line":"                       retries, myList):"},{"line_number":2068,"context_line":"        \"\"\"Get pool information from element"},{"line_number":2069,"context_line":""},{"line_number":2070,"context_line":"        :param arrayElement: arrayElement"},{"line_number":2071,"context_line":"        :param fileName: configuration file"}],"source_content_type":"text/x-python","patch_set":9,"id":"3a50d1a3_3856aece","line":2068,"updated":"2015-07-22 06:03:02.000000000","message":"\".\"  EOL","commit_id":"d58446090ee72e36e99900601c0df0d61f7efbd9"},{"author":{"_account_id":16883,"name":"huyang","email":"huyang1@huawei.com","username":"huyang"},"change_message_id":"f9641f78fead73f173dead4aae2a045184f195d7","unresolved":false,"context_lines":[{"line_number":1770,"context_line":"        nodeValue \u003d nodeValue.replace(\u0027\\n\u0027, \u0027\u0027)"},{"line_number":1771,"context_line":"        nodeValue \u003d nodeValue.replace(\u0027\\r\u0027, \u0027\u0027)"},{"line_number":1772,"context_line":"        nodeValue \u003d nodeValue.replace(\u0027\\t\u0027, \u0027\u0027)"},{"line_number":1773,"context_line":"        nodeValue \u003d nodeValue.strip()"},{"line_number":1774,"context_line":"        return nodeValue"},{"line_number":1775,"context_line":""},{"line_number":1776,"context_line":"    def _process_tag(self, element, tagName):"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a50d1a3_8672397b","line":1773,"updated":"2015-07-27 06:29:04.000000000","message":"Suggest using \"nodeValue \u003d nodeValue.strip(\u0027\\n\\r\\t\u0027)\".","commit_id":"b43de9a556991a09a4f4a9a8b9dbe8aa5037adaa"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"7f69bde4a4bb520d48ca2a08ef82db48bc896fc6","unresolved":false,"context_lines":[{"line_number":1770,"context_line":"        nodeValue \u003d nodeValue.replace(\u0027\\n\u0027, \u0027\u0027)"},{"line_number":1771,"context_line":"        nodeValue \u003d nodeValue.replace(\u0027\\r\u0027, \u0027\u0027)"},{"line_number":1772,"context_line":"        nodeValue \u003d nodeValue.replace(\u0027\\t\u0027, \u0027\u0027)"},{"line_number":1773,"context_line":"        nodeValue \u003d nodeValue.strip()"},{"line_number":1774,"context_line":"        return nodeValue"},{"line_number":1775,"context_line":""},{"line_number":1776,"context_line":"    def _process_tag(self, element, tagName):"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a50d1a3_1ddc0472","line":1773,"in_reply_to":"3a50d1a3_8672397b","updated":"2015-07-28 02:06:14.000000000","message":"Done.\n\nActually nodeValue.strip() will remove all the leading and trailing whitespace characters such as \\n, \\r, \\t, \\f, space.  Removed this method and called strip() directly in _process_tag.","commit_id":"b43de9a556991a09a4f4a9a8b9dbe8aa5037adaa"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"cc7b785fe95db9d5cc41c71e8de1ac27cb9e003c","unresolved":false,"context_lines":[{"line_number":2050,"context_line":"                if portGroupName:"},{"line_number":2051,"context_line":"                    portGroupNames.append(portGroupName)"},{"line_number":2052,"context_line":""},{"line_number":2053,"context_line":"            LOG.debug(\"portGroupNames: %(portGroupNames)s.\","},{"line_number":2054,"context_line":"                      {\u0027portGroupNames\u0027: portGroupNames})"},{"line_number":2055,"context_line":"            numPortGroups \u003d len(portGroupNames)"},{"line_number":2056,"context_line":"            if numPortGroups \u003e 0:"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a50d1a3_21d6af27","line":2053,"updated":"2015-07-27 07:06:55.000000000","message":"Need a space at the end.\n%(portGroupNames)s.\" -\u003e %(portGroupNames)s. \"","commit_id":"b43de9a556991a09a4f4a9a8b9dbe8aa5037adaa"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"7f69bde4a4bb520d48ca2a08ef82db48bc896fc6","unresolved":false,"context_lines":[{"line_number":2050,"context_line":"                if portGroupName:"},{"line_number":2051,"context_line":"                    portGroupNames.append(portGroupName)"},{"line_number":2052,"context_line":""},{"line_number":2053,"context_line":"            LOG.debug(\"portGroupNames: %(portGroupNames)s.\","},{"line_number":2054,"context_line":"                      {\u0027portGroupNames\u0027: portGroupNames})"},{"line_number":2055,"context_line":"            numPortGroups \u003d len(portGroupNames)"},{"line_number":2056,"context_line":"            if numPortGroups \u003e 0:"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a50d1a3_dde1bc2b","line":2053,"in_reply_to":"3a50d1a3_21d6af27","updated":"2015-07-28 02:06:14.000000000","message":"That is the end of a sentence. There shouldn\u0027t be a space. Space is only needed if there are other sentences following this one.","commit_id":"b43de9a556991a09a4f4a9a8b9dbe8aa5037adaa"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"cc7b785fe95db9d5cc41c71e8de1ac27cb9e003c","unresolved":false,"context_lines":[{"line_number":2061,"context_line":"                          {\u0027selectedPortGroupName\u0027: selectedPortGroupName})"},{"line_number":2062,"context_line":"                return selectedPortGroupName"},{"line_number":2063,"context_line":""},{"line_number":2064,"context_line":"        exception_message \u003d (_(\"No Port Group elements found in config file.\"))"},{"line_number":2065,"context_line":"        LOG.error(exception_message)"},{"line_number":2066,"context_line":"        raise exception.VolumeBackendAPIException(data\u003dexception_message)"},{"line_number":2067,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"3a50d1a3_212f8f3f","line":2064,"updated":"2015-07-27 07:06:55.000000000","message":"Keep Camel-case like line 2112.","commit_id":"b43de9a556991a09a4f4a9a8b9dbe8aa5037adaa"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"7f69bde4a4bb520d48ca2a08ef82db48bc896fc6","unresolved":false,"context_lines":[{"line_number":2061,"context_line":"                          {\u0027selectedPortGroupName\u0027: selectedPortGroupName})"},{"line_number":2062,"context_line":"                return selectedPortGroupName"},{"line_number":2063,"context_line":""},{"line_number":2064,"context_line":"        exception_message \u003d (_(\"No Port Group elements found in config file.\"))"},{"line_number":2065,"context_line":"        LOG.error(exception_message)"},{"line_number":2066,"context_line":"        raise exception.VolumeBackendAPIException(data\u003dexception_message)"},{"line_number":2067,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"3a50d1a3_7d38a8a0","line":2064,"in_reply_to":"3a50d1a3_212f8f3f","updated":"2015-07-28 02:06:14.000000000","message":"Not sure exactly what you meant.  I changed it to PortGroup as that is the tag name of the element.","commit_id":"b43de9a556991a09a4f4a9a8b9dbe8aa5037adaa"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"cc7b785fe95db9d5cc41c71e8de1ac27cb9e003c","unresolved":false,"context_lines":[{"line_number":2084,"context_line":""},{"line_number":2085,"context_line":"        if len(set(serialNumberList)) \u003e 1:"},{"line_number":2086,"context_line":"            # We have more than one serial number in the dict."},{"line_number":2087,"context_line":"            exception_message \u003d (_(\"Multiple serialNumbers found, when only \""},{"line_number":2088,"context_line":"                                   \"one was expected for this operation. \""},{"line_number":2089,"context_line":"                                   \"Please change your EMC config file.\"))"},{"line_number":2090,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dexception_message)"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a50d1a3_416c1b9c","line":2087,"updated":"2015-07-27 07:06:55.000000000","message":"Keep Camel-case like line 2112.","commit_id":"b43de9a556991a09a4f4a9a8b9dbe8aa5037adaa"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"7f69bde4a4bb520d48ca2a08ef82db48bc896fc6","unresolved":false,"context_lines":[{"line_number":2084,"context_line":""},{"line_number":2085,"context_line":"        if len(set(serialNumberList)) \u003e 1:"},{"line_number":2086,"context_line":"            # We have more than one serial number in the dict."},{"line_number":2087,"context_line":"            exception_message \u003d (_(\"Multiple serialNumbers found, when only \""},{"line_number":2088,"context_line":"                                   \"one was expected for this operation. \""},{"line_number":2089,"context_line":"                                   \"Please change your EMC config file.\"))"},{"line_number":2090,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dexception_message)"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a50d1a3_dd4f7c32","line":2087,"in_reply_to":"3a50d1a3_416c1b9c","updated":"2015-07-28 02:06:14.000000000","message":"Changed to SerialNumbers","commit_id":"b43de9a556991a09a4f4a9a8b9dbe8aa5037adaa"}]}
