[SVF]:Fix create volume on drp
[Spectrum Virtualize Family] While creating volumes on data reduction pool, incorrect options were picked. This patch fixes a bug caused by a case sensitive string comparison that caused the code to incorrectly identify whether DRP was enabled in a pool during intialization. Closes-Bug: #1924568 Change-Id: I5a2914d77b85e4249774f6e366b93d8b997ea50f
This commit is contained in:
parent
98b49d0572
commit
70a07ee7a2
@ -5437,6 +5437,45 @@ class StorwizeSVCCommonDriverTestCase(test.TestCase):
|
|||||||
if 'CMMVC7050E' not in e.stderr:
|
if 'CMMVC7050E' not in e.stderr:
|
||||||
raise
|
raise
|
||||||
|
|
||||||
|
@ddt.data(('yes'), ('Yes'), ('no'), ('NO'), (''))
|
||||||
|
@mock.patch.object(storwize_svc_common.StorwizeHelpers,
|
||||||
|
'get_pool_attrs')
|
||||||
|
def test_build_pool_stats_drp(self, is_drp, get_pool_attrs):
|
||||||
|
get_pool_attrs.return_value = {'id': 1, 'name': 'openstack',
|
||||||
|
'data_reduction': is_drp,
|
||||||
|
'easy_tier': 'on',
|
||||||
|
'capacity': '20',
|
||||||
|
'free_capacity': '40',
|
||||||
|
'used_capacity': '0',
|
||||||
|
'real_capacity': '0',
|
||||||
|
'virtual_capacity': '0',
|
||||||
|
'status': 'online',
|
||||||
|
'site_id': '1',
|
||||||
|
'site_name': 'site1'}
|
||||||
|
pool = 'openstack'
|
||||||
|
pool_stats = self.driver._build_pool_stats(pool)
|
||||||
|
if is_drp in ['yes', 'Yes']:
|
||||||
|
self.assertTrue(pool_stats['data_reduction'])
|
||||||
|
else:
|
||||||
|
self.assertFalse(pool_stats['data_reduction'])
|
||||||
|
|
||||||
|
@mock.patch.object(storwize_svc_common.StorwizeHelpers,
|
||||||
|
'get_pool_attrs')
|
||||||
|
def test_build_pool_stats_drp_none(self, get_pool_attrs):
|
||||||
|
get_pool_attrs.return_value = {'id': 1, 'name': 'openstack1',
|
||||||
|
'easy_tier': 'on',
|
||||||
|
'capacity': '20',
|
||||||
|
'free_capacity': '40',
|
||||||
|
'used_capacity': '0',
|
||||||
|
'real_capacity': '0',
|
||||||
|
'virtual_capacity': '0',
|
||||||
|
'status': 'online',
|
||||||
|
'site_id': '1',
|
||||||
|
'site_name': 'site1'}
|
||||||
|
pool = 'openstack1'
|
||||||
|
pool_stats = self.driver._build_pool_stats(pool)
|
||||||
|
self.assertFalse(pool_stats['data_reduction'])
|
||||||
|
|
||||||
@ddt.data(('IOPs_limit', "50"), ('bandwidth_limit_MB', "100"))
|
@ddt.data(('IOPs_limit', "50"), ('bandwidth_limit_MB', "100"))
|
||||||
@mock.patch.object(storwize_svc_common.StorwizeHelpers, 'get_pool_volumes')
|
@mock.patch.object(storwize_svc_common.StorwizeHelpers, 'get_pool_volumes')
|
||||||
@mock.patch.object(storwize_svc_common.StorwizeSSH, 'lsthrottle')
|
@mock.patch.object(storwize_svc_common.StorwizeSSH, 'lsthrottle')
|
||||||
|
@ -6025,10 +6025,8 @@ class StorwizeSVCCommonDriver(san.SanDriver,
|
|||||||
|
|
||||||
# Get the data_reduction information for pool and set
|
# Get the data_reduction information for pool and set
|
||||||
# is_dr_pool flag.
|
# is_dr_pool flag.
|
||||||
if pool_data.get('data_reduction') == 'Yes':
|
if pool_data.get('data_reduction'):
|
||||||
is_dr_pool = True
|
is_dr_pool = pool_data.get('data_reduction').lower() == 'yes'
|
||||||
elif pool_data.get('data_reduction') == 'No':
|
|
||||||
is_dr_pool = False
|
|
||||||
|
|
||||||
pool_stats = {
|
pool_stats = {
|
||||||
'pool_name': pool_data['name'],
|
'pool_name': pool_data['name'],
|
||||||
|
@ -0,0 +1,7 @@
|
|||||||
|
---
|
||||||
|
fixes:
|
||||||
|
- |
|
||||||
|
IBM Spectrum Virtualize Family driver
|
||||||
|
`Bug #1924568 <https://bugs.launchpad.net/cinder/+bug/1924568>`_:
|
||||||
|
Fixed issues that occurred while creating volume on data reduction
|
||||||
|
pool.
|
Loading…
Reference in New Issue
Block a user