当前位置: 首页>>代码示例>>Python>>正文


Python Controller.get_topology_ids方法代码示例

本文整理汇总了Python中pybvc.controller.controller.Controller.get_topology_ids方法的典型用法代码示例。如果您正苦于以下问题:Python Controller.get_topology_ids方法的具体用法?Python Controller.get_topology_ids怎么用?Python Controller.get_topology_ids使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在pybvc.controller.controller.Controller的用法示例。


在下文中一共展示了Controller.get_topology_ids方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: assert

# 需要导入模块: from pybvc.controller.controller import Controller [as 别名]
# 或者: from pybvc.controller.controller.Controller import get_topology_ids [as 别名]
 inventory = None
 
 
 result = ctrl.build_inventory_object()
 status = result.get_status()
 if(status.eq(STATUS.OK) == True):
     inventory = result.get_data()
     assert(isinstance(inventory, Inventory))
 else:
     print ("\n")
     print ("!!!Error, failed to obtain inventory info, reason: %s"
            % status.brief().lower())
     exit(0)
 
 
 result = ctrl.get_topology_ids()
 status = result.get_status()
 if(status.eq(STATUS.OK) == True):
     topology_ids = result.get_data()
     assert(isinstance(topology_ids, list))
 else:
     print ("\n")
     print ("!!!Error, failed to obtain topology info, reason: %s" 
            % status.brief().lower())
     exit(0)
 
 
 print "\n"
 print ("<<< OpenFlow network topologies")
 for topo_id in topology_ids:
     print "       '%s'" % topo_id
开发者ID:jebpublic,项目名称:pybvcsamples,代码行数:33,代码来源:demo27.py

示例2: of_demo_27

# 需要导入模块: from pybvc.controller.controller import Controller [as 别名]
# 或者: from pybvc.controller.controller.Controller import get_topology_ids [as 别名]
def of_demo_27():

    f = "cfg.yml"
    d = {}
    if(load_dict_from_file(f, d) is False):
        print("Config file '%s' read error: " % f)
        exit()

    try:
        ctrlIpAddr = d['ctrlIpAddr']
        ctrlPortNum = d['ctrlPortNum']
        ctrlUname = d['ctrlUname']
        ctrlPswd = d['ctrlPswd']
        rundelay = d['rundelay']
    except:
        print ("Failed to get Controller device attributes")
        exit(0)

    print ("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<")
    print ("<<< Demo 27 Start")
    print ("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<")

    ctrl = Controller(ctrlIpAddr, ctrlPortNum, ctrlUname, ctrlPswd)

    print "\n"
    print ("<<< Controller '%s:%s'" % (ctrlIpAddr, ctrlPortNum))
    time.sleep(rundelay)

    print ("\n")
    print ("<<< Get OpenFlow Network Topology information")
    time.sleep(rundelay)

    topology_ids = []
    topologies = []
    inventory = None

    result = ctrl.build_inventory_object()
    status = result.get_status()
    if(status.eq(STATUS.OK)):
        inventory = result.get_data()
        assert(isinstance(inventory, Inventory))
    else:
        print ("\n")
        print ("!!!Error, failed to obtain inventory info, reason: %s" %
               status.brief().lower())
        exit(0)

    result = ctrl.get_topology_ids()
    status = result.get_status()
    if(status.eq(STATUS.OK)):
        topology_ids = result.get_data()
        assert(isinstance(topology_ids, list))
    else:
        print ("\n")
        print ("!!!Error, failed to obtain topology info, reason: %s" %
               status.brief().lower())
        exit(0)

    print "\n"
    print ("<<< Network topologies")
    for topo_id in topology_ids:
        print "       '%s'" % topo_id

    of_topo_id = 'flow:1'
    for topo_id in topology_ids:
        if (topo_id != of_topo_id):
            continue
        result = ctrl.build_topology_object(topo_id)
        status = result.get_status()
        if(status.eq(STATUS.OK)):
            topo = result.get_data()
            topologies.append(topo)
            assert(isinstance(topo, Topology))
        else:
            print ("\n")
            print ("!!!Error, failed to parse '%s' topology info, reason: %s" %
                   (topo_id, status.brief().lower()))
            exit(0)

    for topo in topologies:
        if topo.get_id() != of_topo_id:
            continue
        time.sleep(rundelay)
        print "\n"
        print ("<<< Information for '%s' network topology:") % topo.get_id()
        print "\n".strip()

        flows_cnt = 0
        sids = topo.get_switch_ids()
        for sid in sids:
            flows_cnt += inventory.get_openflow_node_flows_cnt(sid)

        print ("        Number of flows              : %s" %
               flows_cnt)
        print ("        Number of switches           : %s" %
               topo.get_switches_cnt())
        print ("        Number of inter-switch links : %s" %
               topo.get_inter_switch_links_cnt())
        print ("        Number of hosts              : %s" %
               topo.get_hosts_cnt())
#.........这里部分代码省略.........
开发者ID:BillTheBest,项目名称:pybvc,代码行数:103,代码来源:demo27.py


注:本文中的pybvc.controller.controller.Controller.get_topology_ids方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。