1. 04 7月, 2018 3 次提交
    • M
      qmp: Redo how the client requests out-of-band execution · 00ecec15
      Markus Armbruster 提交于
      Commit cf869d53 "qmp: support out-of-band (oob) execution" added a
      general mechanism for command-independent arguments just for an
      out-of-band flag:
      
          The "control" key is introduced to store this extra flag.  "control"
          field is used to store arguments that are shared by all the commands,
          rather than command specific arguments.  Let "run-oob" be the first.
      
      However, it failed to reject unknown members of "control".  For
      instance, in QMP command
      
          {"execute": "query-name", "id": 42, "control": {"crap": true}}
      
      "crap" gets silently ignored.
      
      Instead of fixing this, revert the general "control" mechanism
      (because YAGNI), and do it the way I initially proposed, with key
      "exec-oob".  Simpler code, simpler interface.
      
      An out-of-band command
      
          {"execute": "migrate-pause", "id": 42, "control": {"run-oob": true}}
      
      becomes
      
          {"exec-oob": "migrate-pause", "id": 42}
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      Message-Id: <20180703085358.13941-13-armbru@redhat.com>
      [Commit message typo fixed]
      00ecec15
    • M
      qmp: Make "id" optional again even in "oob" monitors · 80cd93bd
      Markus Armbruster 提交于
      Commit cf869d53 "qmp: support out-of-band (oob) execution" made
      "id" mandatory for all commands when the client accepted capability
      "oob".  This is rather onerous when you play with QMP by hand, and
      unnecessarily so: only out-of-band commands need an ID for reliable
      matching of response to command.
      
      Revert that part of commit cf869d53 for now, but have documentation
      advise on the need to use "id" with out-of-band commands.
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      Message-Id: <20180703085358.13941-8-armbru@redhat.com>
      Reviewed-by: NDaniel P. Berrangé <berrange@redhat.com>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      80cd93bd
    • M
      docs/interop/qmp: Improve OOB documentation · 71696cc6
      Markus Armbruster 提交于
      OOB documentation is spread over qmp-spec.txt sections 2.2.1
      Capabilities and 2.3 Issuing Commands.  The amount of detail is a bit
      distracting there.  Move the meat of the matter to new section 2.3.1
      Out of band execution.
      
      Throw in a few other improvements while there:
      
      * 2.2 Server Greeting: Drop advice to search entire capabilities
        array; should be obvious.
      
      * 3. QMP Examples
      
        - 3.1 Server Greeting: Update greeting to the one we expect for the
          release.  Now shows capability "oob".  Update qmp-intro.txt
          likewise.
      
        - 3.2 Capabilities negotiation: Show client accepting capability
          "oob".
      
        - 3.7 Out-of-band execution: New.
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      Message-Id: <20180703085358.13941-4-armbru@redhat.com>
      [Whitespace tidied up]
      71696cc6
  2. 03 7月, 2018 1 次提交
  3. 20 3月, 2018 1 次提交
  4. 15 6月, 2017 1 次提交
  5. 05 3月, 2016 1 次提交
    • E
      qapi: Update docs to match recent generator changes · 9ee86b85
      Eric Blake 提交于
      Several commits have been changing the generator, but not updating
      the docs to match:
      - The implicit tag member is named "type", not "kind".  Screwed up in
      commit 39a18158.
      - Commit 9f08c8ec made list types lazy, and thereby dropped
      UserDefOneList if nothing explicitly uses the list type.
      - Commit 51e72bc1 switched the parameter order with 'name' occurring
      earlier.
      - Commit e65d89bf changed the layout of UserDefOneList.
      - Prefer the term 'member' over 'field'.
      - We now expose visit_type_FOO_members() for objects.
      - etc.
      
      Rework the examples to show slightly more output (we don't want to
      show too much; that's what the testsuite is for), and regenerate the
      output to match all recent changes.  Also, rearrange output to show
      .h files before .c (understanding the interface first often makes
      the implementation easier to follow).
      Reported-by: NMarc-André Lureau <marcandre.lureau@redhat.com>
      Signed-off-by: NEric Blake <eblake@redhat.com>
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      Message-Id: <1457021813-10704-5-git-send-email-eblake@redhat.com>
      9ee86b85
  6. 11 2月, 2016 1 次提交
  7. 30 10月, 2015 1 次提交
  8. 13 10月, 2015 1 次提交
  9. 06 5月, 2015 2 次提交
    • E
      qapi: Document type-safety considerations · e790e666
      Eric Blake 提交于
      Go into more details about the various types of valid expressions
      in a qapi schema, including tweaks to document fixes being done
      later in the current patch series.  Also fix some stale and missing
      documentation in the QMP specification.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      Reviewed-by: NMarkus Armbruster <armbru@redhat.com>
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      e790e666
    • E
      qapi: Add copyright declaration on docs · 6fb55451
      Eric Blake 提交于
      While our top-level COPYING with its GPLv2+ license applies to
      any documentation file that omits explicit instructions, these
      days it's better to be a good example of calling out our
      intentions.  Correct use of GPL requires the use of a copyright
      statement, so I'm adding notice to two QAPI documents, by
      attributing these files to the initial authors and major
      contributors.  I used:
      
      $ git blame --line-porcelain $file \
        | sed -n 's/^author //p' | sort | uniq -c | sort -rn
      
      to determine authorship of these two files.  qmp-spec.txt blames
      entirely to Red Hat (easy, since my contribution falls in that
      category); while qapi-code-gen.txt has multiple contributors
      representing multiple entities.  But since it was originally
      supplied by Michael Roth, the notice I added there copies the
      notice he has used in other files.  As there is no intended
      change in license from the implicit one previously present from
      the top level, I have not bothered to CC other contributors;
      if we want to weaken things to something looser (such as LGPL)
      so that there is no question that someone re-implementing the
      spec is not forced to use GPL, that would be a different commit.
      
      CC: Michael Roth <mdroth@linux.vnet.ibm.com>
      Signed-off-by: NEric Blake <eblake@redhat.com>
      Reviewed-by: NMarkus Armbruster <armbru@redhat.com>
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      6fb55451
  10. 18 9月, 2013 2 次提交
  11. 14 8月, 2012 1 次提交
    • L
      qmp: switch to the new error format on the wire · de253f14
      Luiz Capitulino 提交于
      IMPORTANT: this BREAKS QMP's compatibility for the error response.
      
      This commit changes QMP's wire protocol to make use of the simpler
      error format introduced by previous commits.
      
      There are two important (and mostly incompatible) changes:
      
       1. Almost all error classes have been replaced by GenericError. The
          only classes that are still supported for compatibility with
          libvirt are: CommandNotFound, DeviceNotActive, KVMMissingCap,
          DeviceNotFound and MigrationExpected
      
       2. The 'data' field of the error dictionary is gone
      
      As an example, an error response like:
      
        { "error": { "class": "DeviceNotRemovable",
                     "data": { "device": "virtio0" },
                     "desc": "Device 'virtio0' is not removable" } }
      
      Will now be emitted as:
      
        { "error": { "class": "GenericError",
                     "desc": "Device 'virtio0' is not removable" } }
      Signed-off-by: NLuiz Capitulino <lcapitulino@redhat.com>
      Reviewed-by: NMarkus Armbruster <armbru@redhat.com>
      de253f14
  12. 27 3月, 2012 1 次提交
  13. 19 5月, 2010 1 次提交
  14. 11 2月, 2010 2 次提交
  15. 19 12月, 2009 1 次提交
  16. 08 12月, 2009 1 次提交
  17. 03 12月, 2009 1 次提交