Merge "Fix backup deletion with naive timestamps"
This commit is contained in:
commit
9fb744390e
3 files changed
+9
-4
No files matched your search
@@ -0,0 +1,6 @@
|
||||
---
|
||||
fixes:
|
||||
- |
|
||||
Fixes backup deletion failures caused by comparing an offset-aware
|
||||
current time with an offset-naive backup creation timestamp.
|
||||
`LP#2166063 <https://bugs.launchpad.net/trove/+bug/2166063>`__
|
||||
@@ -341,7 +341,7 @@ class Backup(object):
|
||||
def _delete_resources():
|
||||
backup = cls.get_by_id(context, backup_id)
|
||||
if backup.is_running:
|
||||
delta = (timeutils.utcnow_aware() - backup.created).days
|
||||
delta = (timeutils.utcnow() - backup.created).days
|
||||
if delta < CONF.running_backups_expires:
|
||||
msg = _(
|
||||
"Backup %s cannot be deleted"
|
||||
|
||||
@@ -255,7 +255,7 @@ class BackupDeleteTest(trove_testtools.TestCase):
|
||||
def test_delete_backup_is_running(self):
|
||||
backup = MagicMock()
|
||||
backup.is_running = True
|
||||
backup.created = datetime.datetime.now(datetime.timezone.utc)
|
||||
backup.created = timeutils.utcnow()
|
||||
with patch.object(models.Backup, 'get_by_id', return_value=backup):
|
||||
self.assertRaises(exception.UnprocessableEntity,
|
||||
models.Backup.delete, self.context, 'backup_id')
|
||||
@@ -265,8 +265,7 @@ class BackupDeleteTest(trove_testtools.TestCase):
|
||||
mock_instance = mock_api.return_value
|
||||
backup = MagicMock()
|
||||
backup.is_running = True
|
||||
backup.created = datetime.datetime.now(
|
||||
datetime.timezone.utc) - datetime.timedelta(weeks=1)
|
||||
backup.created = timeutils.utcnow() - datetime.timedelta(weeks=1)
|
||||
with patch.object(models.Backup, 'get_by_id', return_value=backup):
|
||||
models.Backup.delete(self.context, 'backup_id')
|
||||
mock_instance.delete_backup.assert_called_once_with('backup_id')
|
||||
|
||||
Reference in new issue
Block a user