Exemplo n.º 1
0
    def __init__(self, name, broker_url, heartbeat):
        Thread.__init__(self)
        self.notifier = _testNotifier()
        self.broker_url = broker_url
        self.agent = Agent(name,
                           _notifier=self.notifier,
                           heartbeat_interval=heartbeat)

        # Dynamically construct a management database

        _schema = SchemaObjectClass( _classId=SchemaClassId("MyPackage", "MyClass"),
                                     _desc="A test data schema",
                                     _object_id_names=["index1", "index2"] )
        # add properties
        _schema.add_property( "index1", SchemaProperty(qmfTypes.TYPE_UINT8))
        _schema.add_property( "index2", SchemaProperty(qmfTypes.TYPE_LSTR))

        # these two properties are statistics
        _schema.add_property( "query_count", SchemaProperty(qmfTypes.TYPE_UINT32))
        _schema.add_property( "method_call_count", SchemaProperty(qmfTypes.TYPE_UINT32))

        # These two properties can be set via the method call
        _schema.add_property( "set_string", SchemaProperty(qmfTypes.TYPE_LSTR))
        _schema.add_property( "set_int", SchemaProperty(qmfTypes.TYPE_UINT32))

        # add method
        _meth = SchemaMethod( _desc="Method to set string and int in object." )
        _meth.add_argument( "arg_int", SchemaProperty(qmfTypes.TYPE_UINT32) )
        _meth.add_argument( "arg_str", SchemaProperty(qmfTypes.TYPE_LSTR) )
        _schema.add_method( "set_meth", _meth )

        # Add schema to Agent

        self.agent.register_object_class(_schema)

        # instantiate managed data objects matching the schema

        _obj1 = QmfAgentData( self.agent, _schema=_schema,
                              _values={"index1":100, "index2":"a name"})
        _obj1.set_value("set_string", "UNSET")
        _obj1.set_value("set_int", 0)
        _obj1.set_value("query_count", 0)
        _obj1.set_value("method_call_count", 0)
        self.agent.add_object( _obj1 )

        self.agent.add_object( QmfAgentData( self.agent, _schema=_schema,
                                             _values={"index1":99,
                                                      "index2": "another name",
                                                      "set_string": "UNSET",
                                                      "set_int": 0,
                                                      "query_count": 0,
                                                      "method_call_count": 0} ))

        self.agent.add_object( QmfAgentData( self.agent, _schema=_schema,
                                             _values={"index1":50,
                                                      "index2": "my name",
                                                      "set_string": "SET",
                                                      "set_int": 0,
                                                      "query_count": 0,
                                                      "method_call_count": 0} ))


        # add an "unstructured" object to the Agent
        _obj2 = QmfAgentData(self.agent, _object_id="01545")
        _obj2.set_value("field1", "a value")
        _obj2.set_value("field2", 2)
        _obj2.set_value("field3", {"a":1, "map":2, "value":3})
        _obj2.set_value("field4", ["a", "list", "value"])
        _obj2.set_value("index1", 50)
        self.agent.add_object(_obj2)

        _obj2 = QmfAgentData(self.agent, _object_id="01546")
        _obj2.set_value("field1", "a value")
        _obj2.set_value("field2", 3)
        _obj2.set_value("field3", {"a":1, "map":2, "value":3})
        _obj2.set_value("field4", ["a", "list", "value"])
        _obj2.set_value("index1", 51)
        self.agent.add_object(_obj2)

        _obj2 = QmfAgentData(self.agent, _object_id="01544")
        _obj2.set_value("field1", "a value")
        _obj2.set_value("field2", 4)
        _obj2.set_value("field3", {"a":1, "map":2, "value":3})
        _obj2.set_value("field4", ["a", "list", "value"])
        _obj2.set_value("index1", 49)
        self.agent.add_object(_obj2)

        _obj2 = QmfAgentData(self.agent, _object_id="01543")
        _obj2.set_value("field1", "a value")
        _obj2.set_value("field2", 4)
        _obj2.set_value("field3", {"a":1, "map":2, "value":3})
        _obj2.set_value("field4", ["a", "list", "value"])
        _obj2.set_value("index1", 48)
        self.agent.add_object(_obj2)

        self.running = False
        self.ready = Event()
