mirror of https://git.48k.eu/ogclient
src: stop using hardcoded paths to cache image directory
Use the constant OG_CACHE_IMAGE_PATH from cache.py to obtain the location of the directory where images are stored. This way the path can be changed from one single point.master
parent
dd003e688f
commit
9a5e83ea1a
|
@ -39,7 +39,6 @@ from src.log import OgError
|
|||
|
||||
|
||||
OG_SHELL = '/bin/bash'
|
||||
OG_CACHE_PATH = '/opt/opengnsys/cache/opt/opengnsys/images'
|
||||
|
||||
class OgLiveOperations:
|
||||
def __init__(self, config):
|
||||
|
@ -181,7 +180,7 @@ class OgLiveOperations:
|
|||
Implies a unicast transfer. Does not use tiptorrent.
|
||||
"""
|
||||
src = f'/opt/opengnsys/images/{image_name}.img'
|
||||
dst = f'/opt/opengnsys/cache/opt/opengnsys/images/{image_name}.img'
|
||||
dst = f'{OG_CACHE_IMAGE_PATH}{image_name}.img'
|
||||
try:
|
||||
r = shutil.copy(src, dst)
|
||||
tip_write_csum(image_name)
|
||||
|
@ -194,7 +193,7 @@ class OgLiveOperations:
|
|||
raise OgError(f'Cannot change repository to {repo}')
|
||||
|
||||
if cache:
|
||||
image_path = f'/opt/opengnsys/cache/opt/opengnsys/images/{name}.img'
|
||||
image_path = f'{OG_CACHE_IMAGE_PATH}{name}.img'
|
||||
if (not os.path.exists(image_path) or
|
||||
not tip_check_csum(repo, name)):
|
||||
self._copy_image_to_cache(name)
|
||||
|
@ -203,10 +202,10 @@ class OgLiveOperations:
|
|||
self._restore_image(image_path, devpath)
|
||||
|
||||
def _restore_image_tiptorrent(self, repo, name, devpath):
|
||||
if not os.path.exists(OG_CACHE_PATH):
|
||||
if not os.path.exists(OG_CACHE_IMAGE_PATH):
|
||||
raise OgError('No cache partition is mounted')
|
||||
|
||||
image_path = f'/opt/opengnsys/cache/opt/opengnsys/images/{name}.img'
|
||||
image_path = f'{OG_CACHE_IMAGE_PATH}{name}.img'
|
||||
try:
|
||||
if (not os.path.exists(image_path) or not tip_check_csum(repo, name)):
|
||||
tip_client_get(repo, name)
|
||||
|
|
|
@ -14,7 +14,7 @@ import shutil
|
|||
import subprocess
|
||||
import urllib.request
|
||||
from src.log import OgError
|
||||
from src.utils.cache import mount_cache
|
||||
from src.utils.cache import *
|
||||
|
||||
def _compute_md5(path, bs=2**20):
|
||||
m = hashlib.md5()
|
||||
|
@ -45,7 +45,7 @@ def tip_write_csum(image_name):
|
|||
if not mount_cache():
|
||||
raise OgError(f'Failed to checksum {image_name}: cache partition is not available')
|
||||
|
||||
image_path = f'/opt/opengnsys/cache/opt/opengnsys/images/{image_name}.img'
|
||||
image_path = f'{OG_CACHE_IMAGE_PATH}{image_name}.img'
|
||||
|
||||
if not os.path.exists(image_path):
|
||||
raise OgError(f'Invalid image path {image_path} for tiptorrent checksum writing')
|
||||
|
@ -65,7 +65,7 @@ def tip_check_csum(tip_addr, image_name):
|
|||
"""
|
||||
"""
|
||||
logging.info(f'Verifying checksum for {image_name}.img, please wait...')
|
||||
image_path = f'/opt/opengnsys/cache/opt/opengnsys/images/{image_name}.img'
|
||||
image_path = f'{OG_CACHE_IMAGE_PATH}{image_name}.img'
|
||||
if not os.path.exists(image_path):
|
||||
raise OgError(f'Invalid image path {image_path} for tiptorrent image csum comparison')
|
||||
|
||||
|
@ -93,7 +93,7 @@ def tip_client_get(tip_addr, image_name):
|
|||
try:
|
||||
proc = subprocess.Popen(shlex.split(cmd),
|
||||
stdout=logfile,
|
||||
cwd='/opt/opengnsys/cache/opt/opengnsys/images/')
|
||||
cwd=OG_CACHE_IMAGE_PATH)
|
||||
proc.communicate()
|
||||
except OSError as e:
|
||||
raise OgError('Unexpected error running tiptorrent subprocess: {e}') from e
|
||||
|
|
Loading…
Reference in New Issue