Uploaded image for project: 'Qpid'
  1. Qpid
  2. QPID-3348

Qmf broker proxy method create() does not handle keyword arguments, only regular parameters

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 0.13
    • 0.14
    • QMF
    • None

    Description

      The Qmf management methods defined in the management-schema.xml file are implemented through the console Object class _getattr_() method. This calls Object.invoke(), which in turn calls Object._sendMethodRequest().

      However, the implementation of _sendMethodRequest() accounts only for regular arguments in the args parameter, and ignores the kwargs parameter. Hence, the call to the create() call:

      <method name="create" desc="Create an object of the specified type">
      <arg name="type" dir="I" type="sstr" desc="The type of object to create"/>
      <arg name="name" dir="I" type="sstr" desc="The name of the object to create"/>
      <arg name="properties" dir="I" type="map" desc="Type specific object properties"/>
      <arg name="strict" dir="I" type="bool" desc="If specified, treat unrecognised object properties as an error"/>
      </method>

      as follows:

      broker_proxy.create("exchange", name, props, True)

      will work, but

      broker_proxy.create(type="exchange", name=name, properties=props, strict=True)

      will fail (Exception: Incorrect number of arguments: expected 4, got 0).

      Attachments

        Activity

          People

            kpvdr Kim van der Riet
            kpvdr Kim van der Riet
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: