Merge "Move wait_for_backup_status function to common.waiters"
This commit is contained in:
commit
56c2997a52
|
@ -68,8 +68,8 @@ class VolumesBackupsAdminV2Test(base.BaseVolumeAdminTest):
|
|||
volume_id=self.volume['id'], name=backup_name)['backup'])
|
||||
self.addCleanup(self._delete_backup, backup['id'])
|
||||
self.assertEqual(backup_name, backup['name'])
|
||||
self.admin_backups_client.wait_for_backup_status(backup['id'],
|
||||
'available')
|
||||
waiters.wait_for_backup_status(self.admin_backups_client,
|
||||
backup['id'], 'available')
|
||||
|
||||
# Export Backup
|
||||
export_backup = (self.admin_backups_client.export_backup(backup['id'])
|
||||
|
@ -101,8 +101,8 @@ class VolumesBackupsAdminV2Test(base.BaseVolumeAdminTest):
|
|||
self.addCleanup(self._delete_backup, new_id)
|
||||
self.assertIn("id", import_backup)
|
||||
self.assertEqual(new_id, import_backup['id'])
|
||||
self.admin_backups_client.wait_for_backup_status(import_backup['id'],
|
||||
'available')
|
||||
waiters.wait_for_backup_status(self.admin_backups_client,
|
||||
import_backup['id'], 'available')
|
||||
|
||||
# Verify Import Backup
|
||||
backups = self.admin_backups_client.list_backups(
|
||||
|
@ -121,8 +121,8 @@ class VolumesBackupsAdminV2Test(base.BaseVolumeAdminTest):
|
|||
# Verify if restored volume is there in volume list
|
||||
volumes = self.admin_volume_client.list_volumes()['volumes']
|
||||
self.assertIn(restore['volume_id'], [v['id'] for v in volumes])
|
||||
self.admin_backups_client.wait_for_backup_status(import_backup['id'],
|
||||
'available')
|
||||
waiters.wait_for_backup_status(self.admin_backups_client,
|
||||
import_backup['id'], 'available')
|
||||
|
||||
@test.idempotent_id('47a35425-a891-4e13-961c-c45deea21e94')
|
||||
def test_volume_backup_reset_status(self):
|
||||
|
@ -134,13 +134,13 @@ class VolumesBackupsAdminV2Test(base.BaseVolumeAdminTest):
|
|||
self.addCleanup(self.admin_backups_client.delete_backup,
|
||||
backup['id'])
|
||||
self.assertEqual(backup_name, backup['name'])
|
||||
self.admin_backups_client.wait_for_backup_status(backup['id'],
|
||||
'available')
|
||||
waiters.wait_for_backup_status(self.admin_backups_client,
|
||||
backup['id'], 'available')
|
||||
# Reset backup status to error
|
||||
self.admin_backups_client.reset_backup_status(backup_id=backup['id'],
|
||||
status="error")
|
||||
self.admin_backups_client.wait_for_backup_status(backup['id'],
|
||||
'error')
|
||||
waiters.wait_for_backup_status(self.admin_backups_client,
|
||||
backup['id'], 'error')
|
||||
|
||||
|
||||
class VolumesBackupsAdminV1Test(VolumesBackupsAdminV2Test):
|
||||
|
|
|
@ -46,8 +46,8 @@ class VolumesBackupsV2Test(base.BaseVolumeTest):
|
|||
self.assertEqual(backup_name, backup['name'])
|
||||
waiters.wait_for_volume_status(self.volumes_client,
|
||||
volume['id'], 'available')
|
||||
self.backups_client.wait_for_backup_status(backup['id'],
|
||||
'available')
|
||||
waiters.wait_for_backup_status(self.backups_client,
|
||||
backup['id'], 'available')
|
||||
|
||||
# Get a given backup
|
||||
backup = self.backups_client.show_backup(backup['id'])['backup']
|
||||
|
@ -67,8 +67,8 @@ class VolumesBackupsV2Test(base.BaseVolumeTest):
|
|||
self.addCleanup(self.volumes_client.delete_volume,
|
||||
restore['volume_id'])
|
||||
self.assertEqual(backup['id'], restore['backup_id'])
|
||||
self.backups_client.wait_for_backup_status(backup['id'],
|
||||
'available')
|
||||
waiters.wait_for_backup_status(self.backups_client,
|
||||
backup['id'], 'available')
|
||||
waiters.wait_for_volume_status(self.volumes_client,
|
||||
restore['volume_id'], 'available')
|
||||
|
||||
|
@ -103,8 +103,8 @@ class VolumesBackupsV2Test(base.BaseVolumeTest):
|
|||
volume_id=volume['id'],
|
||||
name=backup_name, force=True)['backup']
|
||||
self.addCleanup(self.backups_client.delete_backup, backup['id'])
|
||||
self.backups_client.wait_for_backup_status(backup['id'],
|
||||
'available')
|
||||
waiters.wait_for_backup_status(self.backups_client,
|
||||
backup['id'], 'available')
|
||||
self.assertEqual(backup_name, backup['name'])
|
||||
|
||||
|
||||
|
|
|
@ -210,6 +210,27 @@ def wait_for_snapshot_status(client, snapshot_id, status):
|
|||
raise exceptions.TimeoutException(message)
|
||||
|
||||
|
||||
def wait_for_backup_status(client, backup_id, status):
|
||||
"""Waits for a Backup to reach a given status."""
|
||||
body = client.show_backup(backup_id)['backup']
|
||||
backup_status = body['status']
|
||||
start = int(time.time())
|
||||
|
||||
while backup_status != status:
|
||||
time.sleep(client.build_interval)
|
||||
body = client.show_backup(backup_id)['backup']
|
||||
backup_status = body['status']
|
||||
if backup_status == 'error' and backup_status != status:
|
||||
raise exceptions.VolumeBackupException(backup_id=backup_id)
|
||||
|
||||
if int(time.time()) - start >= client.build_timeout:
|
||||
message = ('Volume backup %s failed to reach %s status '
|
||||
'(current %s) within the required time (%s s).' %
|
||||
(backup_id, status, backup_status,
|
||||
client.build_timeout))
|
||||
raise exceptions.TimeoutException(message)
|
||||
|
||||
|
||||
def wait_for_bm_node_status(client, node_id, attr, status):
|
||||
"""Waits for a baremetal node attribute to reach given status.
|
||||
|
||||
|
|
|
@ -13,11 +13,8 @@
|
|||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
import time
|
||||
|
||||
from oslo_serialization import jsonutils as json
|
||||
|
||||
from tempest import exceptions
|
||||
from tempest.lib.common import rest_client
|
||||
from tempest.lib import exceptions as lib_exc
|
||||
|
||||
|
@ -96,26 +93,6 @@ class BaseBackupsClient(rest_client.RestClient):
|
|||
self.expected_success(202, resp.status)
|
||||
return rest_client.ResponseBody(resp, body)
|
||||
|
||||
def wait_for_backup_status(self, backup_id, status):
|
||||
"""Waits for a Backup to reach a given status."""
|
||||
body = self.show_backup(backup_id)['backup']
|
||||
backup_status = body['status']
|
||||
start = int(time.time())
|
||||
|
||||
while backup_status != status:
|
||||
time.sleep(self.build_interval)
|
||||
body = self.show_backup(backup_id)['backup']
|
||||
backup_status = body['status']
|
||||
if backup_status == 'error' and backup_status != status:
|
||||
raise exceptions.VolumeBackupException(backup_id=backup_id)
|
||||
|
||||
if int(time.time()) - start >= self.build_timeout:
|
||||
message = ('Volume backup %s failed to reach %s status '
|
||||
'(current %s) within the required time (%s s).' %
|
||||
(backup_id, status, backup_status,
|
||||
self.build_timeout))
|
||||
raise exceptions.TimeoutException(message)
|
||||
|
||||
def is_resource_deleted(self, id):
|
||||
try:
|
||||
self.show_backup(id)
|
||||
|
|
Loading…
Reference in New Issue