Exemplo n.º 2
0
    def __init__(self, name, broker_url, heartbeat):
        Thread.__init__(self)
        self.notifier = _testNotifier()
        self.broker_url = broker_url
        self.agent = Agent(name,
                           _notifier=self.notifier,
                           heartbeat_interval=heartbeat,
                           max_duration=10,
                           default_duration=7,
                           min_duration=5,
                           min_interval=1,
                           default_interval=2)

        # Management Database
        # - two different schema packages,
        # - two classes within one schema package
        # - multiple objects per schema package+class
        # - two "undescribed" objects

        # "package1/class1"

        _schema = SchemaObjectClass(_classId=SchemaClassId(
            "package1", "class1"),
                                    _desc="A test data schema - one",
                                    _object_id_names=["key"])

        _schema.add_property("key", SchemaProperty(qmfTypes.TYPE_LSTR))

        # note: count1 is continuous, count2 is not
        count1_prop = SchemaProperty.create(qmfTypes.TYPE_UINT32,
                                            continuous=True)
        _schema.add_property("count1", count1_prop)
        count2_prop = SchemaProperty.create(qmfTypes.TYPE_UINT32,
                                            continuous=False)
        _schema.add_property("count2", SchemaProperty(qmfTypes.TYPE_UINT32))

        self.agent.register_object_class(_schema)

        _obj = QmfAgentData(self.agent,
                            _values={"key": "p1c1_key1"},
                            _schema=_schema)
        _obj.set_value("count1", 0)
        _obj.set_value("count2", 0)
        self.agent.add_object(_obj)

        _obj = QmfAgentData(self.agent,
                            _values={"key": "p1c1_key2"},
                            _schema=_schema)
        _obj.set_value("count1", 9)
        _obj.set_value("count2", 10)
        self.agent.add_object(_obj)

        # "package1/class2"

        _schema = SchemaObjectClass(_classId=SchemaClassId(
            "package1", "class2"),
                                    _desc="A test data schema - two",
                                    _object_id_names=["name"])
        # add properties
        _schema.add_property("name", SchemaProperty(qmfTypes.TYPE_LSTR))
        _schema.add_property("string1", SchemaProperty(qmfTypes.TYPE_LSTR))

        self.agent.register_object_class(_schema)

        _obj = QmfAgentData(self.agent,
                            _values={"name": "p1c2_name1"},
                            _schema=_schema)
        _obj.set_value("string1", "a data string")
        self.agent.add_object(_obj)

        _obj = QmfAgentData(self.agent,
                            _values={"name": "p1c2_name2"},
                            _schema=_schema)
        _obj.set_value("string1", "another data string")
        self.agent.add_object(_obj)

        # "package2/class1"

        _schema = SchemaObjectClass(
            _classId=SchemaClassId("package2", "class1"),
            _desc="A test data schema - second package",
            _object_id_names=["key"])

        _schema.add_property("key", SchemaProperty(qmfTypes.TYPE_LSTR))
        _schema.add_property("counter", SchemaProperty(qmfTypes.TYPE_UINT32))

        self.agent.register_object_class(_schema)

        _obj = QmfAgentData(self.agent,
                            _values={"key": "p2c1_key1"},
                            _schema=_schema)
        _obj.set_value("counter", 0)
        self.agent.add_object(_obj)

        _obj = QmfAgentData(self.agent,
                            _values={"key": "p2c1_key2"},
                            _schema=_schema)
        _obj.set_value("counter", 2112)
        self.agent.add_object(_obj)

        # add two "unstructured" objects to the Agent

        _obj = QmfAgentData(self.agent, _object_id="undesc-1")
        _obj.set_value("field1", "a value")
        _obj.set_value("field2", 2)
        _obj.set_value("field3", {"a": 1, "map": 2, "value": 3})
        _obj.set_value("field4", ["a", "list", "value"])
        self.agent.add_object(_obj)

        _obj = QmfAgentData(self.agent, _object_id="undesc-2")
        _obj.set_value("key-1", "a value")
        _obj.set_value("key-2", 2)
        self.agent.add_object(_obj)

        self.running = False
        self.ready = Event()
