1. 21 11月, 2014 3 次提交
    • P
      conf: Add channel state for virtio channels to the XML · 24c25a68
      Peter Krempa 提交于
      To track state of virtio channels this patch adds a new output-only
      attribute called 'state' to the <target> element of virtio channels.
      
      This will be later populated with the guest state of the channel.
      24c25a68
    • P
      qemu: monitor: Rename and improve qemuMonitorGetPtyPaths · e9a45069
      Peter Krempa 提交于
      To unify future additions that require information from "query-chardev"
      rename qemuMonitorGetPtyPaths and friends to qemuMonitorGetChardevInfo
      and move the allocation of the returned hash into the top level
      function.
      e9a45069
    • P
      test: xml2xml: Print full filenames if xml2xml test fails · c5942a9f
      Peter Krempa 提交于
      To simplify looking for a problem instrument the XML comparator function
      with possibility to print the filename of the failed/expected XML
      output.
      
      This is necessary as the VIR_TEST_DIFFERENT macro possibly tests two XML
      files for the inactive/active state and the resulting error may not be
      obvious.
      c5942a9f
  2. 19 11月, 2014 1 次提交
    • E
      virdbus: don't force users to pass int for bool values · 2aa167ca
      Eric Blake 提交于
      Use of an 'int' to represent a 'bool' value is confusing.  Just
      because dbus made the mistake of cementing their 4-byte wire
      format of dbus_bool_t into their API doesn't mean we have to
      repeat the mistake.  With a little bit of finesse, we can
      guarantee that we provide a large-enough value to the DBus
      code, while still copying only the relevant one-byte bool
      to the client code, and isolate the rest of our code base from
      the DBus stupidity.
      
      * src/util/virdbus.c (GET_NEXT_VAL): Add parameter.
      (virDBusMessageIterDecode): Adjust all clients.
      * src/util/virpolkit.c (virPolkitCheckAuth): Use nicer type.
      * tests/virdbustest.c (testMessageSimple, testMessageStruct):
      Test new behavior.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      2aa167ca
  3. 15 11月, 2014 2 次提交
  4. 14 11月, 2014 2 次提交
  5. 13 11月, 2014 1 次提交
    • C
      drvbhyve: Use boot-order for grub-bhyve boot device · cdbb21bc
      Conrad Meyer 提交于
      Rather than just picking the first CD (or failing that, HDD) we come
      across, if the user has picked a boot device ordering with <boot
      order=''>, respect that (and just try to boot the lowest-index device).
      
      Adds two sets of tests to bhyve2xmlargv; 'grub-bootorder' shows that we
      pick a user-specified device over the first device in the domain;
      'grub-bootorder2' shows that we pick the first (lowest index) device.
      cdbb21bc
  6. 12 11月, 2014 5 次提交
    • M
      qemuxml2argvtest: Run some test only on Linux · 8d659b17
      Michal Privoznik 提交于
      As I was reviewing bhyve commits, I've noticed qemuxml2argvtest
      failing for some test cases. This is not bug in qemu driver code
      rather than being unable to load qemuxml2argvmock on non-Linux
      platforms. For instance:
      
      318) QEMU XML-2-ARGV numatune-memnode
      ... libvirt:  error : internal error: NUMA node 0 is unavailable
      FAILED
      
      Rather than disabling qemuxml2argvtest on BSD (we do compile qemu
      driver there) disable only those test cases which require mocking.
      To achieve that goal new DO_TEST_LINUX() macro is introduced which
      invokes the test case on Linux only and consume arguments on other
      systems.
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      8d659b17
    • J
      storage: Introduce 'managed' for the fchost parent · 5530f248
      John Ferlan 提交于
      https://bugzilla.redhat.com/show_bug.cgi?id=1160926
      
      Introduce a 'managed' attribute to allow libvirt to decide whether to
      delete a vHBA vport created via external means such as nodedev-create.
      The code currently decides whether to delete the vHBA based solely on
      whether the parent was provided at creation time. However, that may not
      be the desired action, so rather than delete and force someone to create
      another vHBA via an additional nodedev-create allow the configuration of
      the storage pool to decide the desired action.
      
      During createVport when libvirt does the VPORT_CREATE, set the managed
      value to YES if not already set to indicate to the deleteVport code that
      it should delete the vHBA when the pool is destroyed.
      
      If libvirtd is restarted all the memory only state was lost, so for a
      persistent storage pool, use the virStoragePoolSaveConfig in order to
      write out the managed value.
      
      Because we're now saving the current configuration, we need to be sure
      to not save the parent in the output XML if it was undefined at start.
      Saving the name would cause future starts to always use the same parent
      which is not the expected result when not providing a parent. By not
      providing a parent, libvirt is expected to find the best available
      vHBA port for each subsequent (re)start.
      
      At deleteVport, use the new managed value to decide whether to execute
      the VPORT_DELETE.  Since we no longer save the parent in memory or in
      XML when provided, if it was not provided, then we have to look it up.
      5530f248
    • C
      bhyvexml2argv: Add test for grub console support · a52b56b3
      Conrad Meyer 提交于
      a52b56b3
    • C
      cf133ed1
    • C
      bhyvexml2argv: Add loader argv tests. · f2ce9d36
      Conrad Meyer 提交于
      f2ce9d36
  7. 11 11月, 2014 1 次提交
  8. 10 11月, 2014 3 次提交
  9. 07 11月, 2014 1 次提交
  10. 06 11月, 2014 3 次提交
  11. 04 11月, 2014 2 次提交
  12. 03 11月, 2014 1 次提交
  13. 30 10月, 2014 2 次提交
  14. 29 10月, 2014 1 次提交
    • E
      maint: avoid static zero init in tests · a396c11e
      Eric Blake 提交于
      C guarantees that static variables are zero-initialized.  Some older
      compilers (and also gcc -fno-zero-initialized-in-bss) create larger
      binaries if you explicitly zero-initialize a static variable.
      
      * tests/eventtest.c: Fix initialization.
      * tests/testutils.c: Likewise.
      * tests/virhostdevtest.c: Likewise.
      * tests/virportallocatortest.c: Likewise.
      * tests/virscsitest.c: Likewise.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      a396c11e
  15. 25 10月, 2014 2 次提交
    • J
      tests: Add SELINUX_LIBS to fix viridentitytest linker bug · f2a2d0e9
      Julio Faracco 提交于
      In a clean build system (Ubuntu 14.04), the viridentitytest failed to compile.
      Even if all the SELINUX libraries and depedencies are installed. See the error
      message below:
      
      [...]
        CC       viridentitytest.o
        CCLD     viridentitytest
      /usr/bin/ld: viridentitytest.o: undefined reference to symbol
                                                             'security_disable'
      //lib/x86_64-linux-gnu/libselinux.so.1: error adding symbols: DSO missing
                                                                 from command line
      collect2: error: ld returned 1 exit status
      make: *** [viridentitytest] Error 1
      
      Simply adding the variable SELINUX_LIBS in viridentitytest rules of
      Makefile.am to include SELINUX libraries into viridentitytest solved that
      compilation issue.
      Signed-off-by: NJulio Faracco <jcfaracco@gmail.com>
      Signed-off-by: NEric Blake <eblake@redhat.com>
      f2a2d0e9
    • D
      Fix indentation of sysinfo data · 0d36a5d0
      Daniel P. Berrange 提交于
      The <sysinfo> data block was indented by 2 spaces too many.
      This was missed because we never had any test validating
      the XML formatting.
      0d36a5d0
  16. 20 10月, 2014 2 次提交
    • M
      tests: fix incorrect caps for shmem-invalid-size, shmem-small-size · e80be99f
      Maxime Leroy 提交于
      VIR_TEST_DEBUG=2 ./qemuxml2argvtest generates the following output:
      
      409) QEMU XML-2-ARGV shmem-invalid-size
      ... Got expected error: unsupported configuration: ivshmem device is not \
      	 supported with this QEMU binary
      OK
      410) QEMU XML-2-ARGV shmem-small-size
      ... Got expected error: unsupported configuration: ivshmem device is not \
      supported with this QEMU binary
      OK
      
      We should have:
      
      409) QEMU XML-2-ARGV shmem-invalid-size
      ... Got expected error: XML error: shmem size must be a power of two
      OK
      410) QEMU XML-2-ARGV shmem-small-size
      ... Got expected error: XML error: shmem size must be at least 1 MiB
      OK
      
      This commit fixes the issue by providing QEMU_CAPS_DEVICE_IVSHMEM caps
      for shmem-invalid-size, shmem-small-size test.
      Signed-off-by: NMaxime Leroy <maxime.leroy@6wind.com>
      e80be99f
    • M
      conf: tests: fix virDomainNetDefFormat for vhost-user in client mode · 30272074
      Maxime Leroy 提交于
      The mode attribute is required for the source element of vhost-user.
      Thus virDomainNetDefFormat should always generate a xml with it and not
      only when the mode is server.
      
      The commit fixes the issue. And it adds a vhostuser interface in
      'client' mode to qemuxml2argv-net-vhostuser.(args|xml) to test this
      usecase.
      Signed-off-by: NMaxime Leroy <maxime.leroy@6wind.com>
      30272074
  17. 15 10月, 2014 3 次提交
  18. 07 10月, 2014 1 次提交
    • L
      qemu: qemuMonitorQueryRxFilter - retrieve guest netdev rx-filter · ab989962
      Laine Stump 提交于
      This function can be called at any time to get the current status of a
      guest's network device rx-filter. In particular it is useful to call
      after libvirt recieves a NIC_RX_FILTER_CHANGED event - this event only
      tells you that something has changed in the rx-filter, the details are
      retrieved with the query-rx-filter monitor command (only available in
      the json monitor). The command sent to the qemu monitor looks like this:
      
        {"execute":"query-rx-filter", "arguments": {"name":"net2"} }'
      
      and the results will look something like this:
      
      {
          "return": [
              {
                  "promiscuous": false,
                  "name": "net2",
                  "main-mac": "52:54:00:98:2d:e3",
                  "unicast": "normal",
                  "vlan": "normal",
                  "vlan-table": [
                      42,
                      0
                  ],
                  "unicast-table": [
      
                  ],
                  "multicast": "normal",
                  "multicast-overflow": false,
                  "unicast-overflow": false,
                  "multicast-table": [
                      "33:33:ff:98:2d:e3",
                      "01:80:c2:00:00:21",
                      "01:00:5e:00:00:fb",
                      "33:33:ff:98:2d:e2",
                      "01:00:5e:00:00:01",
                      "33:33:00:00:00:01"
                  ],
                  "broadcast-allowed": false
              }
          ],
          "id": "libvirt-14"
      }
      
      This is all parsed from JSON into a virNetDevRxFilter object for
      easier consumption. (unicast-table is usually empty, but is also an
      array of mac addresses similar to multicast-table).
      
      (NB: LIBNL_CFLAGS was added to tests/Makefile.am because virnetdev.h
      now includes util/virnetlink.h, which includes netlink/msg.h when
      appropriate. Without LIBNL_CFLAGS, gcc can't find that file (if
      libnl/netlink isn't available, LIBNL_CFLAGS will be empty and
      virnetlink.h won't try to include netlink/msg.h anyway).)
      ab989962
  19. 06 10月, 2014 1 次提交
    • L
      conf: add trustGuestRxFilters attribute to network and domain interface · 07450cd4
      Laine Stump 提交于
      This new attribute will control whether or not libvirt will pay
      attention to guest notifications about changes to network device mac
      addresses and receive filters. The default for this is 'no' (for
      security reasons). If it is set to 'yes' *and* the specified device
      model and connection support it (currently only macvtap+virtio) then
      libvirt will watch for NIC_RX_FILTER_CHANGED events, and when it
      receives one, it will issue a query-rx-filter command, retrieve the
      result, and modify the host-side macvtap interface's mac address and
      unicast/multicast filters accordingly.
      
      The functionality behind this attribute will be in a later patch. This
      patch merely adds the attribute to the top-level of a domain's
      <interface> as well as to <network> and <portgroup>, and adds
      documentation and schema/xml2xml tests. Rather than adding even more
      test files, I've just added the net attribute in various applicable
      places of existing test files.
      07450cd4
  20. 04 10月, 2014 3 次提交