summaryrefslogtreecommitdiffstats
path: root/src/utils/legacy.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/utils/legacy.py')
-rw-r--r--src/utils/legacy.py55
1 files changed, 55 insertions, 0 deletions
diff --git a/src/utils/legacy.py b/src/utils/legacy.py
new file mode 100644
index 0000000..7ea2bd6
--- /dev/null
+++ b/src/utils/legacy.py
@@ -0,0 +1,55 @@
+import ipaddress
+import os
+import subprocess
+import shlex
+
+from subprocess import PIPE
+
+def ogGetImageInfo(path):
+ """
+ Bash function 'ogGetImageInfo' wrapper (client/engine/Image.lib)
+ """
+ proc = subprocess.run(f'ogGetImageInfo {path}',
+ stdout=PIPE, shell=True,
+ encoding='utf-8')
+
+ if proc.stdout.count(':') != 3:
+ return ''
+
+ image_info = {}
+ (image_info['clonator'],
+ image_info['compressor'],
+ image_info['filesystem'],
+ image_info['datasize']) = proc.stdout.rstrip().split(':', 4)
+ image_info['clientname'] = os.getenv('HOSTNAME')
+ return image_info
+
+
+def cambiar_acceso(mode='rw', user='opengnsys', pwd='og'):
+ """
+ 'CambiarAcceso' wrapper (admin/Interface/CambiarAcceso)
+ """
+ if mode not in ['rw', 'ro']:
+ raise ValueError('Invalid remount mode option')
+
+ cmd = shlex.split(f'mount -o remount,{mode},username={user},password={pwd} /opt/opengnsys/images')
+ ret = True
+ try:
+ subprocess.run(cmd, check=True)
+ except CalledProcessError:
+ ret = False
+ finally:
+ return ret
+
+
+def ogChangeRepo(ip):
+ """
+ Bash function 'ogGetImageInfo' wrapper (client/engine/Net.lib)
+ """
+ try:
+ ipaddr = ipaddress.ip_address(ip)
+ except ValueError as e:
+ raise
+
+ return subprocess.run(f'ogChangeRepo {ipaddr}',
+ shell=True)