diff options
author | OpenGnSys Support Team <soporte-og@soleta.eu> | 2024-07-30 09:30:44 +0200 |
---|---|---|
committer | OpenGnSys Support Team <soporte-og@soleta.eu> | 2024-07-30 16:11:43 +0200 |
commit | 1376b1900d6bda4cbf7c9082e7cd201f6abcbab0 (patch) | |
tree | d4e2540ef9c7d4ebab794b9e7fbd4004ea90c9a4 /src/live | |
parent | 49017c00caa56255a6946003fd8a62804d6c061f (diff) |
live: remove old image and checksum file on download
Restoring an updated image file (with different checksum) could fail while the
old checksum file could remain in place.
Remove image and checksum file before fetching the new files.
Diffstat (limited to 'src/live')
-rw-r--r-- | src/live/ogOperations.py | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/live/ogOperations.py b/src/live/ogOperations.py index 7bb2528..d77fe65 100644 --- a/src/live/ogOperations.py +++ b/src/live/ogOperations.py @@ -185,9 +185,17 @@ class OgLiveOperations: Implies a unicast transfer. Does not use tiptorrent. """ - src = f'/opt/opengnsys/images/{image_name}.img' dst = f'{OG_CACHE_IMAGE_PATH}{image_name}.img' try: + if os.path.exists(dst): + os.unlink(dst) + if os.path.exists(f"{dst}.full.sum"): + os.unlink(f"{dst}.full.sum") + except OSError as e: + raise OgError(f"Error deleting file {e.filename}: {e.strerror}") from e + + src = f'/opt/opengnsys/images/{image_name}.img' + try: logging.info(f'Fetching image {image_name} from {src}') logging.info('*DO NOT REBOOT OR POWEROFF* the client during this time') r = shutil.copy(src, dst) |