add default node map configuration, to avoid the need to set this up every time

This commit is contained in:
Blake J. Harnden 2018-01-04 08:19:34 -08:00
parent afb6af5f87
commit 42bcb1c79d
14 changed files with 38 additions and 63 deletions

View file

@ -9,6 +9,12 @@ from core import logger
_NODE_MAP = None
def _log_map():
global _NODE_MAP
print_map = reduce(lambda x, y: _convert_map(x, y), _NODE_MAP.items(), {})
logger.info("node class map: \n%s", pprint.pformat(print_map, indent=4))
def _convert_map(x, y):
"""
Convenience method to create a human readable version of the node map to log.
@ -21,6 +27,18 @@ def _convert_map(x, y):
return x
def update_node_map(node_map):
"""
Update the current node map with the provided node map values.
:param dict node_map: node map to update with
"""
global _NODE_MAP
_NODE_MAP.update(node_map)
_log_map()
def set_node_map(node_map):
"""
Set the global node map that proides a consistent way to retrieve differently configured nodes.
@ -29,9 +47,8 @@ def set_node_map(node_map):
:return: nothing
"""
global _NODE_MAP
print_map = reduce(lambda x, y: _convert_map(x, y), node_map.items(), {})
logger.info("setting node class map: \n%s", pprint.pformat(print_map, indent=4))
_NODE_MAP = node_map
_log_map()
def get_node_class(node_type):

View file

@ -35,6 +35,7 @@ from core.enumerations import MessageFlags
from core.enumerations import NodeTypes
from core.enumerations import RegisterTlvs
from core.location import CoreLocation
from core.misc import nodemaps
from core.misc import nodeutils
from core.misc import utils
from core.misc.event import EventLoop
@ -49,6 +50,11 @@ from core.xen.xenconfig import XenConfigManager
from core.xml.xmlsession import save_session_xml
# set default node map
node_map = nodemaps.NODES
nodeutils.set_node_map(node_map)
class SessionManager(object):
"""
Manages currently known sessions.

View file

@ -13,8 +13,7 @@ import optparse
import sys
import time
from core.misc import ipaddress, nodeutils
from core.misc import nodemaps
from core.misc import ipaddress
from core.mobility import BasicRangeModel
from core.netns.nodes import WlanNode
from core.netns.vnet import EbtablesQueue
@ -108,8 +107,4 @@ def main():
if __name__ == "__main__":
# configure nodes to use
node_map = nodemaps.NODES
nodeutils.set_node_map(node_map)
main()

View file

@ -25,7 +25,7 @@ from core.enumerations import LinkTlvs
from core.enumerations import LinkTypes
from core.enumerations import MessageFlags
from core.enumerations import MessageTypes
from core.misc import ipaddress, nodeutils, nodemaps
from core.misc import ipaddress
from core.netns import nodes
# declare classes for use with Broker
@ -187,8 +187,4 @@ def main():
if __name__ == "__main__" or __name__ == "__builtin__":
# configure nodes to use
node_map = nodemaps.NODES
nodeutils.set_node_map(node_map)
main()

View file

@ -16,7 +16,7 @@ import sys
from core import constants
from core.api import coreapi, dataconversion
from core.enumerations import CORE_API_PORT, EventTypes, EventTlvs, LinkTlvs, LinkTypes, MessageFlags
from core.misc import ipaddress, nodeutils, nodemaps
from core.misc import ipaddress
from core.netns import nodes
from core.session import Session
@ -124,8 +124,4 @@ def main():
if __name__ == "__main__" or __name__ == "__builtin__":
# configure nodes to use
node_map = nodemaps.NODES
nodeutils.set_node_map(node_map)
main()

View file

@ -13,7 +13,7 @@ import sys
from core import constants
from core.emane.ieee80211abg import EmaneIeee80211abgModel
from core.emane.nodes import EmaneNode
from core.misc import ipaddress, nodeutils, nodemaps
from core.misc import ipaddress
from core.netns import nodes
# node list (count from 1)
@ -100,8 +100,4 @@ def main():
if __name__ == "__main__" or __name__ == "__builtin__":
# configure nodes to use
node_map = nodemaps.NODES
nodeutils.set_node_map(node_map)
main()

