From 7f45c3083d8580f9fba083389c6bdf51921bb3e0 Mon Sep 17 00:00:00 2001 From: Natalia Serrano Date: Wed, 27 Nov 2024 20:03:58 +0100 Subject: [PATCH] refs #1112 implement Configurar() --- linux/debian/changelog | 6 +++++ src/VERSION | 2 +- .../modules/server/CloningEngine/__init__.py | 22 +++++++++++++++++-- src/opengnsys/workers/oglive_worker.py | 6 +++-- 4 files changed, 31 insertions(+), 5 deletions(-) diff --git a/linux/debian/changelog b/linux/debian/changelog index 32aa577..1030976 100644 --- a/linux/debian/changelog +++ b/linux/debian/changelog @@ -1,3 +1,9 @@ +ogagent (1.4.5~pre8-1) stable; urgency=medium + + * Add Configurar() to the CloningEngine module + + -- OpenGnsys developers Wed, 27 Nov 2024 20:02:42 +0100 + ogagent (1.4.5~pre7-1) stable; urgency=medium * Use old browser again diff --git a/src/VERSION b/src/VERSION index a70e11e..d051a1b 100644 --- a/src/VERSION +++ b/src/VERSION @@ -1 +1 @@ -1.4.5-pre7 +1.4.5-pre8 diff --git a/src/opengnsys/modules/server/CloningEngine/__init__.py b/src/opengnsys/modules/server/CloningEngine/__init__.py index ceb1d20..957598d 100644 --- a/src/opengnsys/modules/server/CloningEngine/__init__.py +++ b/src/opengnsys/modules/server/CloningEngine/__init__.py @@ -190,13 +190,31 @@ class CloningEngineWorker (ogLiveWorker): nfn = post_params['nfn'] dsk = post_params['dsk'] - cfg = post_params['cfg'].replace('\n','$').replace('\t','#') + cfg = post_params['cfg'] ids = post_params['ids'] self.muestraMensaje (4) + params = [] + disk_info = cfg.pop (0) + logger.debug (f'disk_info ({disk_info})') + for k in ['dis', 'che', 'tch']: + params.append (f'{k}={disk_info[k]}') + disk_info_str = '*'.join (params) + + partitions = [] + for entry in cfg: + logger.debug (f'entry ({entry})') + params = [] + for k in ['par', 'cpt', 'sfi', 'tam', 'ope']: + params.append (f'{k}={entry[k]}') + partitions.append ('*'.join (params)) + part_info_str = '%'.join (partitions) + + cfg_str = f'{disk_info_str}!{part_info_str}%' + try: - self.interfaceAdmin (nfn, [dsk, cfg]) + self.interfaceAdmin (nfn, ['ignored', cfg_str]) self.muestraMensaje (14) herror = 0 except: diff --git a/src/opengnsys/workers/oglive_worker.py b/src/opengnsys/workers/oglive_worker.py index b0e470c..d7da9c1 100644 --- a/src/opengnsys/workers/oglive_worker.py +++ b/src/opengnsys/workers/oglive_worker.py @@ -225,8 +225,9 @@ class ogLiveWorker(ServerWorker): p = subprocess.Popen (proc, stdout=subprocess.PIPE, stderr=subprocess.PIPE) if self.q: self.q.put (p.pid) - else: - logger.debug ('oops, queremos escribir el PID del hijo a la cola pero no hay cola') + #else: + # ## sale este mensaje en el log, y no se por que + # logger.debug ('oops, queremos escribir el PID del hijo a la cola pero no hay cola') sout = serr = '' while p.poll() is None: for l in iter (p.stdout.readline, b''): sout += l.decode ('utf-8', 'ignore') @@ -435,6 +436,7 @@ class ogLiveWorker(ServerWorker): ## ## está sin probar. Simplemente probé que el agente arranca (o sea, que no lo rompí con estos cambios) ## versión 1.4.5-pre3, desplegada en entornos de desarrollo y funciona bien +## (aunque sale el mensaje de "oops, queremos escribir el PID del hijo a la cola pero no hay cola", no sé por qué. Lo comento para que no despiste a la gente) ## la idea sería mandarle un EjecutarScript 'sleep 30' y luego un KillJob ## ## $ curl --insecure -X POST --data '{"nfn":"EjecutarScript","scp":"cd /usr; sleep 30; pwd; ls","ids":"0"}' https://192.168.2.199:8000/ogAdmClient/EjecutarScript