refs #330: if cannot connect to server, throw error

pull/1/head
Natalia Serrano 2024-04-19 11:12:43 +02:00
parent 3910a842d4
commit 6a01818ef7
1 changed files with 10 additions and 5 deletions

View File

@ -149,8 +149,10 @@ class OpenGnSysWorker(ServerWorker):
# Raise error after timeout # Raise error after timeout
if not self.interface: if not self.interface:
raise e raise e
# Loop to send initialization message # Loop to send initialization message
for t in range(0, 100): init_retries = 100
for t in range(0, init_retries):
try: try:
try: try:
self.REST.sendMessage('ogagent/started', {'mac': self.interface.mac, 'ip': self.interface.ip, self.REST.sendMessage('ogagent/started', {'mac': self.interface.mac, 'ip': self.interface.ip,
@ -158,7 +160,8 @@ class OpenGnSysWorker(ServerWorker):
'osversion': operations.os_version, 'osversion': operations.os_version,
'agent_version': VERSION}) 'agent_version': VERSION})
break break
except: except Exception as e:
logger.warn (str (e))
# Trying to initialize on alternative server, if defined # Trying to initialize on alternative server, if defined
# (used in "exam mode" from the University of Seville) # (used in "exam mode" from the University of Seville)
self.REST = REST(self.service.config.get('opengnsys', 'altremote')) self.REST = REST(self.service.config.get('opengnsys', 'altremote'))
@ -167,13 +170,15 @@ class OpenGnSysWorker(ServerWorker):
'osversion': operations.os_version, 'alt_url': True, 'osversion': operations.os_version, 'alt_url': True,
'agent_version': VERSION}) 'agent_version': VERSION})
break break
except: except Exception as e:
logger.warn (str (e))
time.sleep(3) time.sleep(3)
# Raise error after timeout # Raise error after timeout
if 0 < t < 100: if t < init_retries-1:
logger.debug('Successful connection after {} tries'.format(t)) logger.debug('Successful connection after {} tries'.format(t))
elif t == 100: elif t == init_retries-1:
raise Exception('Initialization error: Cannot connect to remote server') raise Exception('Initialization error: Cannot connect to remote server')
# Delete marking files # Delete marking files
for f in ['ogboot.me', 'ogboot.firstboot', 'ogboot.secondboot']: for f in ['ogboot.me', 'ogboot.firstboot', 'ogboot.secondboot']:
try: try: