summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlejandro Sirgo Rica <asirgo@soleta.eu>2024-10-04 10:15:57 +0200
committerAlejandro Sirgo Rica <asirgo@soleta.eu>2024-10-08 10:07:45 +0200
commitf942b19eae90e9ca468cbe0a93e5dc9ad02b38d0 (patch)
tree2342c2426a3e77829c712fad5476e13776419fae
parentfe960010a06471eefc2ffebc1d8bbd06f09b98c4 (diff)
src: fix cache mount in new ogLive
Mount cache in image_create() image_restore() and cache_fetch(). Remove init_cache() and ensure /opt/opengnsys/images/ exists within the cache mountpoint if it does not exists in cache_mount().
-rw-r--r--src/live/ogOperations.py8
-rw-r--r--src/utils/cache.py23
2 files changed, 11 insertions, 20 deletions
diff --git a/src/live/ogOperations.py b/src/live/ogOperations.py
index f02a54b..c372d2a 100644
--- a/src/live/ogOperations.py
+++ b/src/live/ogOperations.py
@@ -543,7 +543,7 @@ class OgLiveOperations:
fs = part["filesystem"].lower()
if fs == 'cache':
- init_cache()
+ mount_cache()
logging.info('Partition setup command OK')
result = self.refresh(ogRest)
@@ -562,6 +562,8 @@ class OgLiveOperations:
cid = request.getId()
partdev = get_partition_device(disk, partition)
+ mount_cache()
+
self._ogbrowser_clear_logs()
self._restartBrowser(self._url_log)
@@ -600,6 +602,8 @@ class OgLiveOperations:
backup = request.getBackup()
image_path = f'/opt/opengnsys/images/{name}.img'
+ mount_cache()
+
self._ogbrowser_clear_logs()
self._restartBrowser(self._url_log)
@@ -772,6 +776,8 @@ class OgLiveOperations:
repo = request.getRepo()
ctype = request.getType()
+ mount_cache()
+
logging.info(f'Request to cache image {image}.img via {ctype} from {repo}')
if ctype == 'UNICAST':
diff --git a/src/utils/cache.py b/src/utils/cache.py
index 6358c6a..ea32f8b 100644
--- a/src/utils/cache.py
+++ b/src/utils/cache.py
@@ -19,16 +19,13 @@ OG_CACHE_IMAGE_PATH = OG_CACHE_PATH + OG_IMAGE_PATH
OGCLIENT_LOG_CACHE='/opt/opengnsys/log/{ip}.cache.txt'
def mount_cache():
- """
- Probes for cache and mounts if succesful.
-
- Returns the mountpoint or an empty string.
- """
cache_dev = get_cache_dev_path()
if cache_dev:
- # cache_target = cache_dev.replace('dev', 'mnt')
- mount_mkdir(cache_dev, OG_CACHE_PATH)
+ cache_mounted = mount_mkdir(cache_dev, OG_CACHE_PATH)
+
+ if cache_mounted and not os.path.exists(OG_CACHE_IMAGE_PATH):
+ os.makedirs(OG_CACHE_IMAGE_PATH)
return OG_CACHE_PATH
return ''
@@ -69,15 +66,3 @@ def generate_cache_txt():
return
content = ','.join(files)
write_cache_txt(content)
-
-
-def init_cache():
- """
- If a cache partition is present, creates the following directories
- /opt/opengnsys/images. This is the default folder in which images
- are stored when using tiptorrent-cache.
- """
- mountpoint = mount_cache()
- if mountpoint:
- logging.info(f'Creating cache directory at {mountpoint}')
- os.makedirs(f'{mountpoint}/opt/opengnsys/images')