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


Python Controller.get_inventory_nodes_yang_schema_path方法代码示例

本文整理汇总了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()

#.........这里部分代码省略.........
开发者ID:BillTheBest,项目名称:pybvc,代码行数:103,代码来源:demo30.py

示例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()
开发者ID:jebpublic,项目名称:pybvcsamples,代码行数:33,代码来源:demo30.py


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