summaryrefslogtreecommitdiffstats
path: root/src/linux
diff options
context:
space:
mode:
authorJose M. Guisado <jguisado@soleta.eu>2021-11-08 14:56:01 +0100
committerJose M. Guisado <jguisado@soleta.eu>2021-11-15 13:37:40 +0100
commit2d3d31bf61a8a0a1499ff2fe002019bdfc1241ec (patch)
tree39aaf4f33d4f80c2c54ddf6e1d7f6808dc680a41 /src/linux
parente549bd819ead5e66b3b0f86592b41399c62460eb (diff)
#1065 src: add linux mode
ogClient can run in "linux" mode. In addition to live or virtual. Serves as a substitute to the legacy ogagent, which has not received any updates since 2020/07/23. Linux mode initially supports remote reboot and poweroff. Requires updated ogServer with the Linux ogclient state. ogClient can be set up to run in linux mode by specifying it in ogclient.json: { "opengnsys": { "ip": "192.168.56.10", "port": 8889, "log": "DEBUG", "mode": "linux", ... }
Diffstat (limited to 'src/linux')
-rw-r--r--src/linux/__init__.py1
-rw-r--r--src/linux/ogOperations.py46
2 files changed, 47 insertions, 0 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'}