1. 15 11月, 2016 2 次提交
  2. 02 11月, 2016 1 次提交
  3. 26 10月, 2016 1 次提交
    • J
      qemu: Add a secret object to/for a char source dev · daf5c651
      John Ferlan 提交于
      Add the secret object so the 'passwordid=' can be added if the command line
      if there's a secret defined in/on the host for TCP chardev TLS objects.
      
      Preparation for the secret involves adding the secinfo to the char source
      device prior to command line processing. There are multiple possibilities
      for TCP chardev source backend usage.
      
      Add test for at least a serial chardev as an example.
      daf5c651
  4. 25 10月, 2016 1 次提交
  5. 24 10月, 2016 2 次提交
    • P
      domain: fix migration to older libvirt · 7c8df1e8
      Pavel Hrdina 提交于
      Since TLS was introduced hostwide for libvirt 2.3.0 and a domain
      configurable haveTLS was implemented for libvirt 2.4.0, we have to
      modify the migratable XML for specific case where the 'tls' attribute
      is based on setting from qemu.conf.
      
      The "tlsFromConfig" is libvirt internal attribute and is stored only in
      status XML to ensure that when libvirtd is restarted this internal flag
      is not lost by the restart.
      
      That flag is used to decide whether we should put *tls* attribute to
      migratable XML or not.
      Signed-off-by: NPavel Hrdina <phrdina@redhat.com>
      7c8df1e8
    • P
      domain: Add optional 'tls' attribute for TCP chardev · 0298531b
      Pavel Hrdina 提交于
      Add an optional "tls='yes|no'" attribute for a TCP chardev.
      
      For QEMU, this will allow for disabling the host config setting of the
      'chardev_tls' for a domain chardev channel by setting the value to "no" or
      to attempt to use a host TLS environment when setting the value to "yes"
      when the host config 'chardev_tls' setting is disabled, but a TLS environment
      is configured via either the host config 'chardev_tls_x509_cert_dir' or
      'default_tls_x509_cert_dir'
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      Signed-off-by: NPavel Hrdina <phrdina@redhat.com>
      0298531b
  6. 22 10月, 2016 2 次提交
  7. 20 10月, 2016 1 次提交
    • J
      qemu: Introduce qemuDomainChardevPrivatePtr · 5f2a1327
      John Ferlan 提交于
      Modeled after the qemuDomainHostdevPrivatePtr (commit id '27726d8c'),
      create a privateData pointer in the _virDomainChardevDef to allow storage
      of private data for a hypervisor in order to at least temporarily store
      secret data for usage during qemuBuildCommandLine.
      
      NB: Since the qemu_parse_command (qemuParseCommandLine) code is not
      expecting to restore the secret data, there's no need to add code
      code to handle this new structure there.
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      5f2a1327
  8. 18 10月, 2016 1 次提交
  9. 12 10月, 2016 3 次提交
  10. 11 10月, 2016 1 次提交
  11. 05 10月, 2016 1 次提交
  12. 26 9月, 2016 9 次提交
  13. 22 9月, 2016 3 次提交
  14. 20 9月, 2016 1 次提交
  15. 14 9月, 2016 1 次提交
  16. 12 9月, 2016 2 次提交
    • J
      qemu: Don't use query-migrate on destination · 56258a38
      Jiri Denemark 提交于
      When migration fails, we need to poke QEMU monitor to check for a reason
      of the failure. We did this using query-migrate QMP command, which is
      not supposed to return any meaningful result on the destination side.
      Thus if the monitor was still functional when we detected the migration
      failure, parsing the answer from query-migrate always failed with the
      following error message:
      
          "info migration reply was missing return status"
      
      This irrelevant message was then used as the reason for the migration
      failure replacing any message we might have had.
      
      Let's use harmless query-status for poking the monitor to make sure we
      only get an error if the monitor connection is broken.
      
      https://bugzilla.redhat.com/show_bug.cgi?id=1374613Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
      56258a38
    • P
      qemu: domain: Clear startup policy for dropped removable media · 6e19cc59
      Peter Krempa 提交于
      When a source image is dropped when missing due to startup policy the
      policy needs to be cleared since it was relevant only for the given
      storage source. New sources need to update it if needed.
      6e19cc59
  17. 09 9月, 2016 1 次提交
  18. 03 9月, 2016 1 次提交
    • N
      qemu: Filter cur_balloon ABI check for certain transactions · c62e79c8
      Nikolay Shirokovskiy 提交于
      Since the domain lock is not held during preparation of an external XML
      config, it is possible that the value can change resulting in unexpected
      failures during ABI consistency checking for some save and migrate
      operations.
      
      This patch adds a new flag to skip the checking of the cur_balloon value
      and then sets the destination value to the source value to ensure
      subsequent checks without the skip flag will succeed.
      
      This way it is protected from forges and is keeped up to date too.
      Signed-off-by: NNikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
      c62e79c8
  19. 25 8月, 2016 6 次提交
    • P
      qemu: command: Add support for sparse vcpu topologies · 9eb9106e
      Peter Krempa 提交于
      Add support for using the new approach to hotplug vcpus using device_add
      during startup of qemu to allow sparse vcpu topologies.
      
      There are a few limitations imposed by qemu on the supported
      configuration:
      - vcpu0 needs to be always present and not hotpluggable
      - non-hotpluggable cpus need to be ordered at the beginning
      - order of the vcpus needs to be unique for every single hotpluggable
        entity
      
      Qemu also doesn't really allow to query the information necessary to
      start a VM with the vcpus directly on the commandline. Fortunately they
      can be hotplugged during startup.
      
      The new hotplug code uses the following approach:
      - non-hotpluggable vcpus are counted and put to the -smp option
      - qemu is started
      - qemu is queried for the necessary information
      - the configuration is checked
      - the hotpluggable vcpus are hotplugged
      - vcpus are started
      
      This patch adds a lot of checking code and enables the support to
      specify the individual vcpu element with qemu.
      9eb9106e
    • P
      qemu: process: Copy final vcpu order information into the vcpu definition · 20ef1232
      Peter Krempa 提交于
      The vcpu order information is extracted only for hotpluggable entities,
      while vcpu definitions belonging to the same hotpluggable entity need
      to all share the order information.
      
      We also can't overwrite it right away in the vcpu info detection code as
      the order is necessary to add the hotpluggable vcpus enabled on boot in
      the correct order.
      
      The helper will store the order information in places where we are
      certain that it's necessary.
      20ef1232
    • P
      qemu: migration: Prepare for non-contiguous vcpu configurations · 48e3d428
      Peter Krempa 提交于
      Introduce a new migration cookie flag that will be used for any
      configurations that are not compatible with libvirt that would not
      support the specific vcpu hotplug approach. This will make sure that old
      libvirt does not fail to reproduce the configuration correctly.
      48e3d428
    • P
      conf: Add XML for individual vCPU hotplug · 5847bc5c
      Peter Krempa 提交于
      Individual vCPU hotplug requires us to track the state of any vCPU. To
      allow this add the following XML:
      
      <domain>
        ...
        <vcpu current='2'>3</vcpu>
        <vcpus>
          <vcpu id='0' enabled='yes' hotpluggable='no' order='1'/>
          <vcpu id='1' enabled='yes' hotpluggable='yes' order='2'/>
          <vcpu id='1' enabled='no' hotpluggable='yes'/>
        </vcpus>
        ...
      
      The 'enabled' attribute allows to control the state of the vcpu.
      'hotpluggable' controls whether given vcpu can be hotplugged and 'order'
      allows to specify the order to add the vcpus.
      5847bc5c
    • P
      qemu: domain: Prepare for VCPUs vanishing while libvirt is not running · 133be0a9
      Peter Krempa 提交于
      Similarly to devices the guest may allow unplug of the VCPU if libvirt
      is down. To avoid problems, refresh the vcpu state on reconnect. Don't
      mess with the vcpu state otherwise.
      133be0a9
    • P
      qemu: domain: Extract cpu-hotplug related data · 6b4a23ff
      Peter Krempa 提交于
      Now that the monitor code gathers all the data we can extract it to
      relevant places either in the definition or the private data of a vcpu.
      
      As only thread id is broken for TCG guests we may extract the rest of
      the data and just skip assigning of the thread id. In case where qemu
      would allow cpu hotplug in TCG mode this will make it work eventually.
      6b4a23ff