1. 10 2月, 2016 6 次提交
    • C
      tests: qemuxml2xml: assign device addresses · c1c4d0d5
      Cole Robinson 提交于
      We use the PreFormat callback for this. Many test cases need to be extended
      to pass in proper qemuCaps flags so AssignAddresses doesn't throw errors.
      
      One test case (pcie-root-port-too-many) is dropped, since it was meant
      only for checking an error condition in qemuxml2argv, and one we add in
      AssignAddresses it errors here too.
      
      Long term I think AssignAddresses should be handled in qemu's PostParse
      callback, but that's not entirely straightforward. Handling it here
      means we can get the test suite churn over with.
      c1c4d0d5
    • C
      tests: utils: Add PreFormat callback for CompareXML2XML helper · 8e0fd243
      Cole Robinson 提交于
      This allows individual driver tests to hook in their own code before
      the def is formatted and compared.
      
      We will eventually use this in the qemuxml2xml
      8e0fd243
    • M
      virStringListLength: Ensure const correctness · d1a71023
      Michal Privoznik 提交于
      The virStringListLength function does not ever modify the passed
      string list. It merely counts the items in it. Make sure that we
      reflect this bit in the function header.
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      
      (crobinso: fix up spacing and squash in sheepdog bit suggested
       by Andrea)
      d1a71023
    • C
      tests: qemuxml2xml: specify qemuCaps in test cases · 129c3532
      Cole Robinson 提交于
      Similar to how we do it for qemuxml2argvtest. This will be used in future
      patches.
      129c3532
    • C
      tests: Unconditionally enable QEMU_CAPS_DEVICE · 51045df0
      Cole Robinson 提交于
      QEMU_CAPS_DEVICE is always enabled for qemu binaries we support.
      Sync qemuxml2* to match, and regenerate all test output.
      51045df0
    • C
      tests: qemuxml2argv: remove some QEMU_CAPS_DEVICE problem cases · e9394d69
      Cole Robinson 提交于
      When we unconditionally enable QEMU_CAPS_DEVICE, these tests need
      some massaging, so do it ahead of time to not mix it in with the
      big test refresh.
      
      - minimal-s390 is not a real world working config, so drop it
      - disk-usb was testing for an old code path that will be removed.
        instead use it to test lack of USB disk support, and rename it
        to disk-usb-nosupport. Switch xml2xml to use disk-usb-device for
        input.
      - cputune-numatune was needlessly using q35, switch it to an older
        machine type
      e9394d69
  2. 09 2月, 2016 1 次提交
    • C
      tests: qemuxml2xml: Always use different output file · d093d623
      Cole Robinson 提交于
      Most qemuxml2xml tests expect that the input XML is unchanged after
      parsing. This is unlike 99% of new qemu configs in the wild, which after
      initial parsing end up with stable PCI device addresses. The xml2xml bit
      doesn't currently hit that code path though, so most XML testing indeed
      does not change.
      
      Future patches will add that PCI address bits, which means most test cases
      will have different output. So let's do away with the hardcoded same vs
      different test split, and always track a separate output file. Tests can
      still have same input and output, it just necessitates 2 separate XML files.
      d093d623
  3. 08 2月, 2016 3 次提交
  4. 06 2月, 2016 2 次提交
    • C
      tests: qemuargv2xml: separate from qemuxml2argv data · e117bf64
      Cole Robinson 提交于
      Most of the qemuargv2xml tests are parsing old style qemu command
      lines (with -disk, -serial, etc), and it gets its input from
      qemuxml2argv output.
      
      But since we've raise the minimum supported qemu version to 0.12.0,
      which supports -device, once that changes propagates through libvirt
      the vast majority of qemuxml2argv output is _not_ going to be using
      old style qemu options.
      
      In preparation for this, switch qemuargv2xml to use its own copies
      of input and output, so it's not tied to qemuxml2argv results.
      
      This is just a straight copy of the current tests.
      e117bf64
    • C
      tests: Run test-wrap-argv with REGENERATE_OUTPUT · 3e9033f7
      Cole Robinson 提交于
      To get properly wrapped output
      3e9033f7
  5. 05 2月, 2016 5 次提交
    • M
      virnetdevbandwidth: Compute quantum value · 065054da
      Michal Privoznik 提交于
      I've noticed couple of warning in dmesg while debugging
      something:
      
      [ 9683.973754] HTB: quantum of class 10001 is big. Consider r2q change.
      [ 9683.976460] HTB: quantum of class 10002 is big. Consider r2q change.
      
      I've read the HTB documentation and linux kernel code to find out
      what's wrong. Basically we need to pass another argument
      "quantum" to our tc cmd line because the default computed by HTB
      does not always work in which case the warning message is printed
      out.
      
      You can read more details here:
      
      http://luxik.cdi.cz/~devik/qos/htb/manual/userg.htm#sharingSigned-off-by: NMichal Privoznik <mprivozn@redhat.com>
      065054da
    • P
      util: bitmap: Introduce bitmap subtraction · 9479642f
      Peter Krempa 提交于
      Performs binary subtraction of two bitmaps. Stores result in the first
      operand.
      9479642f
    • M
      systemd: Modernize machine naming · c3bd0019
      Martin Kletzander 提交于
      So, systemd-machined has this philosophy that machine names are like
      hostnames and hence should follow the same rules.  But we always allowed
      international characters in domain names.  Thus we need to modify the
      machine name we are passing to systemd.
      
      In order to change some machine names that we will be passing to systemd,
      we also need to call TerminateMachine at the end of a lifetime of a
      domain.  Even for domains that were started with older libvirt.  That
      can be achieved thanks to virSystemdGetMachineNameByPID().  And because
      we can change machine names, we can get rid of the inconsistent and
      pointless escaping of domain names when creating machine names.
      
      So this patch modifies the naming in the following way.  It creates the
      name as <drivername>-<id>-<name> where invalid hostname characters are
      stripped out of the name and if the resulting name is longer, it
      truncates it to 64 characters.  That way we can start domains we
      couldn't start before.  Well, at least on systemd.
      
      To make it work all together, the machineName (which is needed only with
      systemd) is saved in domain's private data.  That way the generation is
      moved to the driver and we don't need to pass various unnecessary
      arguments to cgroup functions.
      
      The only thing this complicates a bit is the scope generation when
      validating a cgroup where we must check both old and new naming, so a
      slight modification was needed there.
      
      Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1282846Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
      c3bd0019
    • J
      conf: add caps to virDomainSnapshotDefFormat · b8b03f64
      Joao Martins 提交于
      The virDomainSnapshotDefFormat calls into virDomainDefFormat,
      so should be providing a non-NULL virCapsPtr instance. On the
      qemu driver we change qemuDomainSnapshotWriteMetadata to also
      include caps since it calls virDomainSnapshotDefFormat.
      Signed-off-by: NJoao Martins <joao.m.martins@oracle.com>
      b8b03f64
    • D
      conf: add caps to virDomainObjFormat/SaveStatus · 1036ddad
      Daniel P. Berrange 提交于
      The virDomainObjFormat and virDomainSaveStatus methods
      both call into virDomainDefFormat, so should be providing
      a non-NULL virCapsPtr instance.
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      1036ddad
  6. 04 2月, 2016 1 次提交
  7. 03 2月, 2016 2 次提交
  8. 02 2月, 2016 1 次提交
    • E
      tests: avoid realpath in test-lib.sh · 041f7c93
      Eric Blake 提交于
      Ever since commit ace4aecd, running 'make check' on RHEL 6 produces:
      
      ./test-lib.sh: line 21: realpath: command not found
      
      for every shell script test, because 'realpath' was not part of
      coreutils back then.
      
      * tests/test-lib.sh (_scriptdir): Compute with only portable shell.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      041f7c93
  9. 28 1月, 2016 1 次提交
  10. 27 1月, 2016 3 次提交
    • P
      device: cleanup input device code · 36785c7e
      Pavel Hrdina 提交于
      The current code was a little bit odd.  At first we've removed all
      possible implicit input devices from domain definition to add them later
      back if there was any graphics device defined while parsing XML
      description.  That's not all, while formating domain definition to XML
      description we at first ignore any input devices with bus different to
      USB and VIRTIO and few lines later we add implicit input devices to XML.
      
      This seems to me as a lot of code for nothing.  This patch may look
      to be more complicated than original approach, but this is a preferred
      way to modify/add driver specific stuff only in those drivers and not
      deal with them in common parsing/formating functions.
      
      The update is to add those implicit input devices into config XML to
      follow the real HW configuration visible by guest OS.
      
      There was also inconsistence between our behavior and QEMU's in the way,
      that in QEMU there is no way how to disable those implicit input devices
      for x86 architecture and they are available always, even without graphics
      device.  This applies also to XEN hypervisor.  VZ driver already does its
      part by putting correct implicit devices into live XML.
      Signed-off-by: NPavel Hrdina <phrdina@redhat.com>
      36785c7e
    • P
      tests: add some missing tests to qemuxml2xmltest · 2686e44e
      Pavel Hrdina 提交于
      Those tests are in qemuargv2xmltest and it makes sense to include them
      also in qemuxml2xmltest and qemuxml2argvtest.
      Signed-off-by: NPavel Hrdina <phrdina@redhat.com>
      2686e44e
    • P
      tests: use virtTestDifferenceFull in tests where we have output file · 2d446b6e
      Pavel Hrdina 提交于
      This will enable regenerate functionality for those tests to make
      developer lives easier while updating tests.
      Signed-off-by: NPavel Hrdina <phrdina@redhat.com>
      2d446b6e
  11. 26 1月, 2016 2 次提交
  12. 25 1月, 2016 2 次提交
  13. 22 1月, 2016 1 次提交
    • I
      libxl: Support cmdline= in xl config files · daeace5c
      Ian Campbell 提交于
      ... and consolidate the cmdline/extra/root parsing to facilitate doing
      so.
      
      The logic is the same as xl's parse_cmdline from the current xen.git master
      branch (e6f0e099d2c17de47fd86e817b1998db903cab61).
      
      On the formatting side switch to producing cmdline= instead of extra=.
      
      Update a few tests and add serveral more.
        - test-cmdline is added to test the exclusive use of cmdline.
        - test-fullvirt-direct-kernel-boot.cfg is updated due to the switch
          on the formatting side and now tests the exclusive use of cmdline=.
        - Tests are added for both paravirt and fullvirt where the .cfg uses
          extra= and (paravirt only) root=. These are format (xl->xml) only
          since the inverse will generate cmdline= hence is not a round trip
          (which was already true if using root=, which used to generate
          extra= on the way back).
        - Tests are added for both paravirt and fullvirt where the .cfg
          declares cmdline= as well as bogus extra= and (paravirt only) root=
          entries which should be ignored. Again these are format only tests
          since the inverse won't include the bogus lines.
      
      The last two bullets here required splitting the DO_TEST macro into
      two halves, as is done in the xmconfigtest.c case.
      
      In order to introduce a use of VIR_WARN for logging I had to add
      virerror.h and VIR_LOG_INIT.
      Signed-off-by: NIan Campbell <ian.campbell@citrix.com>
      daeace5c
  14. 20 1月, 2016 1 次提交
    • J
      conf: Add storage pool device attribute part_separator · 4f846170
      John Ferlan 提交于
      Add a new storage pool source device attribute 'part_separator=[yes|no]'
      in order to allow a 'disk' storage pool using a device mapper multipath
      device to not add the "p" partition separator to the generated device
      name when libvirt_parthelper is run.
      
      This will allow libvirt to find device mapper multipath devices which were
      configured in /etc/multipath.conf to use 'user_friendly_names' or custom
      'alias' names for the LUN.
      4f846170
  15. 18 1月, 2016 1 次提交
  16. 13 1月, 2016 1 次提交
  17. 12 1月, 2016 5 次提交
  18. 11 1月, 2016 2 次提交
    • C
      qemu: command: wire up usage of q35/ich9 disable s3/s4 · fde937bd
      Cole Robinson 提交于
      If the q35 specific disable s3/s4 setting isn't supported, fallback to
      specifying the PIIX setting, which is the previous behavior. It doesn't
      have any effect, but qemu will just warn about it rather than error:
      
        qemu-system-x86_64: Warning: global PIIX4_PM.disable_s3=1 not used
        qemu-system-x86_64: Warning: global PIIX4_PM.disable_s4=1 not used
      
      Since it doesn't error, I don't think we should either, since there
      may be configs in the wild that already have q35 + disable_s3/4 (via
      virt-manager)
      fde937bd
    • C
      qemu: caps: check for q35/ICH9 disable S3/S4 · c77fd890
      Cole Robinson 提交于
      Update test data to match
      c77fd890