summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/linux/__init__.py1
-rw-r--r--src/linux/ogOperations.py46
-rw-r--r--src/ogClient.py2
-rw-r--r--src/ogRest.py3
4 files changed, 51 insertions, 1 deletions
diff --git a/src/linux/__init__.py b/src/linux/__init__.py
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/src/linux/__init__.py
@@ -0,0 +1 @@
+
diff --git a/src/linux/ogOperations.py b/src/linux/ogOperations.py
new file mode 100644
index 0000000..0d70f76
--- /dev/null
+++ b/src/linux/ogOperations.py
@@ -0,0 +1,46 @@
+#
+# Copyright (C) 2021 Soleta Networks <info@soleta.eu>
+#
+# This program is free software: you can redistribute it and/or modify it under
+# the terms of the GNU Affero General Public License as published by the
+# Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+
+import os
+from src.ogRest import ThreadState
+
+
+class OgLinuxOperations:
+
+ def _restartBrowser(self, url):
+ raise NotImplementedError
+
+ def poweroff(self):
+ os.system('systemctl poweroff')
+
+ def reboot(self):
+ os.system('systemctl reboot')
+
+ def shellrun(self, request, ogRest):
+ raise NotImplementedError
+
+ def session(self, request, ogRest):
+ raise NotImplementedError
+
+ def hardware(self, path, ogRest):
+ raise NotImplementedError
+
+ def setup(self, request, ogRest):
+ raise NotImplementedError
+
+ def image_restore(self, request, ogRest):
+ raise NotImplementedError
+
+ def image_create(self, path, request, ogRest):
+ raise NotImplementedError
+
+ def refresh(self, ogRest):
+ return {"status": "LINUX"}
+
+ def probe(self, ogRest):
+ return {'status': 'LINUX' if ogRest.state != ThreadState.BUSY else 'BSY'}
diff --git a/src/ogClient.py b/src/ogClient.py
index 78130fb..d842ee5 100644
--- a/src/ogClient.py
+++ b/src/ogClient.py
@@ -30,7 +30,7 @@ class ogClient:
self.CONFIG = config
self.mode = self.CONFIG['opengnsys']['mode']
- if self.mode not in {'virtual', 'live'}:
+ if self.mode not in {'virtual', 'live', 'linux'}:
raise ValueError('Mode not supported.')
if self.CONFIG['samba']['activate']:
diff --git a/src/ogRest.py b/src/ogRest.py
index 855179e..0d8ff87 100644
--- a/src/ogRest.py
+++ b/src/ogRest.py
@@ -264,6 +264,9 @@ class ogRest():
self.operations = OgVirtualOperations()
threading.Thread(target=self.operations.check_vm_state_loop,
args=(self,)).start()
+ elif self.mode == 'linux':
+ from src.linux.ogOperations import OgLinuxOperations
+ self.operations = OgLinuxOperations()
else:
raise ValueError('Mode not supported.')