1. 27 1月, 2020 1 次提交
    • P
      qemu: capabilities: Replace aliased machine type by copy of the canonical machine · 3b8feb47
      Peter Krempa 提交于
      The previous approac of just purging the alias combined with the fact
      that we filled in fake machine types in the test data meant that if a
      test case used an alias machine type such as 'pc' or 'q35' it would not
      properly resolve to the actual data returned by qemu.
      
      This started to be a problem since the CPU driver now looks at the
      default CPU reported with the machine type.
      
      This patch replaces the original approach of just removing the alias by
      replacing it with a copy of the machine type data which the type would
      alias to. This means that we are using the real data while we don't
      modify the test output after every qemu upgrade.
      
      Additionally this change will allow us to drop adding the fake machine
      types later.
      
      The test fallout is from actually excercising the CPU driver with
      actual data.
      Signed-off-by: NPeter Krempa <pkrempa@redhat.com>
      Reviewed-by: NMichal Privoznik <mprivozn@redhat.com>
      3b8feb47
  2. 03 12月, 2019 1 次提交
  3. 12 4月, 2019 1 次提交
  4. 15 3月, 2019 2 次提交
  5. 03 12月, 2018 1 次提交
    • E
      qemu: process: spice: Pick the first available DRM render node · 27cc9f6a
      Erik Skultety 提交于
      Up until now, we formatted 'rendernode=' onto QEMU cmdline only if the
      user specified it in the XML, otherwise we let QEMU do it for us. This
      causes permission issues because by default the /dev/dri/renderDX
      permissions are as follows:
      
      crw-rw----. 1 root video
      
      There's literally no reason why it shouldn't be libvirt picking the DRM
      render node instead of QEMU, that way (and because we're using
      namespaces by default), we can safely relabel the device within the
      namespace.
      Signed-off-by: NErik Skultety <eskultet@redhat.com>
      Reviewed-by: NJán Tomko <jtomko@redhat.com>
      27cc9f6a
  6. 18 7月, 2018 2 次提交
  7. 08 6月, 2018 1 次提交
  8. 06 6月, 2018 1 次提交
    • D
      qemu: support passing pre-opened UNIX socket listen FD · 30fb2276
      Daniel P. Berrangé 提交于
      There is a race condition when spawning QEMU where libvirt has spawned
      QEMU but the monitor socket is not yet open. Libvirt has to repeatedly
      try to connect() to QEMU's monitor until eventually it succeeds, or
      times out. We use kill() to check if QEMU is still alive so we avoid
      waiting a long time if QEMU exited, but having a timeout at all is still
      unpleasant.
      
      With QEMU 2.12 we can pass in a pre-opened FD for UNIX domain or TCP
      sockets. If libvirt has called bind() and listen() on this FD, then we
      have a guarantee that libvirt can immediately call connect() and
      succeed without any race.
      
      Although we only really care about this for the monitor socket and agent
      socket, this patch does FD passing for all UNIX socket based character
      devices since there appears to be no downside to it.
      
      We don't do FD passing for TCP sockets, however, because it is only
      possible to pass a single FD, while some hostnames may require listening
      on multiple FDs to cover IPv4 and IPv6 concurrently.
      Reviewed-by: NJohn Ferlan <jferlan@redhat.com>
      Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
      30fb2276
  9. 25 5月, 2018 1 次提交
  10. 17 4月, 2018 6 次提交
  11. 16 4月, 2018 1 次提交
  12. 12 4月, 2018 2 次提交
  13. 05 12月, 2017 1 次提交
  14. 11 7月, 2017 1 次提交
  15. 11 4月, 2017 1 次提交
  16. 07 7月, 2016 1 次提交
    • P
      qemu: caps: Always assume QEMU_CAPS_SMP_TOPOLOGY · e114b091
      Peter Krempa 提交于
      Support for SMP topology was added by qemu commit dc6b1c09849484fbbc50
      prior to 0.12.0, our minimum supported qemu version.
      
      $ git describe --tags dc6b1c09849484fbbc50803307e4c7a3d81eab62
      v0.11.0-rc0-449-gdc6b1c0
      $ git describe --tags --contains dc6b1c09849484fbbc50803307e4c7a3d81eab
      v0.12.0-rc0~1477
      e114b091
  17. 01 3月, 2016 1 次提交
    • M
      qemu: Shorten per-domain directory names · a89f05ba
      Martin Kletzander 提交于
      Per-domain directories were introduced in order to be able to
      completely separate security labels for each domain (commit
      f1f68ca3).  However when the domain
      name is long (let's say a ridiculous 110 characters), we cannot
      connect to the monitor socket because on length of UNIX socket address
      is limited.  In order to get around this, let's shorten it in similar
      fashion and in order to avoid conflicts, throw in an ID there as well.
      Also save that into the status XML and load the old status XMLs
      properly (to clean up after older domains).  That way we can change it
      in the future.
      
      The shortening can be seen in qemuxml2argv tests, for example in the
      hugepages-pages2 case.
      Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
      a89f05ba
  18. 10 2月, 2016 1 次提交
  19. 05 1月, 2016 1 次提交
    • M
      qemu: Specify format= iff disk source is not empty · d7db33bf
      Michal Privoznik 提交于
      Just recently, qemu forbade specifying format for sourceless
      disks (qemu commit 39c4ae941ed992a3bb5). It kind of makes sense.
      If there's no file to open, why specify its format. Anyway, I
      have a domain like this:
      
          <disk type='file' device='cdrom'>
            <driver name='qemu' type='raw'/>
            <target dev='hda' bus='ide'/>
            <readonly/>
            <address type='drive' controller='0' bus='0' target='0' unit='0'/>
          </disk>
      
      and obviously I am unable to start it. Therefore, a fix on our
      side is needed too.
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      d7db33bf
  20. 10 11月, 2015 3 次提交
  21. 09 11月, 2015 1 次提交
    • D
      tests: redo test argv file line wrapping · 8afd34f2
      Daniel P. Berrange 提交于
      Back in
      
        commit bd6c46fa
        Author: Juerg Haefliger <juerg.haefliger@hp.com>
        Date:   Mon Jan 31 06:42:57 2011 -0500
      
          tests: handle backspace-newline pairs in test input files
      
      all the test argv files were line wrapped so that the args
      were less than 80 characters.
      
      The way the line wrapping was done turns out to be quite
      undesirable, because it often leaves multiple parameters
      on the same line. If we later need to add or remove
      individual parameters, then it leaves us having to redo
      line wrapping.
      
      This commit changes the line wrapping so that every
      single "-param value" is one its own new line. If the
      "value" is still too long, then we break on ',' or ':'
      or ' ' as needed.
      
      This means that when we come to add / remove parameters
      from the test files line, the patch diffs will only
      ever show a single line added/removed which will greatly
      simplify review work.
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      8afd34f2
  22. 07 5月, 2014 1 次提交
    • J
      Add support for timestamping QEMU logs · f3be5f0c
      Ján Tomko 提交于
      QEMU commit 5e2ac51 added a boolean '-msg timestamp=[on|off]'
      option, which can enable timestamps on errors:
      $ qemu-system-x86_64 -msg timestamp=on zghhdorf
      2014-04-09T13:25:46.779484Z qemu-system-x86_64: -msg timestamp=on: could
      not open disk image zghhdorf: Could not open 'zghhdorf': No such file or
      directory
      
      Enable this timestamp if the QEMU binary supports it.
      
      Add a 'log_timestamp' option to qemu.conf for disabling this behavior.
      f3be5f0c
  23. 03 9月, 2013 1 次提交
    • C
      qemu: Set QEMU_AUDIO_DRV=none with -nographic · a216e648
      Cole Robinson 提交于
      On my machine, a guest fails to boot if it has a sound card, but not
      graphical device/display is configured, because pulseaudio fails to
      initialize since it can't access $HOME.
      
      A workaround is removing the audio device, however on ARM boards there
      isn't any option to do that, so -nographic always fails.
      
      Set QEMU_AUDIO_DRV=none if no <graphics> are configured. Unfortunately
      this has massive test suite fallout.
      
      Add a qemu.conf parameter nographics_allow_host_audio, that if enabled
      will pass through QEMU_AUDIO_DRV from sysconfig (similar to
      vnc_allow_host_audio)
      a216e648
  24. 30 10月, 2012 1 次提交
  25. 02 6月, 2012 1 次提交
    • M
      qemu: move -name arg to be 1st in "ps x" output · 195fa214
      Marti Raudsepp 提交于
      Currently, monitoring QEMU virtual machines with standard Unix
      sysadmin tools is harder than it has to be. The QEMU command line is
      often miles long and mostly redundant, it's hard to tell which process
      is which.
      
      This patch reorders the QEMU -name argument to be the first, so it's
      immediately visible in "ps x", htop and "atop -c" output.
      195fa214
  26. 09 2月, 2011 1 次提交
  27. 01 2月, 2011 1 次提交
    • J
      tests: handle backspace-newline pairs in test input files · bd6c46fa
      Juerg Haefliger 提交于
      This patch teaches testutil how to read multi-line input files with
      backspace-newline line continuation markers.
      
      The patch also breaks up all the single-line arguments test input files into
      multi-line files with lines shorter than 80 characters.
      bd6c46fa
  28. 13 10月, 2010 1 次提交
    • N
      XML parsing for memory tunables · d390fce4
      Nikunj A. Dadhania 提交于
      Adding parsing code for memory tunables in the domain xml file
      also change the internal define structures used for domain memory
      informations
      Adds a new specific test
      d390fce4
  29. 10 7月, 2009 1 次提交
    • M
      Switch to using a unix socket for the qemu monitor · 62455ed8
      Mark McLoughlin 提交于
      We keep support for the pty based monitor so that we can re-connect
      to VMs started by older versions of libvirtd.
      
      * src/domain_conf.c: handle formatting and parsing unix monitors
      
      * src/qemu_driver.c: add qemudOpenMonitorUnix(), remove the monitor
        pty path searching from qemudFindCharDevicePTYs(), switch
        qemudStartVMDaemon() and qemuDomainXMLToNative() to using a unix
        monitor
      
      * tests/qemuxml2argvtest.c: switch to using a unix monitor
      
      * tests/qemuxml2argvdata/qemuxml2argv-*.args: update test data
      62455ed8
  30. 11 5月, 2009 1 次提交
    • C
      Add pidfile argument to __virExec · a331653d
      Cole Robinson 提交于
      virExec will write out the pid of the daemonized process only. Use this
      in the QEMU driver, rather than QEMU's pidfile, so we can catch errors we
      might miss if the emulator bails early.
      a331653d