View file

@ -20,7 +20,7 @@ import sys
import time
from core import constants
from core.misc import ipaddress, nodeutils, nodemaps
from core.misc import ipaddress
from core.netns import nodes
from core.session import Session
@ -206,8 +206,4 @@ def main():
if __name__ == "__main__":
# configure nodes to use
node_map = nodemaps.NODES
nodeutils.set_node_map(node_map)
main()

View file

@ -19,7 +19,7 @@ import optparse
import sys
from core import constants
from core.misc import ipaddress, nodeutils, nodemaps
from core.misc import ipaddress
from core.netns import nodes
# node list (count from 1)
@ -100,8 +100,4 @@ def main():
if __name__ == "__main__" or __name__ == "__builtin__":
# configure nodes to use
node_map = nodemaps.NODES
nodeutils.set_node_map(node_map)
main()

View file

@ -16,7 +16,7 @@ import time
from string import Template
from core.constants import QUAGGA_STATE_DIR
from core.misc import ipaddress, nodeutils, nodemaps
from core.misc import ipaddress
from core.misc.utils import mutecall
from core.netns import nodes
@ -602,8 +602,4 @@ def main():
if __name__ == "__main__":
# configure nodes to use
node_map = nodemaps.NODES
nodeutils.set_node_map(node_map)
me = main()

View file

@ -10,7 +10,7 @@ import optparse
import sys
from core import constants
from core.misc import ipaddress, nodeutils, nodemaps
from core.misc import ipaddress
from core.netns import nodes
# node list (count from 1)
@ -73,8 +73,4 @@ def main():
if __name__ == "__main__" or __name__ == "__builtin__":
# configure nodes to use
node_map = nodemaps.NODES
nodeutils.set_node_map(node_map)
main()

View file

@ -12,7 +12,7 @@ import datetime
import optparse
import sys
from core.misc import ipaddress, nodeutils, nodemaps
from core.misc import ipaddress
from core.misc.utils import mutecall
from core.netns import nodes
from core.session import Session
@ -101,8 +101,4 @@ def main():
if __name__ == "__main__":
# configure nodes to use
node_map = nodemaps.NODES
nodeutils.set_node_map(node_map)
main()

View file

@ -41,7 +41,7 @@ from core import emane
from core.emane.bypass import EmaneBypassModel
from core.emane.nodes import EmaneNode
from core.emane.rfpipe import EmaneRfPipeModel
from core.misc import ipaddress, nodemaps, nodeutils
from core.misc import ipaddress
from core.netns import nodes
from core.session import Session
@ -851,8 +851,4 @@ def main():
if __name__ == "__main__":
# configure nodes to use
node_map = nodemaps.NODES
nodeutils.set_node_map(node_map)
main()

View file

@ -12,7 +12,7 @@ import datetime
import optparse
import sys
from core.misc import ipaddress, nodeutils, nodemaps
from core.misc import ipaddress
from core.misc.utils import mutecall
from core.netns import nodes
from core.session import Session
@ -99,8 +99,4 @@ def main():
if __name__ == "__main__":
# configure nodes to use
node_map = nodemaps.NODES
nodeutils.set_node_map(node_map)
main()

View file

@ -336,17 +336,14 @@ def main():
if __name__ == "__main__":
# configure nodes to use
node_map = nodemaps.NODES
if len(sys.argv) == 2 and sys.argv[1] == "ovs":
from core.netns.openvswitch import OVS_NODES
node_map.update(OVS_NODES)
nodeutils.update_node_map(OVS_NODES)
# update with BSD based nodes
if os.uname()[0] == "FreeBSD":
from core.bsd.nodes import BSD_NODES
node_map.update(BSD_NODES)
nodeutils.set_node_map(node_map)
nodeutils.update_node_map(BSD_NODES)
# load default services
services.load()