1. 21 3月, 2013 1 次提交
    • P
      python: Fix emulatorpin API bindings · d395c811
      Peter Krempa 提交于
      The addition of emulator pinning APIs didn't think of doing the right
      job with python APIs for them. The default generator produced unusable
      code for this.
      
      This patch switches to proper code as in the case of domain Vcpu pining.
      This change can be classified as a python API-breaker but in the state
      the code was before I doubt anyone was able to use it successfully.
      d395c811
  2. 23 2月, 2013 2 次提交
  3. 18 1月, 2013 1 次提交
  4. 17 1月, 2013 1 次提交
  5. 21 12月, 2012 2 次提交
  6. 04 12月, 2012 2 次提交
  7. 16 11月, 2012 1 次提交
  8. 02 11月, 2012 1 次提交
  9. 26 10月, 2012 2 次提交
  10. 15 10月, 2012 1 次提交
    • M
      Add support for SUSPEND_DISK event · 7ba5defb
      Martin Kletzander 提交于
      This patch adds support for SUSPEND_DISK event; both lifecycle and
      separated.  The support is added for QEMU, machines are changed to
      PMSUSPENDED, but as QEMU sends SHUTDOWN afterwards, the state changes
      to shut-off.  This and much more needs to be done in order for libvirt
      to work with transient devices, wake-ups etc.  This patch is not
      aiming for that functionality.
      7ba5defb
  11. 08 10月, 2012 1 次提交
    • G
      python: cleanup vcpu related binding APIs · 2832663f
      Guannan Ren 提交于
      libvirt_virDomainGetVcpus: add error handling, return -1 instead of None
      libvirt_virDomainPinVcpu and libvirt_virDomainPinVcpuFlags:
        check the type of argument
        make use of libvirt_boolUnwrap
      
        Set bitmap according to these values which are contained in given
        argument of vcpu tuple and turn off these bit corresponding to
        missing vcpus in argument tuple
      
        The original way ignored the error info from PyTuple_GetItem
        if index is out of range.
        "IndexError: tuple index out of range"
        The error message will only be raised on next command in interactive mode.
      2832663f
  12. 17 9月, 2012 4 次提交
    • O
      node_memory: Expose the APIs to Python bindings · 4c4c80df
      Osier Yang 提交于
      * python/libvirt-override-api.xml: (Add document to describe
        the APIs).
      * python/libvirt-override.c: (Implement the API wrappers manually)
      4c4c80df
    • O
      list: Expose virConnectListAllSecrets to Python binding · 473ee27e
      Osier Yang 提交于
      The implementation is done manually as the generator does not support
      wrapping lists of C pointers into Python objects.
      
      python/libvirt-override-api.xml: Document
      
      python/libvirt-override-virConnect.py: Implementation for listAllSecrets.
      
      python/libvirt-override.c: Implementation for the wrapper.
      473ee27e
    • O
      list: Expose virConnectListAllNWFilters to Python binding · f4c1efaa
      Osier Yang 提交于
      The implementation is done manually as the generator does not support
      wrapping lists of C pointers into Python objects.
      
      python/libvirt-override-api.xml: Document
      
      python/libvirt-override-virConnect.py:
        * Implementation for listAllNWFilters.
      
      python/libvirt-override.c: Implementation for the wrapper.
      f4c1efaa
    • O
      list: Expose virConnectListAllNodeDevices to Python binding · a3676b6c
      Osier Yang 提交于
      The implementation is done manually as the generator does not support
      wrapping lists of C pointers into Python objects.
      
      python/libvirt-override-api.xml: Document
      
      python/libvirt-override-virConnect.py:
        * Implementation for listAllNodeDevices.
      
      python/libvirt-override.c: Implementation for the wrapper.
      a3676b6c
  13. 12 9月, 2012 2 次提交
  14. 11 9月, 2012 4 次提交
  15. 10 9月, 2012 1 次提交
    • O
      list: Expose virStoragePoolListAllVolumes to Python binding · fa2e35a3
      Osier Yang 提交于
      The implementation is done manually as the generator does not support
      wrapping lists of C pointers into Python objects.
      
      python/libvirt-override-api.xml: Document
      
      python/libvirt-override-virStoragePool.py:
        * New file, includes implementation of listAllVolumes.
      
      python/libvirt-override.c: Implementation for the wrapper.
      fa2e35a3
  16. 07 9月, 2012 1 次提交
    • J
      Fix PMSuspend and PMWakeup events · afab4824
      Jiri Denemark 提交于
      The unused reason parameter of PM{Suspend,Wakeup} event callbacks was
      completely ignored in lot of places and those events were not actually
      working at all.
      afab4824
  17. 06 9月, 2012 1 次提交
    • O
      python: Expose virStorageListAllStoragePools to python binding · 92785780
      Osier Yang 提交于
      The implementation is done manually as the generator does not support
      wrapping lists of C pointers into Python objects.
      
      python/libvirt-override-api.xml: Document
      python/libvirt-override-virConnect.py: Add listAllStoragePools
      python/libvirt-override.c: Implementation for the wrapper.
      92785780
  18. 01 9月, 2012 1 次提交
    • E
      python: don't mask libvirt errors · 63bfc598
      Eric Blake 提交于
      A user reported this crash when using python bindings:
      
        File "/home/nox/workspace/NOX/src/NOX/hooks.py", line 134, in trigger
          hook.trigger(event)
        File "/home/nox/workspace/NOX/src/NOX/hooks.py", line 33, in trigger
          self.handlers[event]()
        File "/home/nox/workspace/NOX/hooks/volatility.py", line 81, in memory_dump
          for block in Memory(self.ctx):
        File "/home/see/workspace/NOX/src/NOX/lib/libtools.py", line 179, in next
          libvirt.VIR_MEMORY_PHYSICAL)
        File "/usr/lib/python2.7/dist-packages/libvirt.py", line 1759, in memoryPeek
          ret = libvirtmod.virDomainMemoryPeek(self._o, start, size, flags)
      SystemError: error return without exception set
      
      In the python bindings, returning NULL makes python think an
      exception was thrown, while returning the None object lets the
      wrappers know that a libvirt error exists.
      
      Reported by Nox DaFox, fix suggested by Dan Berrange.
      
      * python/libvirt-override.c (libvirt_virDomainBlockPeek)
      (libvirt_virDomainMemoryPeek): Return python's None object, so
      wrapper knows to check libvirt error.
      63bfc598
  19. 14 7月, 2012 1 次提交
    • D
      Define public API for receiving guest memory balloon events · 7ed6d7dd
      Daniel P. Berrange 提交于
      When the guest changes its memory balloon applications may want
      to know what the new value is, without having to periodically
      poll on XML / domain info. Introduce a "balloon change" event
      to let apps see this
      
      * include/libvirt/libvirt.h.in: Define the
        virConnectDomainEventBalloonChangeCallback callback
        and VIR_DOMAIN_EVENT_ID_BALLOON_CHANGE constant
      * python/libvirt-override-virConnect.py,
        python/libvirt-override.c: Wire up helpers for new event
      * daemon/remote.c: Helper for serializing balloon event
      * examples/domain-events/events-c/event-test.c,
        examples/domain-events/events-python/event-test.py: Add
        example of balloon event usage
      * src/conf/domain_event.c, src/conf/domain_event.h: Handling
        of balloon events
      * src/remote/remote_driver.c: Add handler of balloon events
      * src/remote/remote_protocol.x: Define wire protocol for
        balloon events
      * src/remote_protocol-structs: Likewise.
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      7ed6d7dd
  20. 20 6月, 2012 1 次提交
    • E
      list: provide python bindings for snapshots · f73d99c2
      Eric Blake 提交于
      This adds support for the new virDomainListAllSnapshots (a domain
      function) and virDomainSnapshotListAllChildren (a snapshot function)
      to the libvirt-python bindings.  The implementation is done manually
      as the generator does not support wrapping lists of C pointers into
      python objects.
      
      * python/libvirt-override.c (libvirt_virDomainListAllSnapshots)
      (libvirt_virDomainSnapshotListAllChildren): New functions.
      * python/libvirt-override-api.xml: Document them.
      * python/libvirt-override-virDomain.py (listAllSnapshots): New
      file.
      * python/libvirt-override-virDomainSnapshot.py (listAllChildren):
      Likewise.
      * python/Makefile.am (CLASSES_EXTRA): Ship them.
      f73d99c2
  21. 19 6月, 2012 1 次提交
    • P
      python: add API exports for virConnectListAllDomains() · bd34cc8c
      Peter Krempa 提交于
      This patch adds export of the new API function
      virConnectListAllDomains() to the libvirt-python bindings. The
      virConnect object now has method "listAllDomains" that takes only the
      flags parameter and returns a python list of virDomain object
      corresponding to virDomainPtrs returned by the underlying api.
      
      The implementation is done manually as the generator does not support
      wrapping list of virDomainPtrs into virDomain objects.
      bd34cc8c
  22. 12 6月, 2012 2 次提交
    • E
      python: fix snapshot listing bugs · a0de5d78
      Eric Blake 提交于
      Python exceptions are different than libvirt errors, and we had
      some corner case bugs on OOM situations.
      
      * python/libvirt-override.c (libvirt_virDomainSnapshotListNames)
      (libvirt_virDomainSnapshotListChildrenNames): Use correct error
      returns, avoid segv on OOM, and avoid memory leaks on error.
      a0de5d78
    • E
      python: use simpler methods · 8566618f
      Eric Blake 提交于
      * python/libvirt-override.c (libvirt_virDomainGetVcpus)
      (libvirt_virDomainGetVcpuPinInfo): Use Py_XDECREF instead of
      open-coding it.
      8566618f
  23. 04 5月, 2012 1 次提交
    • O
      Coverity: Fix the forward_null error in Python binding codes · b80f4db9
      Osier Yang 提交于
      Related coverity log:
      
      Error: FORWARD_NULL:
      /builddir/build/BUILD/libvirt-0.9.10/python/libvirt-override.c:355:
      assign_zero: Assigning: "params" = 0.
      /builddir/build/BUILD/libvirt-0.9.10/python/libvirt-override.c:458:
      var_deref_model: Passing null variable "params" to function
      "getPyVirTypedParameter", which dereferences it. (The dereference is assumed on
      the basis of the 'nonnull' parameter attribute.)
      b80f4db9
  24. 28 3月, 2012 1 次提交
  25. 27 3月, 2012 1 次提交
    • M
      Cleanup for a return statement in source files · 9943276f
      Martin Kletzander 提交于
      Return statements with parameter enclosed in parentheses were modified
      and parentheses were removed. The whole change was scripted, here is how:
      
      List of files was obtained using this command:
      git grep -l -e '\<return\s*([^()]*\(([^()]*)[^()]*\)*)\s*;' |             \
      grep -e '\.[ch]$' -e '\.py$'
      
      Found files were modified with this command:
      sed -i -e                                                                 \
      's_^\(.*\<return\)\s*(\(\([^()]*([^()]*)[^()]*\)*\))\s*\(;.*$\)_\1 \2\4_' \
      -e 's_^\(.*\<return\)\s*(\([^()]*\))\s*\(;.*$\)_\1 \2\3_'
      
      Then checked for nonsense.
      
      The whole command looks like this:
      git grep -l -e '\<return\s*([^()]*\(([^()]*)[^()]*\)*)\s*;' |             \
      grep -e '\.[ch]$' -e '\.py$' | xargs sed -i -e                            \
      's_^\(.*\<return\)\s*(\(\([^()]*([^()]*)[^()]*\)*\))\s*\(;.*$\)_\1 \2\4_' \
      -e 's_^\(.*\<return\)\s*(\([^()]*\))\s*\(;.*$\)_\1 \2\3_'
      9943276f
  26. 23 3月, 2012 3 次提交
    • O
      Add support for the suspend event · 487c0633
      Osier Yang 提交于
      This patch introduces a new event type for the QMP event
      SUSPEND:
      
          VIR_DOMAIN_EVENT_ID_PMSUSPEND
      
      The event doesn't take any data, but considering there might
      be reason for wakeup in future, the callback definition is:
      
      typedef void
      (*virConnectDomainEventSuspendCallback)(virConnectPtr conn,
                                              virDomainPtr dom,
                                              int reason,
                                              void *opaque);
      
      "reason" is unused currently, always passes "0".
      487c0633
    • O
      Add support for the wakeup event · 57ddcc23
      Osier Yang 提交于
      This patch introduces a new event type for the QMP event
      WAKEUP:
      
          VIR_DOMAIN_EVENT_ID_PMWAKEUP
      
      The event doesn't take any data, but considering there might
      be reason for wakeup in future, the callback definition is:
      
      typedef void
      (*virConnectDomainEventWakeupCallback)(virConnectPtr conn,
                                             virDomainPtr dom,
                                             int reason,
                                             void *opaque);
      
      "reason" is unused currently, always passes "0".
      57ddcc23
    • O
      Add support for event tray moved of removable disks · a26a1969
      Osier Yang 提交于
      This patch introduces a new event type for the QMP event
      DEVICE_TRAY_MOVED, which occurs when the tray of a removable
      disk is moved (i.e opened or closed):
      
          VIR_DOMAIN_EVENT_ID_TRAY_CHANGE
      
      The event's data includes the device alias and the reason
      for tray status' changing, which indicates why the tray
      status was changed. Thus the callback definition for the event
      is:
      
      enum {
          VIR_DOMAIN_EVENT_TRAY_CHANGE_OPEN = 0,
          VIR_DOMAIN_EVENT_TRAY_CHANGE_CLOSE,
      
      \#ifdef VIR_ENUM_SENTINELS
          VIR_DOMAIN_EVENT_TRAY_CHANGE_LAST
      \#endif
      } virDomainEventTrayChangeReason;
      
      typedef void
      (*virConnectDomainEventTrayChangeCallback)(virConnectPtr conn,
                                                 virDomainPtr dom,
                                                 const char *devAlias,
                                                 int reason,
                                                 void *opaque);
      a26a1969