예제 #1
0
def common_mgr():
    """
    Create a base topology.

    This uses the ExtendedNMLManager for it's helpers.
    """
    # Create base topology
    mgr = ExtendedNMLManager(name='Graphviz Namespace')

    sw1 = mgr.create_node(identifier='sw1', name='My Switch 1')
    sw2 = mgr.create_node(identifier='sw2', name='My Switch 2')

    assert mgr.get_object('sw1') is not None
    assert mgr.get_object('sw2') is not None

    sw1p1 = mgr.create_biport(sw1)
    sw1p2 = mgr.create_biport(sw1)
    sw1p3 = mgr.create_biport(sw1)  # noqa
    sw2p1 = mgr.create_biport(sw2)
    sw2p2 = mgr.create_biport(sw2)
    sw2p3 = mgr.create_biport(sw2)  # noqa

    sw1p1_sw2p1 = mgr.create_bilink(sw1p1, sw2p1)  # noqa
    sw1p2_sw2p2 = mgr.create_bilink(sw1p2, sw2p2)  # noqa

    return mgr
예제 #2
0
    def __init__(self, engine=DEFAULT_PLATFORM, **kwargs):

        if engine not in platforms():
            raise RuntimeError('Unknown platform engine "{}".'.format(engine))

        self.nml = ExtendedNMLManager(**kwargs)
        self.engine = engine
        self.nodes = OrderedDict()
        self.ports = OrderedDict()

        self._platform = None
        self._built = False