refs #1112 implement Configurar()

ogcore1
Natalia Serrano 2024-11-27 20:03:58 +01:00
parent 74a6937501
commit 7f45c3083d
4 changed files with 31 additions and 5 deletions

View File

@ -1,3 +1,9 @@
ogagent (1.4.5~pre8-1) stable; urgency=medium
* Add Configurar() to the CloningEngine module
-- OpenGnsys developers <info@opengnsys.es> Wed, 27 Nov 2024 20:02:42 +0100
ogagent (1.4.5~pre7-1) stable; urgency=medium
* Use old browser again

View File

@ -1 +1 @@
1.4.5-pre7
1.4.5-pre8

View File

@ -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:

View File

@ -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