Add status check for creating volume backup

When creating volume backup from volume or snapshot, the status of the
source volume or snapshot will be changed to 'backing-up', and will be
changed to volume or snapshot's original status after the backup
creation finished. So it is necessary to add status check for the source
volume or snapshot to make the tests more robust.

Change-Id: I0add3989e1184012b908c5fab459cda41194dec3
This commit is contained in:
jeremy.zhang 2018-06-06 17:25:39 +08:00 committed by Jeremy Zhang
parent 983c23970b
commit d1be501d34
4 changed files with 16 additions and 0 deletions

View File

@ -60,6 +60,8 @@ class VolumesBackupsAdminTest(base.BaseVolumeAdminTest):
# Create backup
backup_name = data_utils.rand_name(self.__class__.__name__ + '-Backup')
backup = self.create_backup(volume_id=volume['id'], name=backup_name)
waiters.wait_for_volume_resource_status(self.volumes_client,
volume['id'], 'available')
self.assertEqual(backup_name, backup['name'])
# Export Backup
@ -124,6 +126,8 @@ class VolumesBackupsAdminTest(base.BaseVolumeAdminTest):
backup_name = data_utils.rand_name(
self.__class__.__name__ + '-Backup')
backup = self.create_backup(volume_id=volume['id'], name=backup_name)
waiters.wait_for_volume_resource_status(self.volumes_client,
volume['id'], 'available')
self.assertEqual(backup_name, backup['name'])
# Reset backup status to error
self.admin_backups_client.reset_backup_status(backup_id=backup['id'],

View File

@ -117,6 +117,8 @@ class VolumesBackupsTest(base.BaseVolumeTest):
self.__class__.__name__ + '-Backup')
backup = self.create_backup(volume_id=volume['id'],
name=backup_name, force=True)
waiters.wait_for_volume_resource_status(self.volumes_client,
volume['id'], 'in-use')
self.assertEqual(backup_name, backup['name'])
@decorators.idempotent_id('2a8ba340-dff2-4511-9db7-646f07156b15')
@ -132,6 +134,8 @@ class VolumesBackupsTest(base.BaseVolumeTest):
# Create a backup
backup = self.create_backup(volume_id=volume['id'])
waiters.wait_for_volume_resource_status(self.volumes_client,
volume['id'], 'available')
# Restore the backup
restored_volume_id = self.restore_backup(backup['id'])['volume_id']
@ -160,6 +164,8 @@ class VolumesBackupsV39Test(base.BaseVolumeTest):
# Create volume and backup
volume = self.create_volume()
backup = self.create_backup(volume_id=volume['id'])
waiters.wait_for_volume_resource_status(self.volumes_client,
volume['id'], 'available')
# Update backup and assert response body for update_backup method
update_kwargs = {

View File

@ -15,6 +15,7 @@ from testtools import matchers
from tempest.api.volume import base
from tempest.common import utils
from tempest.common import waiters
from tempest import config
from tempest.lib.common.utils import data_utils
from tempest.lib import decorators
@ -163,6 +164,8 @@ class VolumesSnapshotTestJSON(base.BaseVolumeTest):
backup = self.create_backup(volume_id=self.volume_origin['id'],
snapshot_id=snapshot['id'])
waiters.wait_for_volume_resource_status(self.snapshots_client,
snapshot['id'], 'available')
backup_info = self.backups_client.show_backup(backup['id'])['backup']
self.assertEqual(self.volume_origin['id'], backup_info['volume_id'])
self.assertEqual(snapshot['id'], backup_info['snapshot_id'])

View File

@ -14,6 +14,7 @@
# under the License.
from tempest.common import utils
from tempest.common import waiters
from tempest import config
from tempest.lib import decorators
from tempest.scenario import manager
@ -56,6 +57,8 @@ class TestVolumeBackupRestore(manager.ScenarioTest):
# Create a backup
backup = self.create_backup(volume_id=volume['id'])
waiters.wait_for_volume_resource_status(self.volumes_client,
volume['id'], 'available')
# Restore the backup
restored_volume_id = self.restore_backup(backup['id'])['volume_id']