Merge "update tests for bug 2112187" into mcp/epoxy
diff --git a/tempest/api/compute/admin/test_volume_swap.py b/tempest/api/compute/admin/test_volume_swap.py
index 22f773d..24b3ee4 100644
--- a/tempest/api/compute/admin/test_volume_swap.py
+++ b/tempest/api/compute/admin/test_volume_swap.py
@@ -80,6 +80,7 @@
# to swap volumes directly; swap volume is primarily only for volume
# live migration and retype callbacks from the volume service, and is slow
# so it's marked as such.
+ @decorators.skip_because(bug='2112187')
@decorators.attr(type='slow')
@decorators.idempotent_id('1769f00d-a693-4d67-a631-6a3496773813')
def test_volume_swap(self):
@@ -92,8 +93,8 @@
3. Boot an instance "instance1" with non-admin.
4. Attach "volume1" to "instance1" with non-admin.
5. Swap volume from "volume1" to "volume2" as admin.
- 6. Check the swap volume is successful and "volume2"
- is attached to "instance1" and "volume1" is in available state.
+ 6. Check the swap volume is rejected and "volume1"
+ is attached to "instance1" and "volume2" is in available state.
"""
# Create two volumes.
# NOTE(gmann): Volumes are created before server creation so that
@@ -115,19 +116,19 @@
# Attach "volume1" to server
self.attach_volume(server, volume1)
# Swap volume from "volume1" to "volume2"
- self.admin_servers_client.update_attached_volume(
+ self.assertRaises(
+ lib_exc.Conflict, self.admin_servers_client.update_attached_volume,
server['id'], volume1['id'], volumeId=volume2['id'])
- waiters.wait_for_volume_resource_status(self.volumes_client,
- volume1['id'], 'available')
- waiters.wait_for_volume_resource_status(self.volumes_client,
- volume2['id'], 'in-use')
- self.wait_for_server_volume_swap(server['id'], volume1['id'],
- volume2['id'])
- # Verify "volume2" is attached to the server
+ # Verify "volume1" is attached to the server
vol_attachments = self.servers_client.list_volume_attachments(
server['id'])['volumeAttachments']
self.assertEqual(1, len(vol_attachments))
- self.assertIn(volume2['id'], vol_attachments[0]['volumeId'])
+ self.assertIn(volume1['id'], vol_attachments[0]['volumeId'])
+ waiters.wait_for_volume_resource_status(
+ self.volumes_client, volume1['id'], 'in-use')
+ # verify "volume2" is still available
+ waiters.wait_for_volume_resource_status(
+ self.volumes_client, volume2['id'], 'available')
class TestMultiAttachVolumeSwap(TestVolumeSwapBase):
diff --git a/tempest/api/compute/admin/test_volumes_negative.py b/tempest/api/compute/admin/test_volumes_negative.py
index 55c842f..e3c3359 100644
--- a/tempest/api/compute/admin/test_volumes_negative.py
+++ b/tempest/api/compute/admin/test_volumes_negative.py
@@ -51,6 +51,7 @@
self.server['id'], nonexistent_volume,
volumeId=volume['id'])
+ @decorators.skip_because(bug='2112187')
@decorators.related_bug('1629110', status_code=400)
@decorators.attr(type=['negative'])
@decorators.idempotent_id('7dcac15a-b107-46d3-a5f6-cb863f4e454a')
@@ -71,7 +72,7 @@
self.attach_volume(self.server, volume)
nonexistent_volume = data_utils.rand_uuid()
- self.assertRaises(lib_exc.BadRequest,
+ self.assertRaises(lib_exc.Conflict,
self.admin_servers_client.update_attached_volume,
self.server['id'], volume['id'],
volumeId=nonexistent_volume)
@@ -104,6 +105,7 @@
@decorators.attr(type=['negative'])
@decorators.idempotent_id('7576d497-b7c6-44bd-9cc5-c5b4e50fec71')
@utils.services('volume')
+ @decorators.skip_because(bug='2112187')
def test_multiattach_rw_volume_update_failure(self):
"""Test swapping volume attached to multi-servers with read-write mode