From 68c4c914959eeccfcfdfffbdcb74df6e1527b91a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ram=C3=B3n=20M=2E=20G=C3=B3mez?= Date: Tue, 30 Jun 2020 19:34:01 +0200 Subject: [PATCH] #940: Log error message if config parameter is missing. --- .../modules/server/OpenGnSys/__init__.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/opengnsys/modules/server/OpenGnSys/__init__.py b/src/opengnsys/modules/server/OpenGnSys/__init__.py index b48c3f1..13eb5b4 100644 --- a/src/opengnsys/modules/server/OpenGnSys/__init__.py +++ b/src/opengnsys/modules/server/OpenGnSys/__init__.py @@ -42,6 +42,7 @@ import urllib.error import urllib.parse import urllib.request +from configparser import NoOptionError from opengnsys import REST, operations, VERSION from opengnsys.log import logger from opengnsys.scriptThread import ScriptExecutorThread @@ -114,21 +115,27 @@ class OpenGnSysWorker(ServerWorker): """ Sends OGAgent activation notification to OpenGnsys server """ - t = 0 + e = None # Error info + t = 0 # Count of time # Generate random secret to send on activation self.random = ''.join(random.choice(string.ascii_lowercase + string.digits) for _ in range(self.length)) # Ensure cfg has required configuration variables or an exception will be thrown - url = self.service.config.get('opengnsys', 'remote') + try: + url = self.service.config.get('opengnsys', 'remote') + except NoOptionError as e: + logger.error("Configuration error: {}".format(e)) + raise e self.REST = REST(url) # Execution level ('full' by default) try: self.exec_level = self.service.config.get('opengnsys', 'level') - except: + except NoOptionError: self.exec_level = 'full' # Get network interfaces until they are active or timeout (5 minutes) for t in range(0, 300): try: - self.interface = list(operations.getNetworkInfo())[0] # Get first network interface + # Get the first network interface + self.interface = list(operations.getNetworkInfo())[0] except Exception as e: # Wait 1 sec. and retry time.sleep(1)