Merge "Add Tempest gate job for stable/wallaby"
diff --git a/tempest/api/volume/base.py b/tempest/api/volume/base.py
index 9f9fc3b..d5c6fd9 100644
--- a/tempest/api/volume/base.py
+++ b/tempest/api/volume/base.py
@@ -155,6 +155,10 @@
backup = backup_client.create_backup(
volume_id=volume_id, **kwargs)['backup']
+ # addCleanup uses list pop to cleanup. Wait should be added before
+ # the backup is deleted
+ self.addCleanup(backup_client.wait_for_resource_deletion,
+ backup['id'])
self.addCleanup(backup_client.delete_backup, backup['id'])
waiters.wait_for_volume_resource_status(backup_client, backup['id'],
'available')
diff --git a/tempest/lib/common/rest_client.py b/tempest/lib/common/rest_client.py
index 00f2aeb..2331b9c 100644
--- a/tempest/lib/common/rest_client.py
+++ b/tempest/lib/common/rest_client.py
@@ -907,9 +907,14 @@
return
if int(time.time()) - start_time >= self.build_timeout:
message = ('Failed to delete %(resource_type)s %(id)s within '
- 'the required time (%(timeout)s s).' %
+ 'the required time (%(timeout)s s). Timer started '
+ 'at %(start_time)s. Timer ended at %(end_time)s'
+ 'waited for %(wait_time)s' %
{'resource_type': self.resource_type, 'id': id,
- 'timeout': self.build_timeout})
+ 'timeout': self.build_timeout,
+ 'start_time': start_time,
+ 'end_time': int(time.time()),
+ 'wait_time': int(time.time()) - start_time})
caller = test_utils.find_test_caller()
if caller:
message = '(%s) %s' % (caller, message)
diff --git a/tempest/tests/lib/common/test_rest_client.py b/tempest/tests/lib/common/test_rest_client.py
index b861582..5948056 100644
--- a/tempest/tests/lib/common/test_rest_client.py
+++ b/tempest/tests/lib/common/test_rest_client.py
@@ -526,9 +526,11 @@
self.rest_client.wait_for_resource_deletion,
'1234')
- # time.time() should be called twice, first to start the timer
- # and then to compute the timedelta
- self.assertEqual(2, time_mock.call_count)
+ # time.time() should be called 4 times,
+ # 1. Start timer
+ # 2. End timer
+ # 3 & 4. To generate timeout exception message
+ self.assertEqual(4, time_mock.call_count)
def test_wait_for_deletion_with_unimplemented_deleted_method(self):
self.rest_client.is_resource_deleted = self.original_deleted_method