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) Backups._on_new_snapshot_created(service_name, snapshot)
if reason == BackupReason.AUTO: if reason == BackupReason.AUTO:
Backups._prune_auto_snaps(service) Backups._prune_auto_snaps(service)
service.post_restore()
except Exception as error: except Exception as error:
Jobs.update(job, status=JobStatus.ERROR, error=str(error)) Jobs.update(job, status=JobStatus.ERROR, error=str(error))
raise error raise error

View file

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

View file

@ -226,12 +226,8 @@ class ServiceManager(Service):
@classmethod @classmethod
def pre_backup(cls): def pre_backup(cls):
tempdir = cls.dump_dir() tempdir = cls.dump_dir()
if not path.exists(tempdir): rmtree(join(tempdir), ignore_errors=True)
makedirs(tempdir) makedirs(tempdir)
paths = listdir(tempdir)
for file in paths:
remove(file)
for p in [USERDATA_FILE, SECRETS_FILE, DKIM_DIR]: for p in [USERDATA_FILE, SECRETS_FILE, DKIM_DIR]:
cls.stash_a_path(p) 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): 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 # 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 assert manager is not None
snapshot = Backups.back_up(manager) snapshot = Backups.back_up(manager)
@ -844,7 +844,7 @@ def test_service_manager_backs_up_without_crashing(
""" """
Service manager is special and needs testing. 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 assert manager is not None
snapshot = Backups.back_up(manager) snapshot = Backups.back_up(manager)