Exemplo n.º 3
0
    def __init__(self, name, broker_url, heartbeat):
        Thread.__init__(self)
        self.notifier = _testNotifier()
        self.broker_url = broker_url
        self.agent = Agent(name,
                           _notifier=self.notifier,
                           heartbeat_interval=heartbeat)

        # Dynamically construct a management database

        _schema = SchemaObjectClass(_classId=SchemaClassId(
            "MyPackage", "MyClass"),
                                    _desc="A test data schema",
                                    _object_id_names=["index1", "index2"])
        # add properties
        _schema.add_property("index1", SchemaProperty(qmfTypes.TYPE_UINT8))
        _schema.add_property("index2", SchemaProperty(qmfTypes.TYPE_LSTR))

        # these two properties are statistics
        _schema.add_property("query_count",
                             SchemaProperty(qmfTypes.TYPE_UINT32))
        _schema.add_property("method_call_count",
                             SchemaProperty(qmfTypes.TYPE_UINT32))

        # These two properties can be set via the method call
        _schema.add_property("set_string", SchemaProperty(qmfTypes.TYPE_LSTR))
        _schema.add_property("set_int", SchemaProperty(qmfTypes.TYPE_UINT32))

        # add method
        _meth = SchemaMethod(_desc="Method to set string and int in object.")
        _meth.add_argument("arg_int", SchemaProperty(qmfTypes.TYPE_UINT32))
        _meth.add_argument("arg_str", SchemaProperty(qmfTypes.TYPE_LSTR))
        _schema.add_method("set_meth", _meth)

        # Add schema to Agent

        self.agent.register_object_class(_schema)

        # instantiate managed data objects matching the schema

        _obj1 = QmfAgentData(self.agent,
                             _schema=_schema,
                             _values={
                                 "index1": 100,
                                 "index2": "a name"
                             })
        _obj1.set_value("set_string", "UNSET")
        _obj1.set_value("set_int", 0)
        _obj1.set_value("query_count", 0)
        _obj1.set_value("method_call_count", 0)
        self.agent.add_object(_obj1)

        self.agent.add_object(
            QmfAgentData(self.agent,
                         _schema=_schema,
                         _values={
                             "index1": 99,
                             "index2": "another name",
                             "set_string": "UNSET",
                             "set_int": 0,
                             "query_count": 0,
                             "method_call_count": 0
                         }))

        self.agent.add_object(
            QmfAgentData(self.agent,
                         _schema=_schema,
                         _values={
                             "index1": 50,
                             "index2": "my name",
                             "set_string": "SET",
                             "set_int": 0,
                             "query_count": 0,
                             "method_call_count": 0
                         }))

        # add an "unstructured" object to the Agent
        _obj2 = QmfAgentData(self.agent, _object_id="01545")
        _obj2.set_value("field1", "a value")
        _obj2.set_value("field2", 2)
        _obj2.set_value("field3", {"a": 1, "map": 2, "value": 3})
        _obj2.set_value("field4", ["a", "list", "value"])
        _obj2.set_value("index1", 50)
        self.agent.add_object(_obj2)

        _obj2 = QmfAgentData(self.agent, _object_id="01546")
        _obj2.set_value("field1", "a value")
        _obj2.set_value("field2", 3)
        _obj2.set_value("field3", {"a": 1, "map": 2, "value": 3})
        _obj2.set_value("field4", ["a", "list", "value"])
        _obj2.set_value("index1", 51)
        self.agent.add_object(_obj2)

        _obj2 = QmfAgentData(self.agent, _object_id="01544")
        _obj2.set_value("field1", "a value")
        _obj2.set_value("field2", 4)
        _obj2.set_value("field3", {"a": 1, "map": 2, "value": 3})
        _obj2.set_value("field4", ["a", "list", "value"])
        _obj2.set_value("index1", 49)
        self.agent.add_object(_obj2)

        _obj2 = QmfAgentData(self.agent, _object_id="01543")
        _obj2.set_value("field1", "a value")
        _obj2.set_value("field2", 4)
        _obj2.set_value("field3", {"a": 1, "map": 2, "value": 3})
        _obj2.set_value("field4", ["a", "list", "value"])
        _obj2.set_value("index1", 48)
        self.agent.add_object(_obj2)

        self.running = False
        self.ready = Event()
