Skip to content

Commit 8f0364c

Browse files
committed
Merge branch 'rel/5.1' into core-future
2 parents 424c08c + c65baa9 commit 8f0364c

File tree

13 files changed

+58
-33
lines changed

13 files changed

+58
-33
lines changed

daemon/core/emane/commeffect.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,10 @@
99
try:
1010
from emane.events.commeffectevent import CommEffectEvent
1111
except ImportError:
12-
logger.info("emane 1.2.1 not found")
12+
try:
13+
from emanesh.events.commeffectevent import CommEffectEvent
14+
except ImportError:
15+
logger.warn("compatible emane python bindings not installed")
1316

1417

1518
def convert_none(x):

daemon/core/emane/emanemanager.py

Lines changed: 22 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,12 @@
3434
from emane.events import LocationEvent
3535
from emane.events.eventserviceexception import EventServiceException
3636
except ImportError:
37-
logger.info("emane 1.2.1 not found")
37+
try:
38+
from emanesh.events import EventService
39+
from emanesh.events import LocationEvent
40+
from emanesh.events.eventserviceexception import EventServiceException
41+
except ImportError:
42+
logger.warn("compatible emane python bindings not installed")
3843

3944
EMANE_MODELS = [
4045
EmaneRfPipeModel,
@@ -76,7 +81,7 @@ def __init__(self, session):
7681
self.transformport = self.session.get_config_item_int("emane_transform_port", 8200)
7782
self.doeventloop = False
7883
self.eventmonthread = None
79-
self.logversion()
84+
8085
# model for global EMANE configuration options
8186
self.emane_config = EmaneGlobalModel(session, None)
8287
session.broker.handlers.add(self.handledistributed)
@@ -86,24 +91,28 @@ def __init__(self, session):
8691
self.emane_config.name: self.emane_config
8792
}
8893

89-
# load provided models
90-
self.load_models(EMANE_MODELS)
91-
92-
# load custom models
93-
custom_models_path = session.config.get("emane_models_dir")
94-
if custom_models_path:
95-
emane_models = utils.load_classes(custom_models_path, EmaneModel)
96-
self.load_models(emane_models)
97-
9894
self.service = None
95+
self.emane_check()
9996

100-
def logversion(self):
97+
def emane_check(self):
10198
"""
102-
Log the installed EMANE version.
99+
Check if emane is installed and load models.
100+
101+
:return: nothing
103102
"""
104103
try:
104+
# check for emane
105105
emane_version = utils.check_cmd(["emane", "--version"])
106106
logger.info("using EMANE: %s", emane_version)
107+
108+
# load default emane models
109+
self.load_models(EMANE_MODELS)
110+
111+
# load custom models
112+
custom_models_path = self.session.config.get("emane_models_dir")
113+
if custom_models_path:
114+
emane_models = utils.load_classes(custom_models_path, EmaneModel)
115+
self.load_models(emane_models)
107116
except CoreCommandError:
108117
logger.info("emane is not installed")
109118

daemon/core/emane/emanemanifest.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
11
from core import logger
22
from core.enumerations import ConfigDataTypes
33

4+
manifest = None
45
try:
56
from emane.shell import manifest
67
except ImportError:
7-
logger.info("emane 1.2.1 not found")
8+
try:
9+
from emanesh import manifest
10+
except ImportError:
11+
logger.warn("compatible emane python bindings not installed")
812

913

1014
def _type_value(config_type):
@@ -77,6 +81,10 @@ def parse(manifest_path, defaults):
7781
:rtype: list
7882
"""
7983

84+
# no results when emane bindings are not present
85+
if not manifest:
86+
return []
87+
8088
# load configuration file
8189
manifest_file = manifest.Manifest(manifest_path)
8290
manifest_configurations = manifest_file.getAllConfiguration()

daemon/core/emane/nodes.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,10 @@
1515
try:
1616
from emane.events import LocationEvent
1717
except ImportError:
18-
logger.info("emane 1.2.1 not found")
18+
try:
19+
from emanesh.events import LocationEvent
20+
except ImportError:
21+
logger.warn("compatible emane python bindings not installed")
1922

2023

2124
class EmaneNet(PyCoreNet):

daemon/core/service.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,8 @@ def add_services(cls, path):
7272
"""
7373
services = utils.load_classes(path, CoreService)
7474
for service in services:
75+
if not service._name:
76+
continue
7577
service.on_load()
7678
cls.add(service)
7779

daemon/core/services/bird.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ class BirdService(CoreService):
9090
common to Bird's routing daemons.
9191
"""
9292

93-
_name = "BirdDaemon"
93+
_name = None
9494
_group = "BIRD"
9595
_depends = ("bird",)
9696
_dirs = ()

daemon/core/services/nrl.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ class NrlService(CoreService):
1313
Parent class for NRL services. Defines properties and methods
1414
common to NRL's routing daemons.
1515
"""""
16-
_name = "Protean"
16+
_name = None
1717
_group = "ProtoSvc"
1818
_depends = ()
1919
_dirs = ()

daemon/core/services/quagga.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -222,7 +222,7 @@ class QuaggaService(CoreService):
222222
Parent class for Quagga services. Defines properties and methods
223223
common to Quagga's routing daemons.
224224
"""
225-
_name = "QuaggaDaemon"
225+
_name = None
226226
_group = "Quagga"
227227
_depends = ("zebra",)
228228
_dirs = ()

daemon/core/services/sdn.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ class SdnService(CoreService):
1111
"""
1212
Parent class for SDN services.
1313
"""
14-
_name = "SdnProcess"
14+
_name = None
1515
_group = "SDN"
1616
_depends = ()
1717
_dirs = ()

daemon/core/services/utility.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ class UtilService(CoreService):
1616
"""
1717
Parent class for utility services.
1818
"""
19-
_name = "UtilityProcess"
19+
_name = None
2020
_group = "Utility"
2121
_depends = ()
2222
_dirs = ()

0 commit comments

Comments
 (0)