Merge "Dell EMC PS: Optimize parsing of capacity info from backend"

This commit is contained in:
Jenkins 2017-10-08 16:27:17 +00:00 committed by Gerrit Code Review
commit 3c2a81b824
2 changed files with 15 additions and 6 deletions

View File

@ -138,10 +138,11 @@ class PSSeriesISCSIDriver(san.SanISCSIDriver):
1.4.2 - Enable report discard support.
1.4.3 - Report total_volumes in volume stats
1.4.4 - Fixed over-subscription ratio calculation
1.4.5 - Optimize volume stats information parsing
"""
VERSION = "1.4.4"
VERSION = "1.4.5"
# ThirdPartySytems wiki page
CI_WIKI_NAME = "Dell_Storage_CI"
@ -301,13 +302,12 @@ class PSSeriesISCSIDriver(san.SanISCSIDriver):
data['reserved_percentage'] = 0
data['QoS_support'] = False
data['total_capacity_gb'] = 0
data['free_capacity_gb'] = 0
data['total_capacity_gb'] = None
data['free_capacity_gb'] = None
data['multiattach'] = False
data['total_volumes'] = 0
provisioned_capacity = 0
data['total_volumes'] = None
provisioned_capacity = None
for line in self._eql_execute('pool', 'select',
self.configuration.eqlx_pool, 'show'):
if line.startswith('TotalCapacity:'):
@ -322,6 +322,10 @@ class PSSeriesISCSIDriver(san.SanISCSIDriver):
if line.startswith('TotalVolumes:'):
out_tup = line.rstrip().partition(' ')
data['total_volumes'] = int(out_tup[-1])
# Terminate parsing once this data is found to improve performance
if (data['total_capacity_gb'] and data['free_capacity_gb'] and
provisioned_capacity and data['total_volumes']):
break
global_capacity = data['total_capacity_gb']
global_free = data['free_capacity_gb']

View File

@ -0,0 +1,5 @@
---
fixes:
- Dell EMC PS Series Driver code reporting volume stats is now optimized
to return the information earlier and accelerate the process. This change
fixes bug 1661154.