Exemplo n.º 4
0
    def __init__(self, name, broker_url, heartbeat):
        Thread.__init__(self)
        self.schema_count = _SCHEMAS_PER_AGENT
        self.obj_count = _OBJS_PER_AGENT
        self.notifier = _testNotifier()
        self.broker_url = broker_url
        self.agent = Agent(name,
                           _notifier=self.notifier,
                           heartbeat_interval=heartbeat,
                           max_msg_size=_MAX_OBJS_PER_MSG)

        # Dynamically construct a management database
        for i in range(self.schema_count):
            _schema = SchemaObjectClass( _classId=SchemaClassId("MyPackage",
                                                                "MyClass-" + str(i)),
                                         _desc="A test data schema",
                                         _object_id_names=["index1", "index2"] )
            # add properties
            _schema.add_property( "index1", SchemaProperty(qmfTypes.TYPE_UINT8))
            _schema.add_property( "index2", SchemaProperty(qmfTypes.TYPE_LSTR))

            # these two properties are statistics
            _schema.add_property( "query_count", SchemaProperty(qmfTypes.TYPE_UINT32))
            _schema.add_property( "method_call_count", SchemaProperty(qmfTypes.TYPE_UINT32))

            # These two properties can be set via the method call
            _schema.add_property( "set_string", SchemaProperty(qmfTypes.TYPE_LSTR))
            _schema.add_property( "set_int", SchemaProperty(qmfTypes.TYPE_UINT32))

            # add method
            _meth = SchemaMethod( _desc="Method to set string and int in object." )
            _meth.add_argument( "arg_int", SchemaProperty(qmfTypes.TYPE_UINT32) )
            _meth.add_argument( "arg_str", SchemaProperty(qmfTypes.TYPE_LSTR) )
            _schema.add_method( "set_meth", _meth )

            # Add schema to Agent

            self.agent.register_object_class(_schema)

            # instantiate managed data objects matching the schema

            for j in range(self.obj_count):

                self.agent.add_object( QmfAgentData( self.agent, _schema=_schema,
                                                     _values={"index1":j,
                                                              "index2": "name-" + str(j),
                                                              "set_string": "UNSET",
                                                              "set_int": 0,
                                                              "query_count": 0,
                                                              "method_call_count": 0} ))

        self.running = False
        self.ready = Event()
Exemplo n.º 5
0
        print("!!! end test")


#
# An example agent application
#


if __name__ == '__main__':
    _notifier = ExampleNotifier()
    _agent = Agent( "qmf.testAgent", _notifier=_notifier )

    # Dynamically construct a class schema

    _schema = SchemaObjectClass( _classId=SchemaClassId("MyPackage", "MyClass"),
                                 _desc="A test data schema",
                                 _object_id_names=["index1", "index2"] )
    # add properties
    _schema.add_property( "index1", SchemaProperty(qmfTypes.TYPE_UINT8))
    _schema.add_property( "index2", SchemaProperty(qmfTypes.TYPE_LSTR))

    # these two properties are statistics
    _schema.add_property( "query_count", SchemaProperty(qmfTypes.TYPE_UINT32))
    _schema.add_property( "method_call_count", SchemaProperty(qmfTypes.TYPE_UINT32))

    # These two properties can be set via the method call
    _schema.add_property( "set_string", SchemaProperty(qmfTypes.TYPE_LSTR))
    _schema.add_property( "set_int", SchemaProperty(qmfTypes.TYPE_UINT32))


    # add method
