1. 07 6月, 2017 3 次提交
  2. 03 5月, 2017 1 次提交
    • J
      qemu: Fix persistent migration of transient domains · 59307fad
      Jiri Denemark 提交于
      While fixing a bug with incorrectly freed memory in commit
      v3.1.0-399-g5498aa29, I accidentally broke persistent migration of
      transient domains. Before adding qemuDomainDefCopy in the path, the code
      just took NULL from vm->newDef and used it as the persistent def, which
      resulted in no persistent XML being sent in the migration cookie. This
      scenario is perfectly valid and the destination correctly handles it by
      using the incoming live definition and storing it as the persistent one.
      
      After the mentioned commit libvirtd would just segfault in the described
      scenario.
      
      https://bugzilla.redhat.com/show_bug.cgi?id=1446205Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
      59307fad
  3. 02 5月, 2017 1 次提交
  4. 27 4月, 2017 4 次提交
  5. 18 4月, 2017 1 次提交
    • P
      qemu: migration: Skip cache=none check for disks which are storage-migrated · 41e9f54d
      Peter Krempa 提交于
      Since the disks are copied by qemu, there's no need to enforce
      cache=none. Thankfully the code that added qemuMigrateDisk did not break
      existing configs, since if you don't select any disk to migrate
      explicitly the code behaves sanely.
      
      The logic for determining whether a disk should be migrated is
      open-coded since using qemuMigrateDisk twice would be semantically
      incorrect.
      41e9f54d
  6. 13 4月, 2017 2 次提交
  7. 07 4月, 2017 6 次提交
  8. 05 4月, 2017 2 次提交
  9. 03 4月, 2017 1 次提交
    • M
      virGetDomain: Set domain ID too · 5683b213
      Michal Privoznik 提交于
      So far our code is full of the following pattern:
      
        dom = virGetDomain(conn, name, uuid)
        if (dom)
            dom->id = 42;
      
      There is no reasong why it couldn't be just:
      
        dom = virGetDomain(conn, name, uuid, id);
      
      After all, client domain representation consists of tuple (name,
      uuid, id).
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      5683b213
  10. 28 3月, 2017 4 次提交
  11. 27 3月, 2017 1 次提交
  12. 26 3月, 2017 1 次提交
    • R
      qemu: fix build with clang · 4035baeb
      Roman Bogorodskiy 提交于
      qemuMigrationResetTLS() does not initialize 'ret' by default,
      so when it jumps to 'cleanup' on error, the 'ret' variable will be
      uninitialized, which clang complains about.
      
      Set it to '-1' by default.
      4035baeb
  13. 25 3月, 2017 3 次提交
    • J
      qemu: Set up the migration TLS objects for source · a69e266d
      John Ferlan 提交于
      https://bugzilla.redhat.com/show_bug.cgi?id=1300769
      
      If the migration flags indicate this migration will be using TLS,
      then while we have connection in the Begin phase check and setup the
      TLS environment that will be used by virMigrationRun during the Perform
      phase for the source to configure TLS.
      
      Processing adds an "-object tls-creds-x509,endpoint=client,..." and
      possibly an "-object secret,..." to handle the passphrase response.
      
      Then it sets the 'tls-creds' and possibly 'tls-hostname' migration
      parameters.
      
      The qemuMigrateCancel will clean up and reset the environment as it
      was originally found.
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      a69e266d
    • J
      qemu: Set up the migration TLS objects for target · 1a6b6d9a
      John Ferlan 提交于
      If the migration flags indicate this migration will be using TLS,
      then set up the destination during the prepare phase once the target
      domain has been started to add the TLS objects to perform the migration.
      
      This will create at least an "-object tls-creds-x509,endpoint=server,..."
      for TLS credentials and potentially an "-object secret,..." to handle the
      passphrase response to access the TLS credentials. The alias/id used for
      the TLS objects will contain "libvirt_migrate".
      
      Once the objects are created, the code will set the "tls-creds" and
      "tls-hostname" migration parameters to signify usage of TLS.
      
      During the Finish phase we'll be sure to attempt to clear the
      migration parameters and delete those objects (whether or not they
      were created). We'll also perform the same reset during recovery
      if we've reached FINISH3.
      
      If the migration isn't using TLS, then be sure to check if the
      migration parameters exist and clear them if so.
      1a6b6d9a
    • J
      qemu: Add TLS params to _qemuMonitorMigrationParams · 3d06cb96
      John Ferlan 提交于
      Add the fields to support setting tls-creds and tls-hostname during
      a migration (either source or target). Modify the query migration
      function to check for the presence and set the field for future
      consumers to determine which of 3 conditions is being met (NULL,
      present and set to "", or present and sent to something). These
      correspond to qemu commit id '4af245dc3' which added support to
      default the value to "" and allow setting (or resetting) to ""
      in order to disable. This reset option allows libvirt to properly
      use the tls-creds and tls-hostname parameters.
      
      Modify code paths that either allocate or use stack space in order
      to call qemuMigrationParamsClear or qemuMigrationParamsFree for cleanup.
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      3d06cb96
  14. 24 3月, 2017 1 次提交
  15. 23 3月, 2017 1 次提交
  16. 06 3月, 2017 1 次提交
    • M
      qemu: Enforce qemuSecurity wrappers · 4da534c0
      Michal Privoznik 提交于
      Now that we have some qemuSecurity wrappers over
      virSecurityManager APIs, lets make sure everybody sticks with
      them. We have them for a reason and calling virSecurityManager
      API directly instead of wrapper may lead into accidentally
      labelling a file on the host instead of namespace.
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      4da534c0
  17. 16 2月, 2017 1 次提交
  18. 21 12月, 2016 1 次提交
  19. 29 11月, 2016 1 次提交
  20. 23 11月, 2016 1 次提交
    • N
      qemu: agent: handle agent connection errors in one place · 851ae08e
      Nikolay Shirokovskiy 提交于
      qemuConnectAgent return -1 or -2 in case of different errors.
      A. -1 is a case of unsuccessuful connection to guest agent.
      B. -2 is a case of destoyed domain during connection attempt.
      
      All qemuConnectAgent callers handle the first error the same way
      so let's move this logic into qemuConnectAgent itself. Patched
      function returns 0 in case A and -1 in case B.
      851ae08e
  21. 02 11月, 2016 1 次提交
  22. 12 10月, 2016 2 次提交