refs #1112 use envvars for configuration
parent
029d3a778d
commit
9ac107dde4
|
@ -1,3 +1,10 @@
|
||||||
|
ogagent (1.4.5~pre4-1) stable; urgency=medium
|
||||||
|
|
||||||
|
* Don't die when ogcore returns HTTP 4xx or 5xx
|
||||||
|
* Get ogcore IP and port from the environment
|
||||||
|
|
||||||
|
-- OpenGnsys developers <info@opengnsys.es> Fri, 15 Nov 2024 11:43:01 +0100
|
||||||
|
|
||||||
ogagent (1.4.5~pre3-1) stable; urgency=medium
|
ogagent (1.4.5~pre3-1) stable; urgency=medium
|
||||||
|
|
||||||
* Kill long running jobs in oglive
|
* Kill long running jobs in oglive
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
1.4.5-pre3
|
1.4.5-pre4
|
||||||
|
|
|
@ -7,9 +7,9 @@ port=8000
|
||||||
#path=test_modules/server,more_modules/server
|
#path=test_modules/server,more_modules/server
|
||||||
|
|
||||||
# Remote OpenGnsys Service
|
# Remote OpenGnsys Service
|
||||||
remote=https://192.168.2.1/opengnsys/rest
|
remote={}://{}/opengnsys/rest
|
||||||
# Alternate OpenGnsys Service (comment out to enable this option)
|
# Alternate OpenGnsys Service (comment out to enable this option)
|
||||||
#altremote=https://10.0.2.2/opengnsys/rest
|
#altremote={}://{}/opengnsys/rest
|
||||||
|
|
||||||
# Execution level (permitted operations): status, halt, full
|
# Execution level (permitted operations): status, halt, full
|
||||||
level=full
|
level=full
|
||||||
|
@ -23,15 +23,15 @@ log=DEBUG
|
||||||
[ogAdmClient]
|
[ogAdmClient]
|
||||||
#path=test_modules/server,more_modules/server
|
#path=test_modules/server,more_modules/server
|
||||||
|
|
||||||
remote=https://192.168.2.1/opengnsys/rest
|
remote={}://{}/opengnsys/rest
|
||||||
log=DEBUG
|
log=DEBUG
|
||||||
pathinterface=/opt/opengnsys/interfaceAdm
|
pathinterface=/opt/opengnsys/interfaceAdm
|
||||||
urlMenu=https://192.168.2.1/opengnsys/varios/menubrowser.php
|
urlMenu={}://{}/opengnsys/varios/menubrowser.php
|
||||||
urlMsg=http://localhost/cgi-bin/httpd-log.sh
|
urlMsg=http://localhost/cgi-bin/httpd-log.sh
|
||||||
|
|
||||||
[CloningEngine]
|
[CloningEngine]
|
||||||
remote=https://192.168.2.1/opengnsys/rest
|
remote={}://{}/opengnsys/rest
|
||||||
log=DEBUG
|
log=DEBUG
|
||||||
pathinterface=/opt/opengnsys/interfaceAdm
|
pathinterface=/opt/opengnsys/interfaceAdm
|
||||||
urlMenu=https://192.168.2.1/opengnsys/varios/menubrowser.php
|
urlMenu={}://{}/opengnsys/varios/menubrowser.php
|
||||||
urlMsg=http://localhost/cgi-bin/httpd-log.sh
|
urlMsg=http://localhost/cgi-bin/httpd-log.sh
|
||||||
|
|
|
@ -115,9 +115,18 @@ class OpenGnSysWorker(ServerWorker):
|
||||||
t = 0 # Count of time
|
t = 0 # Count of time
|
||||||
# Generate random secret to send on activation
|
# Generate random secret to send on activation
|
||||||
self.random = ''.join(random.choice(string.ascii_lowercase + string.digits) for _ in range(self.length))
|
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
|
# Ensure cfg has required configuration variables or an exception will be thrown
|
||||||
|
ogcore_scheme = os.environ['OGAGENTCFG_OGCORE_SCHEME'] or 'https'
|
||||||
|
ogcore_ip = os.environ['OGAGENTCFG_OGCORE_IP'] or '192.168.2.1'
|
||||||
|
ogcore_port = os.environ['OGAGENTCFG_OGCORE_PORT'] or '8443'
|
||||||
|
ogcore_altip = os.environ['OGAGENTCFG_OGCORE_ALTIP'] or '192.168.2.254'
|
||||||
|
ogcore_altport = os.environ['OGAGENTCFG_OGCORE_ALTPORT'] or '8443'
|
||||||
|
ogcore_ip_port = ':'.join (map (str, filter (None, [ogcore_ip, ogcore_port ])))
|
||||||
|
ogcore_altip_port = ':'.join (map (str, filter (None, [ogcore_altip, ogcore_altport ])))
|
||||||
try:
|
try:
|
||||||
url = self.service.config.get(self.name, 'remote')
|
url = self.service.config.get(self.name, 'remote')
|
||||||
|
url = url.format (ogcore_scheme, ogcore_ip_port)
|
||||||
except NoOptionError as e:
|
except NoOptionError as e:
|
||||||
logger.error("Configuration error: {}".format(e))
|
logger.error("Configuration error: {}".format(e))
|
||||||
raise e
|
raise e
|
||||||
|
@ -161,7 +170,9 @@ class OpenGnSysWorker(ServerWorker):
|
||||||
logger.warn (str (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(self.name, 'altremote'))
|
alturl = self.service.config.get(self.name, 'altremote')
|
||||||
|
alturl = alturl.format (ogcore_scheme, ogcore_altip_port)
|
||||||
|
self.REST = REST(alturl)
|
||||||
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,
|
||||||
'secret': self.random, 'ostype': operations.os_type,
|
'secret': self.random, 'ostype': operations.os_type,
|
||||||
'osversion': operations.os_version, 'alt_url': True,
|
'osversion': operations.os_version, 'alt_url': True,
|
||||||
|
|
|
@ -142,7 +142,7 @@ class ogLiveWorker(ServerWorker):
|
||||||
def notifier (self, job_id, result):
|
def notifier (self, job_id, result):
|
||||||
logger.debug (f'notifier() called, job_id ({job_id}) result ({result})')
|
logger.debug (f'notifier() called, job_id ({job_id}) result ({result})')
|
||||||
result['job_id'] = job_id
|
result['job_id'] = job_id
|
||||||
res = self.REST.sendMessage ('clients/status/webhook', result)
|
self.REST.sendMessage ('clients/status/webhook', result)
|
||||||
|
|
||||||
def killer (self, job_id):
|
def killer (self, job_id):
|
||||||
logger.debug (f'killer() called, job_id ({job_id})')
|
logger.debug (f'killer() called, job_id ({job_id})')
|
||||||
|
@ -366,12 +366,23 @@ class ogLiveWorker(ServerWorker):
|
||||||
self.idaula = None ## Identificador del aula
|
self.idaula = None ## Identificador del aula
|
||||||
self.q = None ## for passing PIDs around
|
self.q = None ## for passing PIDs around
|
||||||
|
|
||||||
|
ogcore_scheme = os.environ['OGAGENTCFG_OGCORE_SCHEME'] or 'https'
|
||||||
|
ogcore_ip = os.environ['OGAGENTCFG_OGCORE_IP'] or '192.168.2.1'
|
||||||
|
ogcore_port = os.environ['OGAGENTCFG_OGCORE_PORT'] or '8443'
|
||||||
|
urlmenu_scheme = os.environ['OGAGENTCFG_URLMENU_SCHEME'] or 'https'
|
||||||
|
urlmenu_ip = os.environ['OGAGENTCFG_URLMENU_IP'] or '192.168.2.1'
|
||||||
|
urlmenu_port = os.environ['OGAGENTCFG_URLMENU_PORT'] or '8443'
|
||||||
|
ogcore_ip_port = ':'.join (map (str, filter (None, [ogcore_ip, ogcore_port ])))
|
||||||
|
urlmenu_ip_port = ':'.join (map (str, filter (None, [urlmenu_ip, urlmenu_port])))
|
||||||
try:
|
try:
|
||||||
url = self.service.config.get (self.name, 'remote')
|
url = self.service.config.get (self.name, 'remote')
|
||||||
loglevel = self.service.config.get (self.name, 'log')
|
loglevel = self.service.config.get (self.name, 'log')
|
||||||
self.pathinterface = self.service.config.get (self.name, 'pathinterface')
|
self.pathinterface = self.service.config.get (self.name, 'pathinterface')
|
||||||
self.urlMenu = self.service.config.get (self.name, 'urlMenu')
|
self.urlMenu = self.service.config.get (self.name, 'urlMenu')
|
||||||
self.urlMsg = self.service.config.get (self.name, 'urlMsg')
|
self.urlMsg = self.service.config.get (self.name, 'urlMsg')
|
||||||
|
|
||||||
|
url = url.format (ogcore_scheme, ogcore_ip_port)
|
||||||
|
self.urlMenu = self.urlMenu.format (urlmenu_scheme, urlmenu_ip_port)
|
||||||
except NoOptionError as e:
|
except NoOptionError as e:
|
||||||
logger.error ("Configuration error: {}".format (e))
|
logger.error ("Configuration error: {}".format (e))
|
||||||
raise e
|
raise e
|
||||||
|
|
Loading…
Reference in New Issue