Exemplo n.º 6
0
    def __init__(self, name, broker_url, heartbeat):
        Thread.__init__(self)
        self.notifier = _testNotifier()
        self.broker_url = broker_url
        self.agent = Agent(name,
                           _notifier=self.notifier,
                           heartbeat_interval=heartbeat,
                           max_duration=10,
                           default_duration=7,
                           min_duration=5,
                           min_interval=1,
                           default_interval=2)

        # Management Database
        # - two different schema packages,
        # - two classes within one schema package
        # - multiple objects per schema package+class
        # - two "undescribed" objects

        # "package1/class1"

        _schema = SchemaObjectClass( _classId=SchemaClassId("package1", "class1"),
                                     _desc="A test data schema - one",
                                     _object_id_names=["key"] )

        _schema.add_property( "key", SchemaProperty(qmfTypes.TYPE_LSTR))

        # note: count1 is continuous, count2 is not
        count1_prop = SchemaProperty.create(qmfTypes.TYPE_UINT32,
                                            continuous=True)
        _schema.add_property( "count1", count1_prop)
        count2_prop = SchemaProperty.create(qmfTypes.TYPE_UINT32,
                                            continuous=False)
        _schema.add_property( "count2", SchemaProperty(qmfTypes.TYPE_UINT32))

        self.agent.register_object_class(_schema)

        _obj = QmfAgentData( self.agent,
                             _values={"key":"p1c1_key1"},
                             _schema=_schema)
        _obj.set_value("count1", 0)
        _obj.set_value("count2", 0)
        self.agent.add_object( _obj )

        _obj = QmfAgentData( self.agent, 
                             _values={"key":"p1c1_key2"},
                             _schema=_schema )
        _obj.set_value("count1", 9)
        _obj.set_value("count2", 10)
        self.agent.add_object( _obj )

        # "package1/class2"

        _schema = SchemaObjectClass( _classId=SchemaClassId("package1", "class2"),
                                     _desc="A test data schema - two",
                                     _object_id_names=["name"] )
        # add properties
        _schema.add_property( "name", SchemaProperty(qmfTypes.TYPE_LSTR))
        _schema.add_property( "string1", SchemaProperty(qmfTypes.TYPE_LSTR))

        self.agent.register_object_class(_schema)

        _obj = QmfAgentData( self.agent, 
                             _values={"name":"p1c2_name1"},
                             _schema=_schema )
        _obj.set_value("string1", "a data string")
        self.agent.add_object( _obj )

        _obj = QmfAgentData( self.agent, 
                             _values={"name":"p1c2_name2"},
                             _schema=_schema )
        _obj.set_value("string1", "another data string")
        self.agent.add_object( _obj )


        # "package2/class1"

        _schema = SchemaObjectClass( _classId=SchemaClassId("package2", "class1"),
                                     _desc="A test data schema - second package",
                                     _object_id_names=["key"] )

        _schema.add_property( "key", SchemaProperty(qmfTypes.TYPE_LSTR))
        _schema.add_property( "counter", SchemaProperty(qmfTypes.TYPE_UINT32))

        self.agent.register_object_class(_schema)

        _obj = QmfAgentData( self.agent, 
                             _values={"key":"p2c1_key1"},
                             _schema=_schema )
        _obj.set_value("counter", 0)
        self.agent.add_object( _obj )

        _obj = QmfAgentData( self.agent, 
                             _values={"key":"p2c1_key2"},
                             _schema=_schema )
        _obj.set_value("counter", 2112)
        self.agent.add_object( _obj )


        # add two "unstructured" objects to the Agent

        _obj = QmfAgentData(self.agent, _object_id="undesc-1")
        _obj.set_value("field1", "a value")
        _obj.set_value("field2", 2)
        _obj.set_value("field3", {"a":1, "map":2, "value":3})
        _obj.set_value("field4", ["a", "list", "value"])
        self.agent.add_object(_obj)


        _obj = QmfAgentData(self.agent, _object_id="undesc-2")
        _obj.set_value("key-1", "a value")
        _obj.set_value("key-2", 2)
        self.agent.add_object(_obj)

        self.running = False
        self.ready = Event()
