]> review.fuel-infra Code Review - openstack-build/cinder-build.git/commitdiff
Clone volume with right size with SolidFire
authorMathieu Gagné <mgagne@iweb.com>
Sat, 31 Aug 2013 01:59:59 +0000 (21:59 -0400)
committerMathieu Gagné <mgagne@iweb.com>
Sat, 31 Aug 2013 02:03:53 +0000 (22:03 -0400)
It is possible to clone a volume with a size greater than
the source volume. When using the SolidFire driver, the volume size
was not passed in the call made to the SolidFire API when
cloning a volume.

It resulted in a cloned volume having the same size as the source
volume but the correct size in the Cinder database.

This changes makes sure the cloned volume has the correct size
by explicitly passing the requested size when calling
the SolidFire API and cloning the volume.

Fixes: bug #1219105
Change-Id: I5628c7fa922780d6b0601e2daa79310a61085edc

cinder/volume/drivers/solidfire.py

index ad30dd2cd35a77124d3816dda66e87b93754dc8a..8b3c5b2f7f8a0bf93e8a20f76379ee204332405b 100644 (file)
@@ -349,6 +349,7 @@ class SolidFireDriver(SanISCSIDriver):
 
         params = {'volumeID': int(sf_vol['volumeID']),
                   'name': 'UUID-%s' % v_ref['id'],
+                  'newSize': int(v_ref['size'] * self.GB),
                   'newAccountID': sfaccount['accountID']}
         data = self._issue_api_request('CloneVolume', params)