summaryrefslogtreecommitdiffstats
path: root/src/utils
diff options
context:
space:
mode:
Diffstat (limited to 'src/utils')
-rw-r--r--src/utils/legacy.py46
-rw-r--r--src/utils/tiptorrent.py9
2 files changed, 49 insertions, 6 deletions
diff --git a/src/utils/legacy.py b/src/utils/legacy.py
index 8f39fe2..aca8abe 100644
--- a/src/utils/legacy.py
+++ b/src/utils/legacy.py
@@ -3,6 +3,7 @@ import logging
import os
import subprocess
import shlex
+import shutil
from subprocess import PIPE
@@ -56,6 +57,51 @@ def ogChangeRepo(ip):
shell=True)
+def restoreImageCustom(repo_ip, image_name, disk, partition, method):
+ """
+ """
+ if not shutil.which('restoreImageCustom'):
+ logging.error('Invalid restoreImageCustom invocation')
+ raise ValueError('Error: restoreImageCustom not found')
+
+ if ogChangeRepo(repo).returncode != 0:
+ logging.error('ogChangeRepo could not change repository to %s', repo)
+ raise ValueError(f'Error: Cannot change repository to {repo}')
+
+ cmd = f'restoreImageCustom {repo_ip} {image_name} {disk} {partition} {method}'
+ with open('/tmp/command.log', 'wb', 0) as logfile:
+ try:
+ proc = subprocess.run(cmd,
+ stdout=logfile,
+ encoding='utf-8',
+ shell=True)
+ except:
+ logging.error('Exception when running restoreImageCustom subprocess')
+ raise ValueError('Error: Incorrect command value')
+ return proc.returncode
+
+
+def configureOs(disk, partition):
+ """
+ """
+ if shutil.which('configureOsCustom'):
+ cmd_configure = f"configureOsCustom {disk} {partition}"
+ else:
+ cmd_configure = f"configureOs {disk} {partition}"
+
+ try:
+ proc = subprocess.run(cmd_configure,
+ stdout=PIPE,
+ encoding='utf-8',
+ shell=True)
+ out = proc.stdout
+ except:
+ logging.error('Exception when running configureOs subprocess')
+ raise ValueError('Error: Incorrect command value')
+
+ return out
+
+
def ogCopyEfiBootLoader(disk, partition):
cmd = f'ogCopyEfiBootLoader {disk} {partition}'
try:
diff --git a/src/utils/tiptorrent.py b/src/utils/tiptorrent.py
index 796a665..62feb43 100644
--- a/src/utils/tiptorrent.py
+++ b/src/utils/tiptorrent.py
@@ -71,16 +71,13 @@ def tip_client_get(tip_addr, image_name):
try:
proc = subprocess.Popen(shlex.split(cmd),
- stdout=subprocess.PIPE,
- stderr=subprocess.PIPE,
+ stdout=logfile,
cwd='/opt/opengnsys/cache/opt/opengnsys/images/')
- out, err = proc.communicate()
+ proc.communicate()
except:
- logging.error('Exception when running software inventory subprocess')
+ logging.error('Exception when running tiptorrent client GET subprocess')
raise ValueError('Error: Incorrect command value')
finally:
- logging.debug(f'tip_client_get out: {out}')
- logging.debug(f'tip_client_get err: {err}')
logfile.close()
if proc.returncode != 0: