updated session.add_node to use better type hinting and force usage of classes directly, instead of indirectly through NodeTypes

This commit is contained in:
Blake Harnden 2020-05-20 22:14:03 -07:00
parent d5254e6a91
commit c07766e1eb
31 changed files with 315 additions and 276 deletions

View file

@ -2,7 +2,10 @@ import logging
from core.emulator.coreemu import CoreEmu
from core.emulator.emudata import IpPrefixes, NodeOptions
from core.emulator.enumerations import EventTypes, NodeTypes
from core.emulator.enumerations import EventTypes
from core.nodes.base import CoreNode
from core.nodes.lxd import LxcNode
from core.nodes.network import SwitchNode
if __name__ == "__main__":
logging.basicConfig(level=logging.DEBUG)
@ -16,18 +19,18 @@ if __name__ == "__main__":
options = NodeOptions(image="ubuntu")
# create switch
switch = session.add_node(_type=NodeTypes.SWITCH)
switch = session.add_node(SwitchNode)
# node one
node_one = session.add_node(_type=NodeTypes.LXC, options=options)
node_one = session.add_node(LxcNode, options=options)
interface_one = prefixes.create_interface(node_one)
# node two
node_two = session.add_node(_type=NodeTypes.LXC, options=options)
node_two = session.add_node(LxcNode, options=options)
interface_two = prefixes.create_interface(node_two)
# node three
node_three = session.add_node()
node_three = session.add_node(CoreNode)
interface_three = prefixes.create_interface(node_three)
# add links