1. 22 5月, 2015 1 次提交
    • M
      sysinfo: Fix reports on ARM · 85128e29
      Michal Privoznik 提交于
      Due to a kernel commit (b4b8f770e), cpuinfo format has changed on
      ARMs. Firstly, 'Processor: ...' may not be reported, it's
      replaced by 'model name: ...'. Secondly, the "Processor" string
      may occur in CPU name, e.g. 'ARMv7 Processor rev 5 (v7l)'.
      Therefore, we must firstly look for 'model name' and then for
      'Processor' if not found.
      Moreover, lines in the cpuinfo file are shuffled, so we better
      not manipulate the pointer to start of internal buffer as we may
      lost some info.
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      85128e29
  2. 21 5月, 2015 3 次提交
  3. 19 5月, 2015 3 次提交
    • J
      xenconfig: fix spice mousemode and copypaste · a5b55bd9
      Jim Fehlig 提交于
      From xl.cfg950 man page:
      
      spiceagent_mouse=BOOLEAN
      Whether SPICE agent is used for client mouse mode. The default is
      true (1) (turn on)
      
      spicevdagent=BOOLEAN
      Enables spice vdagent. The Spice vdagent is an optional component for
      enhancing user experience and performing guest-oriented management
      tasks. Its features includes: client mouse mode (no need to grab
      mouse by client, no mouse lag), automatic adjustment of screen
      resolution, copy and paste (text and image) between client and domU.
      It also requires vdagent service installed on domU o.s. to work.
      The default is 0.
      
      spice_clipboard_sharing=BOOLEAN
      Enables Spice clipboard sharing (copy/paste). It requires spicevdagent
      enabled. The default is false (0).
      
      So if spiceagent_mouse is enabled (client mouse mode) or
      spice_clipboard_sharing is enabled, spicevdagent must be enabled.
      Along with this change, s/spicedvagent/spicevdagent, set
      spiceagent_mouse correctly, and add a test for these spice
      features.
      Signed-off-by: NJim Fehlig <jfehlig@suse.com>
      a5b55bd9
    • J
      xenconfig: fix spicepasswd handling · a460295f
      Jim Fehlig 提交于
      The logic related to spicedisable_ticketing and spicepasswd was
      inverted.  As per man xl.cfg(5), 'spicedisable_ticketing = 1'
      means no passwd is required.  On the other hand, a passwd is
      required if 'spicedisable_ticketing = 0'.  Fix the logic and
      produce and error if 'spicedisable_ticketing = 0' but spicepasswd
      is not provided.  Also fix the spice cfg test file.
      Signed-off-by: NJim Fehlig <jfehlig@suse.com>
      a460295f
    • J
      xenconfig: format spice listenAddr when formating ports · e21b1180
      Jim Fehlig 提交于
      Move formating of spice listenAddr to the section of code
      where spice ports are formatted.  It is more logical to
      format address and ports together.  Account for the change
      in spice cfg test file by moving 'spicehost'.
      Signed-off-by: NJim Fehlig <jfehlig@suse.com>
      e21b1180
  4. 18 5月, 2015 2 次提交
  5. 16 5月, 2015 3 次提交
    • L
      qemu: log error when domain has an unsupported IDE controller · eadd757c
      Laine Stump 提交于
      We have previously effectively ignored all <controller type='ide'>
      elements in a domain definition.
      
      On the i440fx-based machinetypes there is an IDE controller that is
      included in the chipset and can't be removed (which is the ide
      controller with index='0'>), so it makes sense to ignore that one
      controller. However, if an i440fx domain definition has a 2nd
      controller, nothing catches this error (unless you also have a disk
      attached to it, in which case qemu will complain that you're trying to
      use the ide controller named "ide1", which doesn't exist), and if any
      other type of domain has even a single controller defined, it will be
      incorrectly ignored.
      
      Ignoring a bogus controller definition isn't such a big problem, as
      long as an error is logged when any disk is attached to that
      non-existent controller. But in the case of q35-based machinetypes,
      the hardcoded id ("alias" in libvirt terms) of its builtin SATA
      controller is "ide", which happens to be the same id as the builtin
      IDE controller on i440fx machinetypes. So libvirt creates a
      commandline believing that it is connecting the disk to the builtin
      (but actually nonexistent) IDE controller, qemu thinks that libvirt
      wanted that disk connected to the builtin SATA controller, and
      everybody is happy.
      
      Until you try to connect a 2nd disk to the IDE controller. Then qemu
      will complain that you're trying to set unit=1 on a controller that
      requires unit=0 (SATA controllers are organized differently than IDE
      controllers).
      
      After this patch, if a domain has an IDE controller defined for a
      machinetype that has no IDE controllers, libvirt will log an error
      about the controller itself as it is building the qemu commandline
      (rather than a (possible) error from qemu about disks attached to that
      controller). This is done by adding IDE to the list of controller
      types that are handled in the loop that creates controller command
      strings in qemuBuildCommandline() (previously it would *always* skip
      IDE controllers). Then qemuBuildControllerDevStr() is modified to log
      an appropriate error in the case of IDE controllers.
      
      In the future, if we add support for extra IDE controllers (piix3-ide
      and/or piix4-ide) we can just add it into the IDE case in
      qemuBuildControllerDevStr(). For now, nobody seems anxious to add
      extra support for an aging and very slow controller, when there are so
      many better options available.
      
      Resolves:
      
      https://bugzilla.redhat.com/show_bug.cgi?id=1176071 (Fedora)
      eadd757c
    • L
      qemu: remove test for allowing ide controller in s390, rename usb tests · 548ba430
      Laine Stump 提交于
      Back in 2013, commit 877bc089 added in some tests that made sure no
      error was generated on a domain definition that had an automatically
      added usb controller if that domain didn't have a PCI bus to attach
      the usb controller to. This was done because, at that time, libvirt
      was automatically adding a usb controller to *any* domain definition
      that didn't have one.  Along with permitting the controller, two
      s390-specific tests were added to ensure this behavior was maintained
      - one with <controller type='usb' model='none'/> and another (called
      "s390-piix-controllers") that had both usb and ide controllers, but
      nothing attached to them.
      
      Then in February of this year, commit 09ab9dcc eliminated the annoying
      auto-adding of a usb device for s390 and s390x machines, stating:
      
       "Since s390 does not support usb the default creation of a usb
        controller for a domain should not occur."
      
      Although, as verified here, the s390 doesn't support usb, and usb
      controllers aren't currently added to s390 domain definitions
      automatically, there are likely still some domain definitions in the
      wild that have a usb controller (which was added *by libvirt*, not by
      the user), so we will keep the tests verifying that behavior for
      now. But this patch changes the names of the tests to reflect that
      they don't actually contain a valid s390 config; this way future
      developers won't propagate the incorrect idea that an s390 virtual
      machine can have a USB (or IDE) bus.
      
      In the case of the IDE controller, though, libvirt has never
      automatically added an IDE controller unless a user added an IDE disk
      (which itself would have caused an error), and we specifically *do*
      want to begin generating an error when someone tries to add an IDE
      controller to a domain that can't support one. For that reason, while
      renaming the sz390-piix-controllers patch, this patch removes the
      <controller type='ide'...> from it (otherwise the upcoming patch would
      break make check)
      548ba430
    • L
      qemu: use controller alias when constructing device/controller args · 0260506c
      Laine Stump 提交于
      This makes sure that that the commandlines generated for devices and
      controller devices are all using the alias that has been set in the
      controller's object as the id of the controller, rather than
      hardcoding a printf (or worse, encoding exceptions to the standard
      ${controller}${index} into the logic)
      
      Since this "fixes" the controller name used for the sata controller,
      the commandline arg for the sata controller in the sata test case had
      to be adjusted to be "sata0" instead of "ahci0". All other tests
      remain unchanged, verifying that the patch causes no other functional
      change.
      
      Because the function that finds a controller alias based on a device
      def requires a pointer to the full domainDef in order to get the list
      of controllers, the arglist of a few functions had to have this added.
      0260506c
  6. 14 5月, 2015 1 次提交
  7. 12 5月, 2015 1 次提交
    • R
      bhyve: fix bhyvexml2argvtest build with gcc · 846cc14c
      Roman Bogorodskiy 提交于
      gcc5 reports an error like this:
      
      bhyvexml2argvtest.c: In function 'testCompareXMLToArgvFiles':
      bhyvexml2argvtest.c:24:18: error: variable 'vm' set but not used
      [-Werror=unused-but-set-variable]
           virDomainObj vm;
                        ^
      cc1: all warnings being treated as errors
      
      Fix by dropping this variable.
      846cc14c
  8. 08 5月, 2015 1 次提交
    • C
      caps: Fix regression defaulting to host arch · 8910e063
      Cole Robinson 提交于
      My commit 747761a7 (v1.2.15 only) dropped this bit of logic when filling
      in a default arch in the XML:
      
      -    /* First try to find one matching host arch */
      -    for (i = 0; i < caps->nguests; i++) {
      -        if (caps->guests[i]->ostype == ostype) {
      -            for (j = 0; j < caps->guests[i]->arch.ndomains; j++) {
      -                if (caps->guests[i]->arch.domains[j]->type == domain &&
      -                    caps->guests[i]->arch.id == caps->host.arch)
      -                    return caps->guests[i]->arch.id;
      -            }
      -        }
      -    }
      
      That attempt to match host.arch is important, otherwise we end up
      defaulting to i686 on x86_64 host for KVM, which is not intended.
      Duplicate it in the centralized CapsLookup function.
      
      Additionally add some testcases that would have caught this.
      
      https://bugzilla.redhat.com/show_bug.cgi?id=1219191
      8910e063
  9. 07 5月, 2015 1 次提交
    • C
      tests: Remove redundant aarch64 tests · fd74e231
      Cole Robinson 提交于
      My commit 7b9de914 added some aarch64 CPU test cases. I wanted to test
      two different code paths but inadvertently added two of the same test
      cases.
      
      The second code path (using <cpu><model>host</model</cpu>) isn't easily
      exercised via the qemu tests anyways, I'll need to look elsewhere.
      
      Regardless, remove the redundant tests for now
      fd74e231
  10. 05 5月, 2015 1 次提交
  11. 04 5月, 2015 2 次提交
  12. 30 4月, 2015 2 次提交
  13. 29 4月, 2015 1 次提交
    • C
      domain: conf: Drop unused OSTYPE_AIX · 066f7c7c
      Cole Robinson 提交于
      The phyp driver stuffed it into a DomainDefPtr during its attachdevice
      routine, but the value is never advertised via capabilities so it should
      be safe to drop.
      
      Have the phyp driver use OSTYPE_LINUX, which is what it advertises via
      capabilities.
      066f7c7c
  14. 28 4月, 2015 8 次提交
    • M
      922563e7
    • Z
      tests: free ChardevInfo correctly in qemumonitorjsontest · e6bb6220
      Zhang Bo 提交于
      The free callback should be qemuMonitorChardevInfoFree rather
      than just 'free' when virHashCreate'ing the chardevInfo hash.
      
      ==29959== 24 bytes in 2 blocks are definitely lost in loss record 19 of 53
      ==29959==    at 0x4C29F80: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
      ==29959==    by 0xB95C679: strdup (in /lib64/libc-2.20.so)
      ==29959==    by 0x63C6546: virStrdup (virstring.c:709)
      ==29959==    by 0x4805ED: qemuMonitorJSONExtractChardevInfo (qemu_monitor_json.c:3429)
      ==29959==    by 0x4807A5: qemuMonitorJSONGetChardevInfo (qemu_monitor_json.c:3479)
      ==29959==    by 0x434AEC: testQemuMonitorJSONqemuMonitorJSONGetChardevInfo (qemumonitorjsontest.c:1824)
      ==29959==    by 0x436F2F: virtTestRun (testutils.c:211)
      ==29959==    by 0x436932: mymain (qemumonitorjsontest.c:2404)
      ==29959==    by 0x4382EA: virtTestMain (testutils.c:863)
      ==29959==    by 0x436B27: main (qemumonitorjsontest.c:2423)
      Signed-off-by: NZhang Bo <oscar.zhangbo@huawei.com>
      Signed-off-by: NZhou Yimin <zhouyimin@huawei.com>
      e6bb6220
    • J
      qemu: Remove need for qemuMonitorIOThreadInfoFree · b515339f
      John Ferlan 提交于
      Replace with just VIR_FREE.
      b515339f
    • J
      qemu: Remove need for qemuDomainParseIOThreadAlias · 4c2ca566
      John Ferlan 提交于
      Rather than have a separate routine to parse the alias of an iothread
      returned from qemu in order to get the iothread_id value, parse the alias
      when returning and just return the iothread_id in qemuMonitorIOThreadInfoPtr
      
      This set of patches removes the function, changes the "char *name" to
      "unsigned int" and handles all the fallout.
      4c2ca566
    • L
      test: Fix actual vs. expected in virtTestCompareFiles · dcbedfa6
      Laine Stump 提交于
      Commit ca329299 added a utility function virtTestCompareFiles() to
      eliminate repetitive code in several test programs. It unfortunately
      calls virtTestDifference() with the arguments in the wrong order -
      strcontent is the "actual" output gathered by the test rig, while
      filecontent is the "expected", and virtTestDifference() wants expected
      (filecontent) followed by actual (strcontent), but
      virtTestCompareFiles() does the opposite, which can make the output a
      bit confusing when there is a failure.
      dcbedfa6
    • J
      conf: Adjust the iothreadsched expectations · 4dec8a01
      John Ferlan 提交于
      With iothreadid's allowing any 'id' value for an iothread_id, the
      iothreadsched code needs a slight adjustment to allow for "any"
      unsigned int value in order to create the bitmap of ids that will
      have scheduler adjustments. Adjusted the doc description as well.
      4dec8a01
    • J
      Move iothreadspin information into iothreadids · b266486f
      John Ferlan 提交于
      Remove the iothreadspin array from cputune and replace with a cpumask
      to be stored in the iothreadids list.
      
      Adjust the test output because our printing goes in order of the iothreadids
      list now.
      b266486f
    • J
      qemu: Use domain iothreadids to IOThread's 'thread_id' · 8d4614a5
      John Ferlan 提交于
      Add 'thread_id' to the virDomainIOThreadIDDef as a means to store the
      'thread_id' as returned from the live qemu monitor data.
      
      Remove the iothreadpids list from _qemuDomainObjPrivate and replace with
      the new iothreadids 'thread_id' element.
      
      Rather than use the default numbering scheme of 1..number of iothreads
      defined for the domain, use the iothreadid's list for the iothread_id
      
      Since iothreadids list keeps track of the iothread_id's, these are
      now used in place of the many places where a for loop would "know"
      that the ID was "+ 1" from the array element.
      
      The new tests ensure usage of the <iothreadid> values for an exact number
      of iothreads and the usage of a smaller number of <iothreadid> values than
      iothreads that exist (and usage of the default numbering scheme).
      8d4614a5
  15. 27 4月, 2015 4 次提交
  16. 25 4月, 2015 1 次提交
  17. 24 4月, 2015 5 次提交