本文整理汇总了Python中pybvc.controller.controller.Controller.get_inventory_nodes_yang_schema_path方法的典型用法代码示例。如果您正苦于以下问题:Python Controller.get_inventory_nodes_yang_schema_path方法的具体用法?Python Controller.get_inventory_nodes_yang_schema_path怎么用?Python Controller.get_inventory_nodes_yang_schema_path使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pybvc.controller.controller.Controller
的用法示例。
在下文中一共展示了Controller.get_inventory_nodes_yang_schema_path方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: of_demo_30
# 需要导入模块: from pybvc.controller.controller import Controller [as 别名]
# 或者: from pybvc.controller.controller.Controller import get_inventory_nodes_yang_schema_path [as 别名]
def of_demo_30():
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)
description = (
"<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\n"
" This demo illustrates how to use Controller's notification\n"
" subscription service for tracing dynamic changes in the\n"
" the Controller's inventory data store.\n"
"\n"
" It is implied that core network services (OpenFlow, NETCONF)\n"
" are functioning on the Controller.\n"
"\n"
" This script creates an event listener on the Controller and\n"
" establishes permanent connection to the events notification\n"
" stream. Once a data change event in the inventory data store\n"
" (such as add/remove node or flow entry) is detected\n"
" it will be reported to the screen.\n"
"<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\n"
)
print "\n".strip()
print description
print "\n".strip()
time.sleep(rundelay)
print ("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<")
print ("<<< Demo 30 Start")
print ("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<")
ctrl = Controller(ctrlIpAddr, ctrlPortNum, ctrlUname, ctrlPswd)
print "\n".strip()
print ("<<< 'Controller': %s" % (ctrlIpAddr))
time.sleep(rundelay)
# Data store for the changes
# Can be one of:
# - CONFIGURATION: Logical data store representing configuration
# state of the system and it's components.
# - OPERATIONAL: Logical data store representing operational
# state of the system and it's components
datastore = "OPERATIONAL"
# Scope of the data changes
# Can be one of:
# - BASE: Represents only a direct change of the node, such as
# replacement, addition or deletion of the node.
# - ONE: Represent a change (addition, replacement, deletion)
# of the node or one of its direct children.
# This scope is a superset of BASE.
# - SUBTREE: Represents a change of the node or any of its child
# nodes, direct and nested.
# This scope is superset of ONE and BASE.
scope = "SUBTREE"
# Path to the inventory data store in the YANG data tree
path = ctrl.get_inventory_nodes_yang_schema_path()
# Create listener on the Controller (if it does already exist Controller
# just returns the stream name to subscribe to)
result = ctrl.create_data_change_event_subscription(datastore, scope, path)
status = result.get_status()
if not status.eq(STATUS.OK):
print ("\n")
print ("!!!Demo terminated, reason: %s" % status.detailed())
exit(1)
stream_name = result.get_data()
# Subscribe to the stream
result = ctrl.subscribe_to_stream(stream_name)
status = result.get_status()
if not status.eq(STATUS.OK):
print ("\n")
print ("!!!Demo terminated, reason: %s" % status.detailed())
exit(1)
print "\n".strip()
print " Successfully subscribed for data change notifications"
print " Stream location:"
stream_location = result.get_data()
print " %s" % stream_location
print "\n".strip()
print " Listening ... (CTRL-C to exit)"
print "\n".strip()
#.........这里部分代码省略.........
示例2: change
# 需要导入模块: from pybvc.controller.controller import Controller [as 别名]
# 或者: from pybvc.controller.controller.Controller import get_inventory_nodes_yang_schema_path [as 别名]
datastore = "OPERATIONAL"
# Scope of the data changes
# Can be one of:
# - BASE: Represents only a direct change of the node, such as
# replacement, addition or deletion of the node.
# - ONE: Represent a change (addition, replacement, deletion)
# of the node or one of its direct children.
# This scope is a superset of BASE.
# - SUBTREE: Represents a change of the node or any of its child
# nodes, direct and nested.
# This scope is superset of ONE and BASE.
scope = "SUBTREE"
# Path to the inventory data store in the YANG data tree
path = ctrl.get_inventory_nodes_yang_schema_path()
# Create listener on the Controller (if it does already exist Controller
# just returns the stream name to subscribe to)
result = ctrl.create_data_change_event_subscription(datastore, scope, path)
status = result.get_status()
if not status.eq(STATUS.OK):
print ("\n")
print ("!!!Demo terminated, reason: %s" % status.detailed())
exit(1)
stream_name = result.get_data()
# Subscribe to the stream
result = ctrl.subscribe_to_stream(stream_name)
status = result.get_status()