Merge pull request 'configurar-check-sizes' (#45) from configurar-check-sizes into main

Reviewed-on: #45
extensionless-scripts 6.3.0
Natalia Serrano 2025-07-18 14:24:24 +02:00
commit 99e2d3b7bc
5 changed files with 39 additions and 13 deletions

View File

@ -6,6 +6,12 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [6.3.0] - 2025-07-18
### Added
- Add new parameter for Configurar
## [6.2.0] - 2025-07-18
### Added

View File

@ -1,3 +1,9 @@
ogagent (6.3.0-1) stable; urgency=medium
* Add new parameter for Configurar
-- OpenGnsys developers <info@opengnsys.es> Fri, 18 Jul 2025 14:20:44 +0200
ogagent (6.2.0-1) stable; urgency=medium
* Add endpoint for GetGitData

View File

@ -1 +1 @@
6.2.0
6.3.0

View File

@ -560,8 +560,9 @@ class ogAdmClientWorker (ogLiveWorker):
dsk = post_params['dsk']
cfg = post_params['cfg']
ids = post_params['ids']
check_sizes = str ('check-sizes' in post_params and 'true' == post_params['check-sizes']).lower()
self.muestraMensaje (4)
if 'true' != check_sizes: self.muestraMensaje (4)
params = []
disk_info = cfg.pop (0)
@ -582,23 +583,24 @@ class ogAdmClientWorker (ogLiveWorker):
cfg_str = f'{disk_info_str}!{part_info_str}%'
try:
self.interfaceAdmin (nfn, ['ignored', cfg_str])
self.muestraMensaje (14)
self.interfaceAdmin (nfn, ['ignored', cfg_str, check_sizes])
if 'true' != check_sizes: self.muestraMensaje (14)
herror = 0
except:
logger.warning ('Error al ejecutar el comando')
self.muestraMensaje (13)
if 'true' != check_sizes: self.muestraMensaje (13)
herror = 1
cfg = self.LeeConfiguracion()
if not cfg:
logger.warning ('No se ha podido recuperar la configuración de las particiones del disco')
return {}
cmd = {
'nfn': 'RESPUESTA_Configurar',
'cfg': self.cfg2obj (cfg),
}
if 'true' != check_sizes:
cfg = self.LeeConfiguracion()
if not cfg:
logger.warning ('No se ha podido recuperar la configuración de las particiones del disco')
return {}
cmd['cfg'] = self.cfg2obj (cfg)
self.muestraMenu()
return self.respuestaEjecucionComando (cmd, herror, ids)
@ -1008,6 +1010,11 @@ class ogAdmClientWorker (ogLiveWorker):
@check_secret
def process_Configurar (self, path, get_params, post_params, server):
logger.debug ('in process_Configurar, path "{}" get_params "{}" post_params "{}" server "{}"'.format (path, get_params, post_params, server))
check_sizes = str ('check-sizes' in post_params and 'true' == post_params['check-sizes']).lower()
if 'true' == check_sizes:
return self.do_Configurar (post_params)
return self._long_running_job ('Configurar', self.do_Configurar, args=(post_params,))
@execution_level('full')

View File

@ -292,6 +292,7 @@ class ogLiveWorker(ServerWorker):
pass
sout = serr = ''
poll_iterations = 1
while p.poll() is None:
for l in iter (p.stdout.readline, b''):
partial = l.decode ('utf-8', 'ignore')
@ -300,7 +301,13 @@ class ogLiveWorker(ServerWorker):
for l in iter (p.stderr.readline, b''):
partial = l.decode ('utf-8', 'ignore')
serr += partial
time.sleep (1)
## poll quickly at first, then poll less frequently
if poll_iterations > 15: sleep_time = 1
elif poll_iterations > 10: sleep_time = 0.2
else: sleep_time = 0.1
time.sleep (sleep_time)
poll_iterations += 1
sout = sout.strip()
serr = serr.strip()
@ -425,7 +432,7 @@ class ogLiveWorker(ServerWorker):
k, v = item.split ('=', maxsplit=1)
elem[k] = v
obj.append (elem)
if elem: obj.append (elem)
return obj