updates to allow emane to throw an exception when emane python bindings are not present and emane is attempted to be ran
This commit is contained in:
parent
71196004c8
commit
3165bddc92
2 changed files with 11 additions and 3 deletions
daemon/core
|
@ -33,6 +33,7 @@ from core.emulator.emudata import InterfaceData, LinkOptions, NodeOptions
|
||||||
from core.emulator.enumerations import (
|
from core.emulator.enumerations import (
|
||||||
ConfigDataTypes,
|
ConfigDataTypes,
|
||||||
EventTypes,
|
EventTypes,
|
||||||
|
ExceptionLevels,
|
||||||
LinkTypes,
|
LinkTypes,
|
||||||
MessageFlags,
|
MessageFlags,
|
||||||
NodeTypes,
|
NodeTypes,
|
||||||
|
@ -532,12 +533,12 @@ class CoreHandler(socketserver.BaseRequestHandler):
|
||||||
return
|
return
|
||||||
|
|
||||||
message_handler = self.message_handlers[message.message_type]
|
message_handler = self.message_handlers[message.message_type]
|
||||||
|
|
||||||
try:
|
try:
|
||||||
# TODO: this needs to be removed, make use of the broadcast message methods
|
# TODO: this needs to be removed, make use of the broadcast message methods
|
||||||
replies = message_handler(message)
|
replies = message_handler(message)
|
||||||
self.dispatch_replies(replies, message)
|
self.dispatch_replies(replies, message)
|
||||||
except Exception:
|
except Exception as e:
|
||||||
|
self.send_exception(ExceptionLevels.ERROR, "corehandler", str(e))
|
||||||
logging.exception(
|
logging.exception(
|
||||||
"%s: exception while handling message: %s",
|
"%s: exception while handling message: %s",
|
||||||
threading.currentThread().getName(),
|
threading.currentThread().getName(),
|
||||||
|
@ -642,7 +643,7 @@ class CoreHandler(socketserver.BaseRequestHandler):
|
||||||
session=self.session.id,
|
session=self.session.id,
|
||||||
node=node,
|
node=node,
|
||||||
date=time.ctime(),
|
date=time.ctime(),
|
||||||
level=level.value,
|
level=level,
|
||||||
source=source,
|
source=source,
|
||||||
text=text,
|
text=text,
|
||||||
)
|
)
|
||||||
|
|
|
@ -39,6 +39,9 @@ except ImportError:
|
||||||
from emanesh.events import LocationEvent
|
from emanesh.events import LocationEvent
|
||||||
from emanesh.events.eventserviceexception import EventServiceException
|
from emanesh.events.eventserviceexception import EventServiceException
|
||||||
except ImportError:
|
except ImportError:
|
||||||
|
EventService = None
|
||||||
|
LocationEvent = None
|
||||||
|
EventServiceException = None
|
||||||
logging.debug("compatible emane python bindings not installed")
|
logging.debug("compatible emane python bindings not installed")
|
||||||
|
|
||||||
EMANE_MODELS = [
|
EMANE_MODELS = [
|
||||||
|
@ -279,6 +282,10 @@ class EmaneManager(ModelManager):
|
||||||
logging.debug("no emane nodes in session")
|
logging.debug("no emane nodes in session")
|
||||||
return EmaneManager.NOT_NEEDED
|
return EmaneManager.NOT_NEEDED
|
||||||
|
|
||||||
|
# check if bindings were installed
|
||||||
|
if EventService is None:
|
||||||
|
raise CoreError("EMANE python bindings are not installed")
|
||||||
|
|
||||||
# control network bridge required for EMANE 0.9.2
|
# control network bridge required for EMANE 0.9.2
|
||||||
# - needs to exist when eventservice binds to it (initeventservice)
|
# - needs to exist when eventservice binds to it (initeventservice)
|
||||||
otadev = self.get_config("otamanagerdevice")
|
otadev = self.get_config("otamanagerdevice")
|
||||||
|
|
Loading…
Add table
Reference in a new issue