Volume tests fail if volume sizes are set to round off like in ScaleIO based cinder-backend deployments

Bug #1632479 reported by Imran Hayder
18
This bug affects 4 people
Affects Status Importance Assigned to Milestone
tempest
Invalid
Undecided
Unassigned

Bug Description

OVERVIEW:
We are running tempest latest against newton based deployment.
Our cinder backend is EMC ScaleIO where the volume size is rounded off to nearest integer which is multiple original volume size.
So if CONF.volume.volume_size is set to 8, CONF.volume.volume_size + 1 = 16 in ScaleIO based backends because 16 is nearest multiple of 8 and scaleIO rounds off to 16 instead of 9.
this makes certain snapshots fail like :

tempest.api.volume.test_volumes_snapshots.VolumesV2SnapshotTestJSON.test_volume_from_snapshot[id-677863d1-3142-456d-b6ac-9924f667a7f4]

Stacktrace

Traceback (most recent call last):
testtools.testresult.real._StringException: Empty attachments:
  pythonlogging:''
  stderr
  stdout

Traceback (most recent call last):
  File "tempest/api/volume/test_volumes_snapshots.py", line 122, in test_volume_from_snapshot
    self.assertEqual(int(volume['size']), src_size + 1)
  File "/var/lib/jenkins/workspace/refstack_cloud_compute/refstack-client/.tempest/.venv/lib/python2.7/site-packages/testtools/testcase.py", line 411, in assertEqual
    self.assertThat(observed, matcher, message)
  File "/var/lib/jenkins/workspace/refstack_cloud_compute/refstack-client/.tempest/.venv/lib/python2.7/site-packages/testtools/testcase.py", line 498, in assertThat
    raise mismatch_error
testtools.matchers._impl.MismatchError: 16 != 9

Please add option for round off of volume size increment.

summary: Volume tests fail if volume sizes are set to round off like in ScaleIO
- based backed deployments
+ based cinder-backend deployments
Revision history for this message
Imran Hayder (hayderimran7) wrote :

I found out that volume increment by 1 check was recently added in tempest(tags 13.0.0 and 12.0.0 ) which breaks this test for us https://github.com/openstack/tempest/commit/8dbbc297b460347451929abf611ef05d6ac56f4b
using older version of tempest(like tag 10.0.0) we have this test passing

Revision history for this message
Jordan Pittier (jordan-pittier) wrote :

"So if CONF.volume.volume_size is set to 8, CONF.volume.volume_size + 1 = 16 in ScaleIO based backends because 16 is nearest multiple of 8 and scaleIO rounds off to 16 instead of 9."

That sounds crazy. If I ask for a 9G volume, I want a 9G volume. Tempest should check for a 9G volume. That's how it is. Either report your request to EMC or Cinder.

Changed in tempest:
status: New → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.