removed session.create_wireless_node, can be achieved simply without needing this function

This commit is contained in:
Blake Harnden 2019-10-22 15:13:28 -07:00
parent c1bb9ed5d8
commit ce411a07d7
9 changed files with 56 additions and 74 deletions

View file

@ -585,7 +585,7 @@ class EmaneManager(ModelManager):
args = f"{emanecmd} -f {log_file} {platform_xml}"
output = node.cmd(args)
logging.info("node(%s) emane daemon running: %s", node.name, args)
logging.info("node(%s) emane daemon output: %s", node.name, output)
logging.debug("node(%s) emane daemon output: %s", node.name, output)
if not run_emane_on_host:
return

View file

@ -908,22 +908,6 @@ class Session(object):
"""
self.mobility.handleevent(event_data)
def create_wireless_node(self, _id=None, node_options=None):
"""
Create a wireless node for use within an wireless/EMANE networks.
:param int _id: int for node, defaults to None and will be generated
:param core.emulator.emudata.NodeOptions node_options: options for emane node, model will always be "mdr"
:return: new emane node
:rtype: core.nodes.network.WlanNode
"""
if not node_options:
node_options = NodeOptions()
node_options.model = "mdr"
return self.add_node(
_type=NodeTypes.DEFAULT, _id=_id, node_options=node_options
)
def create_emane_network(
self,
model,

View file

@ -4,11 +4,11 @@ import parser
from core.emane.ieee80211abg import EmaneIeee80211abgModel
from core.emulator.coreemu import CoreEmu
from core.emulator.emudata import IpPrefixes
from core.emulator.emudata import IpPrefixes, NodeOptions
from core.emulator.enumerations import EventTypes
def example(options):
def example(args):
# ip generator for example
prefixes = IpPrefixes(ip4_prefix="10.83.0.0/16")
@ -26,8 +26,9 @@ def example(options):
emane_network.setposition(x=80, y=50)
# create nodes
for i in range(options.nodes):
node = session.create_wireless_node()
options = NodeOptions(model="mdr")
for i in range(args.nodes):
node = session.add_node(node_options=options)
node.setposition(x=150 * (i + 1), y=150)
interface = prefixes.create_interface(node)
session.add_link(node.id, emane_network.id, interface_one=interface)
@ -42,12 +43,12 @@ def example(options):
def main():
logging.basicConfig(level=logging.INFO)
options = parser.parse_options("emane80211")
args = parser.parse("emane80211")
start = datetime.datetime.now()
logging.info(
"running emane 80211 example: nodes(%s) time(%s)", options.nodes, options.time
"running emane 80211 example: nodes(%s) time(%s)", args.nodes, args.time
)
example(options)
example(args)
logging.info("elapsed time: %s", datetime.datetime.now() - start)

View file

@ -5,7 +5,7 @@ DEFAULT_TIME = 10
DEFAULT_STEP = 1
def parse_options(name):
def parse(name):
parser = argparse.ArgumentParser(description=f"Run {name} example")
parser.add_argument(
"-n",
@ -22,11 +22,11 @@ def parse_options(name):
help="example iperf run time in seconds",
)
options = parser.parse_args()
args = parser.parse_args()
if options.nodes < 2:
parser.error(f"invalid min number of nodes: {options.nodes}")
if options.time < 1:
parser.error(f"invalid test time: {options.time}")
if args.nodes < 2:
parser.error(f"invalid min number of nodes: {args.nodes}")
if args.time < 1:
parser.error(f"invalid test time: {args.time}")
return options
return args

View file

@ -7,7 +7,7 @@ from core.emulator.emudata import IpPrefixes
from core.emulator.enumerations import EventTypes, NodeTypes
def example(options):
def example(args):
# ip generator for example
prefixes = IpPrefixes(ip4_prefix="10.83.0.0/16")
@ -22,7 +22,7 @@ def example(options):
switch = session.add_node(_type=NodeTypes.SWITCH)
# create nodes
for _ in range(options.nodes):
for _ in range(args.nodes):
node = session.add_node()
interface = prefixes.create_interface(node)
session.add_link(node.id, switch.id, interface_one=interface)
@ -32,13 +32,13 @@ def example(options):
# get nodes to run example
first_node = session.get_node(2)
last_node = session.get_node(options.nodes + 1)
last_node = session.get_node(args.nodes + 1)
logging.info("starting iperf server on node: %s", first_node.name)
first_node.cmd("iperf -s -D")
first_node_address = prefixes.ip4_address(first_node)
logging.info("node %s connecting to %s", last_node.name, first_node_address)
output = last_node.cmd(f"iperf -t {options.time} -c {first_node_address}")
output = last_node.cmd(f"iperf -t {args.time} -c {first_node_address}")
logging.info(output)
first_node.cmd("killall -9 iperf")
@ -48,12 +48,10 @@ def example(options):
def main():
logging.basicConfig(level=logging.INFO)
options = parser.parse_options("switch")
args = parser.parse("switch")
start = datetime.datetime.now()
logging.info(
"running switch example: nodes(%s) time(%s)", options.nodes, options.time
)
example(options)
logging.info("running switch example: nodes(%s) time(%s)", args.nodes, args.time)
example(args)
logging.info("elapsed time: %s", datetime.datetime.now() - start)

View file

@ -8,7 +8,7 @@ from core.emulator.enumerations import EventTypes, NodeTypes
from core.location.mobility import BasicRangeModel
def example(options):
def example(args):
# ip generator for example
prefixes = IpPrefixes("10.83.0.0/16")
@ -24,10 +24,10 @@ def example(options):
session.mobility.set_model(wlan, BasicRangeModel)
# create nodes, must set a position for wlan basic range model
node_options = NodeOptions()
node_options.set_position(0, 0)
for _ in range(options.nodes):
node = session.add_node(node_options=node_options)
options = NodeOptions(model="mdr")
options.set_position(0, 0)
for _ in range(args.nodes):
node = session.add_node(node_options=options)
interface = prefixes.create_interface(node)
session.add_link(node.id, wlan.id, interface_one=interface)
@ -36,13 +36,14 @@ def example(options):
# get nodes for example run
first_node = session.get_node(2)
last_node = session.get_node(options.nodes + 1)
last_node = session.get_node(args.nodes + 1)
logging.info("starting iperf server on node: %s", first_node.name)
first_node.cmd("iperf -s -D")
address = prefixes.ip4_address(first_node)
logging.info("node %s connecting to %s", last_node.name, address)
last_node.cmd(f"iperf -t {options.time} -c {address}")
output = last_node.cmd(f"iperf -t {args.time} -c {address}")
logging.info(output)
first_node.cmd("killall -9 iperf")
# shutdown session
@ -51,13 +52,11 @@ def example(options):
def main():
logging.basicConfig(level=logging.INFO)
options = parser.parse_options("wlan")
args = parser.parse("wlan")
start = datetime.datetime.now()
logging.info(
"running wlan example: nodes(%s) time(%s)", options.nodes, options.time
)
example(options)
logging.info("running wlan example: nodes(%s) time(%s)", args.nodes, args.time)
example(args)
logging.info("elapsed time: %s", datetime.datetime.now() - start)

View file

@ -60,11 +60,11 @@ class TestEmane:
)
# create nodes
node_options = NodeOptions()
node_options.set_position(150, 150)
node_one = session.create_wireless_node(node_options=node_options)
node_options.set_position(300, 150)
node_two = session.create_wireless_node(node_options=node_options)
options = NodeOptions(model="mdr")
options.set_position(150, 150)
node_one = session.add_node(node_options=options)
options.set_position(300, 150)
node_two = session.add_node(node_options=options)
for i, node in enumerate([node_one, node_two]):
node.setposition(x=150 * (i + 1), y=150)
@ -95,11 +95,11 @@ class TestEmane:
emane_network.setposition(x=80, y=50)
# create nodes
node_options = NodeOptions()
node_options.set_position(150, 150)
node_one = session.create_wireless_node(node_options=node_options)
node_options.set_position(300, 150)
node_two = session.create_wireless_node(node_options=node_options)
options = NodeOptions(model="mdr")
options.set_position(150, 150)
node_one = session.add_node(node_options=options)
options.set_position(300, 150)
node_two = session.add_node(node_options=options)
for i, node in enumerate([node_one, node_two]):
node.setposition(x=150 * (i + 1), y=150)

View file

@ -146,10 +146,10 @@ class TestCore:
session.mobility.set_model(wlan_node, BasicRangeModel)
# create nodes
node_options = NodeOptions()
node_options.set_position(0, 0)
node_one = session.create_wireless_node(node_options=node_options)
node_two = session.create_wireless_node(node_options=node_options)
options = NodeOptions(model="mdr")
options.set_position(0, 0)
node_one = session.add_node(node_options=options)
node_two = session.add_node(node_options=options)
# link nodes
for node in [node_one, node_two]:
@ -176,10 +176,10 @@ class TestCore:
session.mobility.set_model(wlan_node, BasicRangeModel)
# create nodes
node_options = NodeOptions()
node_options.set_position(0, 0)
node_one = session.create_wireless_node(node_options=node_options)
node_two = session.create_wireless_node(node_options=node_options)
options = NodeOptions(model="mdr")
options.set_position(0, 0)
node_one = session.add_node(node_options=options)
node_two = session.add_node(node_options=options)
# link nodes
for node in [node_one, node_two]:

View file

@ -174,10 +174,10 @@ class TestXml:
session.mobility.set_model(wlan_node, BasicRangeModel, {"test": "1"})
# create nodes
node_options = NodeOptions()
node_options.set_position(0, 0)
node_one = session.create_wireless_node(node_options=node_options)
node_two = session.create_wireless_node(node_options=node_options)
options = NodeOptions(model="mdr")
options.set_position(0, 0)
node_one = session.add_node(node_options=options)
node_two = session.add_node(node_options=options)
# link nodes
for node in [node_one, node_two]: