本文整理汇总了Python中pybvc.controller.controller.Controller.build_topology_object方法的典型用法代码示例。如果您正苦于以下问题:Python Controller.build_topology_object方法的具体用法?Python Controller.build_topology_object怎么用?Python Controller.build_topology_object使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pybvc.controller.controller.Controller
的用法示例。
在下文中一共展示了Controller.build_topology_object方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: assert
# 需要导入模块: from pybvc.controller.controller import Controller [as 别名]
# 或者: from pybvc.controller.controller.Controller import build_topology_object [as 别名]
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
for topo_id in topology_ids:
result = ctrl.build_topology_object(topo_id)
status = result.get_status()
if(status.eq(STATUS.OK) == True):
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:
time.sleep(rundelay)
print "\n"
示例2: of_demo_27
# 需要导入模块: from pybvc.controller.controller import Controller [as 别名]
# 或者: from pybvc.controller.controller.Controller import build_topology_object [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())
#.........这里部分代码省略.........