From d5275c6dbeb5da0f4b0c85d61e726e88e132d11b Mon Sep 17 00:00:00 2001 From: Natalia Serrano Date: Tue, 18 Feb 2025 14:03:31 +0100 Subject: [PATCH] refs #1483 report progress of operations to ogcore --- linux/debian/changelog | 8 +++++++- src/VERSION | 2 +- src/opengnsys/modules/server/ogAdmClient/__init__.py | 9 +++++++-- src/opengnsys/workers/oglive_worker.py | 6 +++--- 4 files changed, 18 insertions(+), 7 deletions(-) diff --git a/linux/debian/changelog b/linux/debian/changelog index 1fe3965..0821052 100644 --- a/linux/debian/changelog +++ b/linux/debian/changelog @@ -1,4 +1,10 @@ -ogagent (1.4.7-1) UNRELEASED; urgency=medium +ogagent (1.4.8-1) stable; urgency=medium + + * Optionally return disk config in /status + + -- OpenGnsys developers Tue, 18 Feb 2025 13:48:54 +0100 + +ogagent (1.4.7-1) stable; urgency=medium * Merge server modules * Track the progress of children diff --git a/src/VERSION b/src/VERSION index be05bba..b2e46d1 100644 --- a/src/VERSION +++ b/src/VERSION @@ -1 +1 @@ -1.4.7 +1.4.8 diff --git a/src/opengnsys/modules/server/ogAdmClient/__init__.py b/src/opengnsys/modules/server/ogAdmClient/__init__.py index 30be61f..f0b6155 100644 --- a/src/opengnsys/modules/server/ogAdmClient/__init__.py +++ b/src/opengnsys/modules/server/ogAdmClient/__init__.py @@ -337,20 +337,25 @@ class ogAdmClientWorker (ogLiveWorker): @check_secret def process_status (self, path, get_params, post_params, server): logger.debug ('in process_status, path "{}" get_params "{}" post_params "{}" server "{}"'.format (path, get_params, post_params, server)) - cfg = self.LeeConfiguracion() + full_config = 'full-config' in post_params and post_params['full-config'] thr_status = {} for k in self.thread_list: thr_status[k] = { 'running': self.thread_list[k]['running'], 'result': self.thread_list[k]['result'], } - return { + ret = { 'nfn': 'RESPUESTA_status', 'mac': self.mac, + 'st': 'OGL', 'ip': self.IPlocal, 'cfg': self.cfg2obj (cfg), 'threads': thr_status, } + if full_config: + cfg = self.LeeConfiguracion() + ret['cfg'] = self.cfg2obj (cfg) + return ret @check_secret def process_popup (self, path, get_params, post_params, server): diff --git a/src/opengnsys/workers/oglive_worker.py b/src/opengnsys/workers/oglive_worker.py index 23a1ac7..e775c8a 100644 --- a/src/opengnsys/workers/oglive_worker.py +++ b/src/opengnsys/workers/oglive_worker.py @@ -224,8 +224,7 @@ class ogLiveWorker(ServerWorker): p = self._extract_progress (k, lines) if p: m = { "job_id": k, "progress": p } - logger.debug (f'would sendMessage ({m})') - #self.REST.sendMessage ('clients/status/webhook', { "job_id": "EjecutarScript-333feb3f", "progress": 0.91337824 }) + self.REST.sendMessage ('clients/status/webhook', { "job_id": k, "progress": p }) elem['thread'].join (0.05) if not elem['thread'].is_alive(): @@ -240,8 +239,9 @@ class ogLiveWorker(ServerWorker): def interfaceAdmin (self, method, parametros=[]): exe = '{}/{}'.format (self.pathinterface, method) ## for development only. Will be removed when the referenced bash code (/opt/opengnsys/lib/engine/bin/*.lib) is translated into python - devel_bash_prefix = ''' + devel_bash_prefix = f''' PATH=/opt/opengnsys/scripts/:$PATH; + source /opt/opengnsys/etc/lang.{os.environ.get ('LANG', 'en_GB.UTF-8')}.conf; for I in /opt/opengnsys/lib/engine/bin/*.lib; do source $I; done; for i in $(declare -F |cut -f3 -d" "); do export -f $i; done; '''