fix(backups): do not use post_restore on backup

This commit is contained in:
Houkime 2024-12-06 10:33:44 +00:00
parent 5a92ad0621
commit b7bf423b8f
4 changed files with 5 additions and 10 deletions

View file

@ -258,7 +258,6 @@ class Backups:
Backups._on_new_snapshot_created(service_name, snapshot)
if reason == BackupReason.AUTO:
Backups._prune_auto_snaps(service)
service.post_restore()
except Exception as error:
Jobs.update(job, status=JobStatus.ERROR, error=str(error))
raise error

View file

@ -181,7 +181,7 @@ def which_snapshots_to_full_restore() -> list[Snapshot]:
autoslice = Backups.last_backup_slice()
api_snapshot = None
for snap in autoslice:
if snap.service_name == "api":
if snap.service_name == ServiceManager.get_id():
api_snapshot = snap
autoslice.remove(snap)
if api_snapshot is None:

View file

@ -226,13 +226,9 @@ class ServiceManager(Service):
@classmethod
def pre_backup(cls):
tempdir = cls.dump_dir()
if not path.exists(tempdir):
rmtree(join(tempdir), ignore_errors=True)
makedirs(tempdir)
paths = listdir(tempdir)
for file in paths:
remove(file)
for p in [USERDATA_FILE, SECRETS_FILE, DKIM_DIR]:
cls.stash_a_path(p)

View file

@ -828,7 +828,7 @@ def test_cache_invalidaton_task(backups, dummy_service):
def test_service_manager_backup_snapshot_persists(backups, generic_userdata, dkim_file):
# There was a bug with snapshot disappearance due to post_restore hooks, checking for that
manager = ServiceManager.get_service_by_id("api")
manager = ServiceManager.get_service_by_id(ServiceManager.get_id())
assert manager is not None
snapshot = Backups.back_up(manager)
@ -844,7 +844,7 @@ def test_service_manager_backs_up_without_crashing(
"""
Service manager is special and needs testing.
"""
manager = ServiceManager.get_service_by_id("api")
manager = ServiceManager.get_service_by_id(ServiceManager.get_id())
assert manager is not None
snapshot = Backups.back_up(manager)