browser-err #65
|
@ -5,6 +5,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).
|
||||
|
||||
## [8.4.0] - 2025-09-29
|
||||
|
||||
### Changed
|
||||
|
||||
- Show a user-friendly error if the agent fails to start
|
||||
|
||||
## [8.3.3] - 2025-09-23
|
||||
|
||||
### Fixed
|
||||
|
|
|
@ -38,6 +38,7 @@ log=DEBUG
|
|||
pathinterface=/opt/opengnsys/interfaceAdm
|
||||
urlMenu={}://{}/menu-browser
|
||||
urlMsg=http://localhost/cgi-bin/httpd-log.sh
|
||||
urlErr=http://localhost/cgi-bin/httpd-err.sh
|
||||
|
||||
# TLS
|
||||
ca=/opt/opengnsys/etc/ca.crt
|
||||
|
|
|
@ -97,7 +97,8 @@ class Logger(object):
|
|||
except Exception:
|
||||
tb = '(could not get traceback!)'
|
||||
|
||||
self.log(DEBUG, 'traceback follows: "{}"'.format(tb))
|
||||
if 'Refusing to load' not in tb:
|
||||
self.log(DEBUG, 'traceback follows: "{}"'.format(tb))
|
||||
|
||||
def flush(self):
|
||||
pass
|
||||
|
|
|
@ -90,18 +90,6 @@ class ogAdmClientWorker (ogLiveWorker):
|
|||
name = 'ogAdmClient' # Module name
|
||||
REST = None # REST object
|
||||
|
||||
def onDeactivation (self):
|
||||
"""
|
||||
Sends OGAgent stopping notification to OpenGnsys server
|
||||
"""
|
||||
logger.debug ('onDeactivation')
|
||||
self.REST.sendMessage ('ogagent/stopped', {'mac': self.mac, 'ip': self.IPlocal, 'idcentro': self.idcentro, 'idaula': self.idaula,
|
||||
'idordenador': self.idordenador, 'nombreordenador': self.nombreordenador})
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
def InventariandoSoftware (self, dsk, par, nfn):
|
||||
sft_src = f'/tmp/CSft-{self.IPlocal}-{par}'
|
||||
try:
|
||||
|
@ -277,32 +265,48 @@ class ogAdmClientWorker (ogLiveWorker):
|
|||
self.exec_level = 'full'
|
||||
self.random = ''.join(random.choice(string.ascii_lowercase + string.digits) for _ in range(32))
|
||||
|
||||
logger.info ('Inicio de sesion')
|
||||
logger.info ('Abriendo sesión en el servidor de Administración')
|
||||
if (not self.inclusionCliente()):
|
||||
raise Exception ('Se han generado errores. No se puede continuar la ejecución de este módulo')
|
||||
|
||||
logger.info ('Cliente iniciado')
|
||||
logger.info ('Procesando caché')
|
||||
if not self.cuestionCache():
|
||||
raise Exception ('Se han generado errores. No se puede continuar la ejecución de este módulo')
|
||||
|
||||
if self.idproautoexec > 0:
|
||||
logger.info ('Ejecución de archivo Autoexec')
|
||||
if not self.autoexecCliente():
|
||||
try:
|
||||
logger.info ('Inicio de sesion')
|
||||
logger.info ('Abriendo sesión en el servidor de Administración')
|
||||
if (not self.inclusionCliente()):
|
||||
raise Exception ('Se han generado errores. No se puede continuar la ejecución de este módulo')
|
||||
|
||||
logger.info ('Procesa comandos pendientes')
|
||||
if not self.comandosPendientes():
|
||||
raise Exception ('Se han generado errores. No se puede continuar la ejecución de este módulo')
|
||||
logger.info ('Cliente iniciado')
|
||||
logger.info ('Procesando caché')
|
||||
if not self.cuestionCache():
|
||||
raise Exception ('Se han generado errores. No se puede continuar la ejecución de este módulo')
|
||||
|
||||
logger.info ('Acciones pendientes procesadas')
|
||||
if self.idproautoexec > 0:
|
||||
logger.info ('Ejecución de archivo Autoexec')
|
||||
if not self.autoexecCliente():
|
||||
raise Exception ('Se han generado errores. No se puede continuar la ejecución de este módulo')
|
||||
|
||||
logger.info ('Procesa comandos pendientes')
|
||||
if not self.comandosPendientes():
|
||||
raise Exception ('Se han generado errores. No se puede continuar la ejecución de este módulo')
|
||||
|
||||
logger.info ('Acciones pendientes procesadas')
|
||||
except:
|
||||
self.muestraError()
|
||||
logger.warning ('onActivation failed')
|
||||
return
|
||||
|
||||
self.muestraMenu()
|
||||
self.procesaComandos()
|
||||
|
||||
logger.info ('onActivation ok')
|
||||
|
||||
def onDeactivation (self):
|
||||
"""
|
||||
Sends OGAgent stopping notification to OpenGnsys server
|
||||
"""
|
||||
logger.debug ('onDeactivation')
|
||||
self.REST.sendMessage ('ogagent/stopped', {'mac': self.mac, 'ip': self.IPlocal, 'idcentro': self.idcentro, 'idaula': self.idaula,
|
||||
'idordenador': self.idordenador, 'nombreordenador': self.nombreordenador})
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -448,6 +448,9 @@ class ogLiveWorker(ServerWorker):
|
|||
def muestraMensaje (self, idx):
|
||||
self.cargaPaginaWeb (f'{self.urlMsg}?idx={idx}')
|
||||
|
||||
def muestraError (self):
|
||||
self.cargaPaginaWeb (self.urlErr)
|
||||
|
||||
def LeeConfiguracion (self):
|
||||
try:
|
||||
parametroscfg = self.interfaceAdmin ('getConfiguration') ## Configuración de los Sistemas Operativos del cliente
|
||||
|
@ -510,6 +513,7 @@ class ogLiveWorker(ServerWorker):
|
|||
self.pathinterface = self.service.config.get (self.name, 'pathinterface')
|
||||
self.urlMenu = self.service.config.get (self.name, 'urlMenu')
|
||||
self.urlMsg = self.service.config.get (self.name, 'urlMsg')
|
||||
self.urlErr = self.service.config.get (self.name, 'urlErr')
|
||||
|
||||
ca_file = self.service.config.get (self.name, 'ca')
|
||||
crt_file = self.service.config.get (self.name, 'crt')
|
||||
|
@ -522,11 +526,16 @@ class ogLiveWorker(ServerWorker):
|
|||
logger.setLevel (loglevel)
|
||||
self.REST = REST (url, ca_file=ca_file, crt_file=crt_file, key_file=key_file)
|
||||
|
||||
if not self.tomaIPlocal():
|
||||
raise Exception ('Se han generado errores. No se puede continuar la ejecución de este módulo')
|
||||
try:
|
||||
if not self.tomaIPlocal():
|
||||
raise Exception ('Se han generado errores. No se puede continuar la ejecución de este módulo')
|
||||
|
||||
if not self.tomaMAClocal():
|
||||
raise Exception ('Se han generado errores. No se puede continuar la ejecución de este módulo')
|
||||
if not self.tomaMAClocal():
|
||||
raise Exception ('Se han generado errores. No se puede continuar la ejecución de este módulo')
|
||||
except:
|
||||
self.muestraError()
|
||||
logger.warning ('onActivation failed')
|
||||
return
|
||||
|
||||
threading.Thread (name='monitoring_thread', target=self.mon, daemon=True).start()
|
||||
|
||||
|
|
Loading…
Reference in New Issue