1. 18 10月, 2011 1 次提交
    • E
      snapshot: implement LIST_LEAVES flag in esx · e570d7c4
      Eric Blake 提交于
      Relatively straight-forward filtering.
      
      * src/esx/esx_vi.h (esxVI_GetNumberOfSnapshotTrees)
      (esxVI_GetSnapshotTreeNames): Add parameter.
      * src/esx/esx_vi.c (esxVI_GetNumberOfSnapshotTrees)
      (esxVI_GetSnapshotTreeNames): Allow leaf filtering.
      * src/esx/esx_driver.c (esxDomainSnapshotNum)
      (esxDomainSnapshotListNames, esxDomainSnapshotNumChildren)
      (esxDomainSnapshotListChildrenNames): Pass new flag through.
      e570d7c4
  2. 05 10月, 2011 1 次提交
    • E
      snapshot: implement snapshot roots listing in esx · 827a992a
      Eric Blake 提交于
      Commit 9f5e53e2 introduced the ability to filter snapshots to
      just roots, but it was never implemented for ESX until now.
      
      * src/esx/esx_vi.h (esxVI_GetNumberOfSnapshotTrees)
      (esxVI_GetSnapshotTreeNames): Add parameter.
      * src/esx/esx_vi.c (esxVI_GetNumberOfSnapshotTrees)
      (esxVI_GetSnapshotTreeNames): Allow choice of recursion or not.
      * src/esx/esx_driver.c (esxDomainSnapshotNum)
      (esxDomainSnapshotListNames): Use it to limit to roots.
      827a992a
  3. 17 5月, 2011 3 次提交
  4. 24 4月, 2011 2 次提交
  5. 17 4月, 2011 1 次提交
  6. 14 4月, 2011 1 次提交
  7. 08 1月, 2011 1 次提交
  8. 07 1月, 2011 1 次提交
  9. 30 12月, 2010 1 次提交
  10. 22 12月, 2010 1 次提交
    • M
      esx: Move VMX handling code out of the driver directory · 42b2f35d
      Matthias Bolte 提交于
      Now the VMware driver doesn't depend on the ESX driver anymore.
      
      Add a WITH_VMX option that depends on WITH_ESX and WITH_VMWARE.
      Also add a libvirt_vmx.syms file.
      
      Move some escaping functions from esx_util.c to vmx.c.
      
      Adapt the test suite, ESX and VMware driver to the new code layout.
      42b2f35d
  11. 11 12月, 2010 1 次提交
    • M
      esx: Improve error reporting for failed tasks · 2a151699
      Matthias Bolte 提交于
      Instead of just reporting that a task failed get the
      localized message from the TaskInfo error and include
      it in the reported error message.
      
      Implement minimal deserialization support for the
      MethodFault type in order to obtain the actual fault
      type.
      
      For example, this changes the reported error message
      when trying to create a volume with zero size from
      
        Could not create volume
      
      to
      
        Could not create volume: InvalidArgument - A specified parameter was not correct.
      
      Not perfect yet, but better than before.
      2a151699
  12. 10 11月, 2010 1 次提交
  13. 08 9月, 2010 2 次提交
    • M
      esx: Use SessionIsActive when available · 5699034b
      Matthias Bolte 提交于
      Before this commit SessionIsActive was not used because ESX(i)
      doesn't implement it. vCenter supports SessionIsActive, so use
      it here, but keep the fall back mechanism for ESX(i) and GSX.
      5699034b
    • M
      esx: Fall back to path as key when QueryVirtualDiskUuid isn't available · 8fdb0b0c
      Matthias Bolte 提交于
      QueryVirtualDiskUuid is only available on an ESX(i) server. vCenter
      returns an NotImplemented fault and a GSX server is missing the
      VirtualDiskManager completely. Therefore only use QueryVirtualDiskUuid
      with an ESX(i) server and fall back to path as storage volume key for
      vCenter and GSX server.
      8fdb0b0c
  14. 04 9月, 2010 2 次提交
  15. 27 8月, 2010 1 次提交
  16. 24 8月, 2010 1 次提交
    • M
      esx: Improve object-by-type lookup performance · 8c48743b
      Matthias Bolte 提交于
      Instead of using one big traversal spec for lookup use a set of
      more fine grained traversal specs that are selected based on the
      actual needs of the lookup.
      
      This gives up to 20% speedup for certain operations like domain
      listing due to less HTTP(S) traffic.
      8c48743b
  17. 03 8月, 2010 4 次提交
    • M
      esx: Set storage pool target path to host.mountInfo.path · 14954fb8
      Matthias Bolte 提交于
      Now all storage pool types expose the target path.
      14954fb8
    • M
      esx: Make storage pool lookup by name and UUID more robust · 5254546b
      Matthias Bolte 提交于
      Don't rely on summary.url anymore, because its value is different
      between an esx:// and vpx:// connection. Use host.mountInfo.path
      instead.
      
      Don't fallback to lookup by UUID (actually lookup by absolute path)
      in esxVI_LookupDatastoreByName when lookup by name fails. Add a
      seperate function for this: esxVI_LookupDatastoreByAbsolutePath
      5254546b
    • M
      esx: Restrict vpx:// to handle a single host in a vCenter · e4938ce2
      Matthias Bolte 提交于
      Now a vpx:// connection has an explicitly specified host. This
      allows to enabled several functions for a vpx:// connection
      again, like host UUID, hostname, general node info, max vCPU
      count, free memory, migration and defining new domains.
      
      Lookup datacenter, compute resource, resource pool and host
      system once and cache them. This simplifies the rest of the
      code and reduces overall HTTP(S) traffic a bit.
      
      esx:// and vpx:// can be mixed freely for a migration.
      
      Ensure that migration source and destination refer to the
      same vCenter. Also directly encode the resource pool and
      host system object IDs into the migration URI in the prepare
      function. Then directly build managed object references in
      the perform function instead of re-looking up already known
      information.
      e4938ce2
    • M
      esx: Parse the path of the URI · ac041072
      Matthias Bolte 提交于
      The path will be used to specify the datacenter, compute resource
      and host system to be used with a vpx:// connection.
      ac041072
  18. 30 7月, 2010 1 次提交
    • M
      esx: Improve blocked task detection and fix race condition · 25e34b70
      Matthias Bolte 提交于
      esxVI_WaitForTaskCompletion can take a UUID to lookup the
      corresponding domain and check if the current task for it
      is blocked by a question. It calls another function to do
      this: esxVI_LookupAndHandleVirtualMachineQuestion looks up
      the VirtualMachine and checks for a question. If there is
      a question it calls esxVI_HandleVirtualMachineQuestion to
      handle it.
      
      If there was no question or it has been answered the call
      to esxVI_LookupAndHandleVirtualMachineQuestion returns 0.
      If any error occurred during the lookup and answering
      process -1 is returned. The problem with this is, that -1
      is also returned when there was no error but the question
      could not be answered. So esxVI_WaitForTaskCompletion cannot
      distinguish between this two situations and reports that a
      question is blocking the task even when there was actually
      another problem.
      
      This inherent problem didn't surface until vSphere 4.1 when
      you try to define a new domain. The driver tries to lookup
      the domain that is just in the process of being registered.
      There seems to be some kind of race condition and the driver
      manages to issue a lookup command before the ESX server was
      able to register the domain. This used to work before.
      
      Due to the return value problem described above the driver
      reported a false error message in that case.
      
      To solve this esxVI_WaitForTaskCompletion now takes an
      additional occurrence parameter that describes whether or
      not to expect the domain to be existent. Also add a new
      parameter to esxVI_LookupAndHandleVirtualMachineQuestion
      that allows to distinguish if the call returned -1 because
      of an actual error or because the question could not be
      answered.
      25e34b70
  19. 25 7月, 2010 1 次提交
  20. 09 6月, 2010 2 次提交
  21. 26 5月, 2010 1 次提交
    • M
      esx: Add read-only storage pool access · ddb4ae0c
      Matthias Bolte 提交于
      Allows listing existing pools and requesting information about them.
      
      Alter the esxVI_ProductVersion enum in a way that allows to check for
      product type by masking.
      ddb4ae0c
  22. 22 4月, 2010 1 次提交
  23. 21 4月, 2010 1 次提交
  24. 16 4月, 2010 1 次提交
  25. 09 4月, 2010 1 次提交
    • M
      esx: Add domain snapshot support · 1aaa9091
      Matthias Bolte 提交于
      Fix invalid code generating in esx_vi_generator.py regarding deep copy
      types that contain enum properties.
      
      Add strptime and timegm to bootstrap.conf. Both are used to convert a
      xsd:dateTime to calendar time.
      
      Add a testcase of the xsd:dateTime conversion.
      1aaa9091
  26. 07 4月, 2010 1 次提交
    • M
      esx: Mark error messages for translation · 028db0bf
      Matthias Bolte 提交于
      Also define ESX_ERROR and ESX_VI_ERROR in a central place, instead of
      defining them in each source file.
      
      Add ESX_ERROR and ESX_VI_ERROR to the msg_gen_function list in cfg.mk.
      
      Update po/POTFILES.in accordingly.
      028db0bf
  27. 31 3月, 2010 1 次提交
    • M
      esx: Generate most SOAP mapping and improve inheritance handling · 50723581
      Matthias Bolte 提交于
      The Python script generates the mappings based on the type descriptions
      in the esx_vi_generator.input file.
      
      This also improves the inheritance handling and allows to get rid of the
      ugly, inflexible, and error prone _base/_super approach. Now every struct
      that represents a SOAP type contains a _type member, that allows to
      recreate C++-like dynamic dispatch for "method" calls in C.
      50723581
  28. 23 3月, 2010 2 次提交
    • M
      esx: Add esxVI_LookupVirtualMachineByName · 041a18be
      Matthias Bolte 提交于
      Used in esxDomainLookupByName and to be used in esxDomainDefineXML later.
      041a18be
    • M
      esx: Generate method mappings via macros · d304352b
      Matthias Bolte 提交于
      This is actually a consequence of the reworked required parameter
      checking: Unify the required parameter check into a Validate function
      instead of doing it separately im the (de)serialization part.
      
      The required parameter checking for the mapped methods parameter was
      done in the (de)serialize functions before. Now it's explicitly done
      in the mapped method itself.
      d304352b
  29. 10 3月, 2010 1 次提交
  30. 27 1月, 2010 1 次提交