Exemplo n.º 7
0
    def test_end(self):
        print("!!! end test")


#
# An example agent application
#

if __name__ == '__main__':
    _notifier = ExampleNotifier()
    _agent = Agent("qmf.testAgent", _notifier=_notifier)

    # Dynamically construct a class schema

    _schema = SchemaObjectClass(_classId=SchemaClassId("MyPackage", "MyClass"),
                                _desc="A test data schema",
                                _object_id_names=["index1", "index2"])
    # add properties
    _schema.add_property("index1", SchemaProperty(qmfTypes.TYPE_UINT8))
    _schema.add_property("index2", SchemaProperty(qmfTypes.TYPE_LSTR))

    # these two properties are statistics
    _schema.add_property("query_count", SchemaProperty(qmfTypes.TYPE_UINT32))
    _schema.add_property("method_call_count",
                         SchemaProperty(qmfTypes.TYPE_UINT32))

    # These two properties can be set via the method call
    _schema.add_property("set_string", SchemaProperty(qmfTypes.TYPE_LSTR))
    _schema.add_property("set_int", SchemaProperty(qmfTypes.TYPE_UINT32))

    # add method
Exemplo n.º 8
0
    def __init__(self, name, broker_url, heartbeat):
        Thread.__init__(self)
        self.schema_count = _SCHEMAS_PER_AGENT
        self.obj_count = _OBJS_PER_AGENT
        self.notifier = _testNotifier()
        self.broker_url = broker_url
        self.agent = Agent(name,
                           _notifier=self.notifier,
                           heartbeat_interval=heartbeat,
                           max_msg_size=_MAX_OBJS_PER_MSG)

        # Dynamically construct a management database
        for i in range(self.schema_count):
            _schema = SchemaObjectClass(_classId=SchemaClassId(
                "MyPackage", "MyClass-" + str(i)),
                                        _desc="A test data schema",
                                        _object_id_names=["index1", "index2"])
            # add properties
            _schema.add_property("index1", SchemaProperty(qmfTypes.TYPE_UINT8))
            _schema.add_property("index2", SchemaProperty(qmfTypes.TYPE_LSTR))

            # these two properties are statistics
            _schema.add_property("query_count",
                                 SchemaProperty(qmfTypes.TYPE_UINT32))
            _schema.add_property("method_call_count",
                                 SchemaProperty(qmfTypes.TYPE_UINT32))

            # These two properties can be set via the method call
            _schema.add_property("set_string",
                                 SchemaProperty(qmfTypes.TYPE_LSTR))
            _schema.add_property("set_int",
                                 SchemaProperty(qmfTypes.TYPE_UINT32))

            # add method
            _meth = SchemaMethod(
                _desc="Method to set string and int in object.")
            _meth.add_argument("arg_int", SchemaProperty(qmfTypes.TYPE_UINT32))
            _meth.add_argument("arg_str", SchemaProperty(qmfTypes.TYPE_LSTR))
            _schema.add_method("set_meth", _meth)

            # Add schema to Agent

            self.agent.register_object_class(_schema)

            # instantiate managed data objects matching the schema

            for j in range(self.obj_count):

                self.agent.add_object(
                    QmfAgentData(self.agent,
                                 _schema=_schema,
                                 _values={
                                     "index1": j,
                                     "index2": "name-" + str(j),
                                     "set_string": "UNSET",
                                     "set_int": 0,
                                     "query_count": 0,
                                     "method_call_count": 0
                                 }))

        self.running = False
        self.ready = Event()