[libvirt] [PATCH 0/4] first part of configure cleanup and one bug fix
by Pavel Hrdina
Pavel Hrdina (4):
configure: cleanup openwsman leftovers
configure: remove check for CPUID
m4/virt-lib: properly pass header_name in LIBVIRT_CHECK_LIB(_ALT)
configure: sort libvirt macros
configure.ac | 32 ++++----------------------------
m4/virt-lib.m4 | 6 +++---
src/cpu/cpu_x86.c | 4 ++--
3 files changed, 9 insertions(+), 33 deletions(-)
--
2.11.0
7 years, 11 months
[libvirt] [RFC] phi support in libvirt
by Feng, Shaohe
Hi all:
As we are know Intel® Xeon phi targets high-performance computing and other parallel workloads.
Now qemu has supported phi virtualization,it is time for libvirt to support phi.
Different from the traditional X86 server, There is a special numa node with Multi-Channel DRAM (MCDRAM) on Phi, but without any CPU .
Now libvirt requires nonempty cpus argument for NUMA node, such as.
<numa>
<cell id='0' cpus='0-239' memory='80' unit='GiB'/>
<cell id='1' cpus='240-243' memory='16' unit='GiB'/>
</numa>
In order to support phi virtualization, libvirt needs to allow a numa cell definition without 'cpu' attribution.
Such as:
<numa>
<cell id='0' cpus='0-239' memory='80' unit='GiB'/>
<cell id='1' memory='16' unit='GiB'/>
</numa>
When a cell without 'cpu', qemu will allocate memory by default MCDRAM instead of DDR.
Now here I'd like to discuss these questions:
1. This feature is only for Phi at present, but we will check Phi platform for CPU-less NUMA node.
The NUMA node without CPU indicates MCDRAM node. And for now MCDRAM is available only for PHI.
However, there is no reason that any other platform couldn’t define CPU-less NUMA node using libvirt, so there is no reason to check if PHI is used or not.
2. Type of memory of CPU-less NUMA node will not be checked during machine creation/configuration step.
There is no reliable way to distinguish if the node is MCDRAM or regular DDR. This step is not concerned with type of the memory, only with NUMA assignment.
3. Unlike traditional memory assign to a VM, MCDRAM do not support over commit
If the memory of a virtual NUMA node is going to be explicitly bound to physical NUMA node then it shouldn’t exceed the size of its corresponding NUMA node, doesn’t matter if it is MCDRAM or DDR.
4. Make sure at least one numa must include a CPU info field be passed to qemu.
At least one NUMA node must define list of CPUs assigned, or if none has it assigned by default assign all CPUs to virtual NUMA node 0.
More info for phi:
Knights Landing Key Information
Software Resources
• Intel® Xeon Phi™ Product Family Main Page<http://www.intel.com/content/www/us/en/processors/xeon/xeon-phi-detail.html>
• Intel® Xeon Phi™ Processor Press Kit<https://newsroom.intel.com/press-kits/intel-isc/>
• Intel® Xeon Phi™ Processor SKU Details<http://mark.intel.com/products/family/92650/Intel-Xeon-Phi-Product-Family...>
• Updated Intel® Xeon Phi™ Application Proof Points<https://software.intel.com/en-us/articles/intel-xeon-phi-processor-applic...>
• Intel® Xeon Phi™ Public Performance Data<http://www.intel.com/content/www/us/en/benchmarks/server/xeon-phi/xeon-ph...>
• Developer Access Program (DAP)<http://dap.xeonphi.com/#platformspecs>
• Knights Landing – Public Disclosures<https://software.intel.com/en-us/articles/what-disclosures-has-intel-made...>
• Intel® Modern Code<https://software.intel.com/en-us/modern-code>
• Intel® Xeon Phi™ Software Code Recipes<https://software.intel.com/en-us/xeon-phi/x200-processor>
• Intel® Xeon Phi™ SW Tools and Libraries<https://software.intel.com/en-us/xeon-phi/x200-processor>
• Machine Learning<https://software.intel.com/en-us/machine-learning>
• Intel® Xeon Phi™ Processor Software<https://software.intel.com/en-us/articles/intel-xeon-phi-processor-software>
• Intel® Software Tools Technical Webinar Series<http://software.intel.com/en-us/articles/intel-software-tools-technical-w...>
• Intel® Xeon Phi™ Coprocessor – Applications and Solutions Catalog<https://software.intel.com/en-us/articles/intel-xeon-phi-coprocessor-appl...>
• Intel® MIC Developer Zone<http://software.intel.com/mic-developer>
• Intel® Xeon Phi™ Processor Product Family Early Release Software and Tools<https://software.intel.com/en-us/xeon-phi-nda/tools> (request access to the site here<https://software.intel.com/en-us/form/intel-xeon-phi-nda-site-access-request>)
• Intel® Parallel Studio XE Tools and Libraries<https://software.intel.com/en-us/free_tools_and_libraries>
7 years, 11 months
[libvirt] [PATCH v2 1/2] perf: add one more perf event support
by Nitesh Konkar
With current perf framework, this patch adds support and documentation
for branch instructions perf event.
Signed-off-by: Nitesh Konkar <nitkon12(a)linux.vnet.ibm.com>
---
docs/formatdomain.html.in | 6 ++++++
docs/schemas/domaincommon.rng | 1 +
include/libvirt/libvirt-domain.h | 10 ++++++++++
src/libvirt-domain.c | 3 +++
src/qemu/qemu_driver.c | 1 +
src/util/virperf.c | 6 +++++-
src/util/virperf.h | 2 ++
tests/genericxml2xmlindata/generic-perf.xml | 1 +
tools/virsh.pod | 3 +++
9 files changed, 32 insertions(+), 1 deletion(-)
diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in
index 6bd02cc..ee8d312 100644
--- a/docs/formatdomain.html.in
+++ b/docs/formatdomain.html.in
@@ -1927,6 +1927,7 @@
<event name='instructions' enabled='yes'/>
<event name='cache_references' enabled='no'/>
<event name='cache_misses' enabled='no'/>
+ <event name='branch_instructions' enabled='no'/>
</perf>
...
</pre>
@@ -1972,6 +1973,11 @@
<td>the count of cache misses by applications running on the platform</td>
<td><code>perf.cache_misses</code></td>
</tr>
+ <tr>
+ <td><code>branch_instructions</code></td>
+ <td>the count of branch instructions by applications running on the platform</td>
+ <td><code>perf.branch_instructions</code></td>
+ </tr>
</table>
<h3><a name="elementsDevices">Devices</a></h3>
diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng
index bb903ef..5fdc036 100644
--- a/docs/schemas/domaincommon.rng
+++ b/docs/schemas/domaincommon.rng
@@ -427,6 +427,7 @@
<value>instructions</value>
<value>cache_references</value>
<value>cache_misses</value>
+ <value>branch_instructions</value>
</choice>
</attribute>
<attribute name="enabled">
diff --git a/include/libvirt/libvirt-domain.h b/include/libvirt/libvirt-domain.h
index a8435ab..aad2541 100644
--- a/include/libvirt/libvirt-domain.h
+++ b/include/libvirt/libvirt-domain.h
@@ -2125,6 +2125,16 @@ void virDomainStatsRecordListFree(virDomainStatsRecordPtr *stats);
*/
# define VIR_PERF_PARAM_CPU_CYCLES "cpu_cycles"
+/**
+ * VIR_PERF_PARAM_BRANCH_INSTRUCTIONS:
+ *
+ * Macro for typed parameter name that represents branch instructions
+ * perf event which can be used to measure the count of branch instructions
+ * by applications running on the platform. It corresponds to the
+ * "perf.branch_instructions" field in the *Stats APIs.
+ */
+# define VIR_PERF_PARAM_BRANCH_INSTRUCTIONS "branch_instructions"
+
int virDomainGetPerfEvents(virDomainPtr dom,
virTypedParameterPtr *params,
int *nparams,
diff --git a/src/libvirt-domain.c b/src/libvirt-domain.c
index ce199f0..fa28217 100644
--- a/src/libvirt-domain.c
+++ b/src/libvirt-domain.c
@@ -11213,6 +11213,9 @@ virConnectGetDomainCapabilities(virConnectPtr conn,
* "perf.cpu_cycles" - The count of cpu cycles (total/elapsed) as an
* unsigned long long. It is produced by cpu_cycles
* perf event.
+ * "perf.branch_instructions" - The count of branch instructions as unsigned
+ * long long. It is produced by branch_instructions
+ * perf event.
*
* Note that entire stats groups or individual stat fields may be missing from
* the output in case they are not supported by the given hypervisor, are not
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index 3517aa2..c7fad30 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -9852,6 +9852,7 @@ qemuDomainSetPerfEvents(virDomainPtr dom,
VIR_PERF_PARAM_INSTRUCTIONS, VIR_TYPED_PARAM_BOOLEAN,
VIR_PERF_PARAM_CACHE_REFERENCES, VIR_TYPED_PARAM_BOOLEAN,
VIR_PERF_PARAM_CACHE_MISSES, VIR_TYPED_PARAM_BOOLEAN,
+ VIR_PERF_PARAM_BRANCH_INSTRUCTIONS, VIR_TYPED_PARAM_BOOLEAN,
NULL) < 0)
return -1;
diff --git a/src/util/virperf.c b/src/util/virperf.c
index 5d57962..635faf1 100644
--- a/src/util/virperf.c
+++ b/src/util/virperf.c
@@ -40,7 +40,8 @@ VIR_LOG_INIT("util.perf");
VIR_ENUM_IMPL(virPerfEvent, VIR_PERF_EVENT_LAST,
"cmt", "mbmt", "mbml",
"cpu_cycles", "instructions",
- "cache_references", "cache_misses");
+ "cache_references", "cache_misses",
+ "branch_instructions");
struct virPerfEvent {
int type;
@@ -85,6 +86,9 @@ static struct virPerfEventAttr attrs[] = {
{.type = VIR_PERF_EVENT_CACHE_MISSES,
.attrType = PERF_TYPE_HARDWARE,
.attrConfig = PERF_COUNT_HW_CACHE_MISSES},
+ {.type = VIR_PERF_EVENT_BRANCH_INSTRUCTIONS,
+ .attrType = PERF_TYPE_HARDWARE,
+ .attrConfig = PERF_COUNT_HW_BRANCH_INSTRUCTIONS},
};
typedef struct virPerfEventAttr *virPerfEventAttrPtr;
diff --git a/src/util/virperf.h b/src/util/virperf.h
index 3fca2d0..8ebc03c 100644
--- a/src/util/virperf.h
+++ b/src/util/virperf.h
@@ -36,6 +36,8 @@ typedef enum {
VIR_PERF_EVENT_INSTRUCTIONS, /* Count of instructions for application */
VIR_PERF_EVENT_CACHE_REFERENCES, /* Cache hits by applications */
VIR_PERF_EVENT_CACHE_MISSES, /* Cache misses by applications */
+ VIR_PERF_EVENT_BRANCH_INSTRUCTIONS, /* Count of branch instructions
+ for applications */
VIR_PERF_EVENT_LAST
} virPerfEventType;
diff --git a/tests/genericxml2xmlindata/generic-perf.xml b/tests/genericxml2xmlindata/generic-perf.xml
index a914133..92e5847 100644
--- a/tests/genericxml2xmlindata/generic-perf.xml
+++ b/tests/genericxml2xmlindata/generic-perf.xml
@@ -20,6 +20,7 @@
<event name='instructions' enabled='yes'/>
<event name='cache_references' enabled='no'/>
<event name='cache_misses' enabled='no'/>
+ <event name='branch_instructions' enabled='yes'/>
</perf>
<devices>
</devices>
diff --git a/tools/virsh.pod b/tools/virsh.pod
index 247d235..493465d 100644
--- a/tools/virsh.pod
+++ b/tools/virsh.pod
@@ -2289,6 +2289,9 @@ B<Valid perf event names>
(total/elapsed). May be used with
instructions in order to get a cycles
per instruction.
+ branch_instructions - Provides the count of branch instructions
+ executed by applications running on the
+ platform.
B<Note>: The statistics can be retrieved using the B<domstats> command using
the I<--perf> flag.
--
1.9.3
7 years, 11 months
[libvirt] [PATCH v1 00/21] Run qemu under its own namespace
by Michal Privoznik
Finally. This is full implementation of my RFC:
https://www.redhat.com/archives/libvir-list/2016-November/msg00691.html
The first two patches were posted separately, but since they lack
review I'm sending them here too because they are important for
the feature:
https://www.redhat.com/archives/libvir-list/2016-November/msg01060.html
All of these patches:
a) can be found on my github:
https://github.com/zippy2/libvirt/tree/qemu_container_v2
b) pass my basic testing:
- run domain with device passthrough
- device hot(un-)plug (disks, RNGs, chardevs, PCI/USB)
c) seem to add negligible overhead to domain startup process
Michal Privoznik (21):
qemu: Create hugepage path on per domain basis
security: Implement virSecurityManagerSetHugepages
virprocess: Introduce virProcessSetupPrivateMountNS
virfile: Introduce virFileSetupDev
virfile: Introduce ACL helpers
virusb: Introduce virUSBDeviceGetPath
virscsi: Introduce virSCSIDeviceGetPath
qemu_cgroup: Expose defaultDeviceACL
qemu: Spawn qemu under mount namespace
qemu: Prepare disks when starting a domain
qemu: Prepare hostdevs when starting a domain
qemu: Prepare chardevs when starting a domain
qemu: Prepare TPM when starting a domain
qemu: Prepare inputs when starting a domain
qemu: Prepare RNGs when starting a domain
qemu: Enter the namespace on relabelling
qemu: Manage /dev entry on disk hotplug
qemu: Manage /dev entry on hostdev hotplug
qemu: Manage /dev entry on chardev hotplug
qemu: Manage /dev entry on RNG hotplug
qemu: Let users opt-out from containerization
configure.ac | 12 +-
src/Makefile.am | 7 +-
src/libvirt_private.syms | 9 +
src/lxc/lxc_container.c | 20 +-
src/lxc/lxc_controller.c | 32 +-
src/qemu/libvirtd_qemu.aug | 1 +
src/qemu/qemu.conf | 8 +
src/qemu/qemu_cgroup.c | 2 +-
src/qemu/qemu_cgroup.h | 1 +
src/qemu/qemu_command.c | 4 +-
src/qemu/qemu_conf.c | 50 +-
src/qemu/qemu_conf.h | 18 +-
src/qemu/qemu_domain.c | 1147 ++++++++++++++++++++
src/qemu/qemu_domain.h | 42 +
src/qemu/qemu_driver.c | 24 +-
src/qemu/qemu_hotplug.c | 90 +-
src/qemu/qemu_process.c | 53 +-
src/qemu/qemu_security.c | 208 ++++
src/qemu/qemu_security.h | 55 +
src/qemu/test_libvirtd_qemu.aug.in | 1 +
src/security/security_dac.c | 11 +
src/security/security_selinux.c | 10 +
src/util/virfile.c | 153 +++
src/util/virfile.h | 17 +
src/util/virprocess.c | 38 +
src/util/virprocess.h | 2 +
src/util/virscsi.c | 6 +
src/util/virscsi.h | 1 +
src/util/virusb.c | 5 +
src/util/virusb.h | 1 +
.../qemuxml2argv-hugepages-numa.args | 4 +-
.../qemuxml2argv-hugepages-pages.args | 14 +-
.../qemuxml2argv-hugepages-pages2.args | 2 +-
.../qemuxml2argv-hugepages-pages3.args | 2 +-
.../qemuxml2argv-hugepages-pages5.args | 2 +-
.../qemuxml2argv-hugepages-shared.args | 12 +-
tests/qemuxml2argvdata/qemuxml2argv-hugepages.args | 2 +-
.../qemuxml2argv-memory-hotplug-dimm-addr.args | 4 +-
.../qemuxml2argv-memory-hotplug-dimm.args | 4 +-
39 files changed, 1933 insertions(+), 141 deletions(-)
create mode 100644 src/qemu/qemu_security.c
create mode 100644 src/qemu/qemu_security.h
--
2.8.4
7 years, 11 months
[libvirt] [PATCH 0/4] docs: Cleanup formatnetwork a bit
by Jiri Denemark
Jiri Denemark (4):
formatnetwork: Remove useless </route>
formatnetwork: Split long lines
formatnetwork: Remove extra white space in examples
formatnetwork: Properly mark attributes of /network/dns/srv
docs/formatnetwork.html.in | 99 ++++++++++++++++++++++++----------------------
1 file changed, 51 insertions(+), 48 deletions(-)
--
2.11.0
7 years, 11 months
[libvirt] [PATCH v2] test: fix screenshot API impl
by Daniel P. Berrange
When redoing the website we deleted the libvirtLogo.png file
not remembering that the test driver screenshot API impl
relied on it.
Rather than having the test driver use the logo as a side
effect, give it its own dedicated image to use. This is
installed in /usr/share/libvirt/test-screenshot.png and
is taken from a NeXT Cube running WorldWideWeb[1]. The
very first web browser in existance, running on the
hardware it was originally written on.
[1] https://en.wikipedia.org/wiki/WorldWideWeb
Signed-off-by: Daniel P. Berrange <berrange(a)redhat.com>
---
Changed in v2:
- Recompressed with ImageMagick screenshot to be 25% smaller
- Added easter egg to screenshot
libvirt.spec.in | 2 ++
mingw-libvirt.spec.in | 4 ++++
src/Makefile.am | 6 ++++++
src/test/test-screenshot.png | Bin 0 -> 33443 bytes
src/test/test_driver.c | 2 +-
5 files changed, 13 insertions(+), 1 deletion(-)
create mode 100644 src/test/test-screenshot.png
diff --git a/libvirt.spec.in b/libvirt.spec.in
index 4f35313..4bb0699 100644
--- a/libvirt.spec.in
+++ b/libvirt.spec.in
@@ -1842,6 +1842,8 @@ exit 0
%{_datadir}/libvirt/cpu_map.xml
+%{_datadir}/libvirt/test-screenshot.png
+
%config(noreplace) %{_sysconfdir}/sasl2/libvirt.conf
%files admin
diff --git a/mingw-libvirt.spec.in b/mingw-libvirt.spec.in
index 65d3e6d..e088dc2 100644
--- a/mingw-libvirt.spec.in
+++ b/mingw-libvirt.spec.in
@@ -232,6 +232,8 @@ rm -rf $RPM_BUILD_ROOT%{mingw64_libexecdir}/libvirt-guests.sh
%{mingw32_datadir}/libvirt/cpu_map.xml
+%{mingw32_datadir}/libvirt/test-screenshot.png
+
%{mingw32_datadir}/locale/*/LC_MESSAGES/libvirt.mo
%dir %{mingw32_includedir}/libvirt
@@ -314,6 +316,8 @@ rm -rf $RPM_BUILD_ROOT%{mingw64_libexecdir}/libvirt-guests.sh
%{mingw64_datadir}/libvirt/cpu_map.xml
+%{mingw64_datadir}/libvirt/test-screenshot.png
+
%{mingw64_datadir}/locale/*/LC_MESSAGES/libvirt.mo
%dir %{mingw64_includedir}/libvirt
diff --git a/src/Makefile.am b/src/Makefile.am
index d440548..8bc3acc 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -691,6 +691,7 @@ check-local: check-protocol check-symfile check-symsorting \
# Mock driver, covering domains, storage, networks, etc
TEST_DRIVER_SOURCES = \
test/test_driver.c test/test_driver.h
+TEST_DRIVER_ASSETS = test/test-screenshot.png
# Now the Hypervisor specific drivers
XEN_DRIVER_SOURCES = \
@@ -1194,6 +1195,10 @@ GENERATED_SYM_FILES = \
$(NULL)
if WITH_TEST
+
+driver_test_asset_DATA = $(TEST_DRIVER_ASSETS)
+driver_test_assetdir = $(pkgdatadir)
+
noinst_LTLIBRARIES += libvirt_driver_test.la
libvirt_la_BUILT_LIBADD += libvirt_driver_test.la
libvirt_driver_test_la_CFLAGS = \
@@ -1886,6 +1891,7 @@ access/viraccessapichecklxc.c: $(srcdir)/rpc/gendispatch.pl \
# Add all conditional sources just in case...
EXTRA_DIST += \
$(TEST_DRIVER_SOURCES) \
+ $(TEST_DRIVER_ASSETS) \
$(REMOTE_DRIVER_SOURCES) \
$(XEN_DRIVER_SOURCES) \
$(QEMU_DRIVER_SOURCES) \
diff --git a/src/test/test-screenshot.png b/src/test/test-screenshot.png
new file mode 100644
index 0000000000000000000000000000000000000000..3991eabb228631ec86382273a3ea998cb9adf5bf
GIT binary patch
literal 33443
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
literal 0
HcmV?d00001
diff --git a/src/test/test_driver.c b/src/test/test_driver.c
index 5a82f8e..de92a01 100644
--- a/src/test/test_driver.c
+++ b/src/test/test_driver.c
@@ -5923,7 +5923,7 @@ testDomainScreenshot(virDomainPtr dom ATTRIBUTE_UNUSED,
if (VIR_STRDUP(ret, "image/png") < 0)
return NULL;
- if (virFDStreamOpenFile(st, PKGDATADIR "/libvirtLogo.png", 0, 0, O_RDONLY) < 0)
+ if (virFDStreamOpenFile(st, PKGDATADIR "/test-screenshot.png", 0, 0, O_RDONLY) < 0)
VIR_FREE(ret);
return ret;
--
2.9.3
7 years, 11 months
[libvirt] [PATCH 0/3] Fix for generated api docs
by John Ferlan
The Makefile.am adjustment works for me - although it's not my preferred
area of the environment to touch, so if there's a "better" way - let me know.
The GetAllDomainStats current output is just an unreadable mass. This cleans
it up a bit creating text/code boxes for the various stats.
The InterfaceAddresses current output was about 1/2 right - this just makes
all the code examples inside a text/code box.
John Ferlan (3):
docs: Rebuild apihtml docs when source changes
docs: Adjust formatting for virConnectGetAllDomainStats output
docs: Fix code example formatting for virDomainInterfaceAddresses
docs/Makefile.am | 14 ++-
src/libvirt-domain.c | 273 +++++++++++++++++++++++++++------------------------
2 files changed, 157 insertions(+), 130 deletions(-)
--
2.7.4
7 years, 11 months
[libvirt] [PATCH] test: fix screenshot API impl
by Daniel P. Berrange
When redoing the website we deleted the libvirtLogo.png file
not remembering that the test driver screenshot API impl
relied on it.
Rather than having the test driver use the logo as a side
effect, give it its own dedicated image to use. This is
installed in /usr/share/libvirt/test-screenshot.png and
is taken from a NeXT Cube running WorldWideWeb[1]. The
very first web browser in existance, running on the
hardware it was originally written on.
[1] https://en.wikipedia.org/wiki/WorldWideWeb
Signed-off-by: Daniel P. Berrange <berrange(a)redhat.com>
---
libvirt.spec.in | 2 ++
mingw-libvirt.spec.in | 4 ++++
src/Makefile.am | 6 ++++++
src/test/test-screenshot.png | Bin 0 -> 45394 bytes
src/test/test_driver.c | 2 +-
5 files changed, 13 insertions(+), 1 deletion(-)
create mode 100644 src/test/test-screenshot.png
diff --git a/libvirt.spec.in b/libvirt.spec.in
index 4f35313..4bb0699 100644
--- a/libvirt.spec.in
+++ b/libvirt.spec.in
@@ -1842,6 +1842,8 @@ exit 0
%{_datadir}/libvirt/cpu_map.xml
+%{_datadir}/libvirt/test-screenshot.png
+
%config(noreplace) %{_sysconfdir}/sasl2/libvirt.conf
%files admin
diff --git a/mingw-libvirt.spec.in b/mingw-libvirt.spec.in
index 65d3e6d..e088dc2 100644
--- a/mingw-libvirt.spec.in
+++ b/mingw-libvirt.spec.in
@@ -232,6 +232,8 @@ rm -rf $RPM_BUILD_ROOT%{mingw64_libexecdir}/libvirt-guests.sh
%{mingw32_datadir}/libvirt/cpu_map.xml
+%{mingw32_datadir}/libvirt/test-screenshot.png
+
%{mingw32_datadir}/locale/*/LC_MESSAGES/libvirt.mo
%dir %{mingw32_includedir}/libvirt
@@ -314,6 +316,8 @@ rm -rf $RPM_BUILD_ROOT%{mingw64_libexecdir}/libvirt-guests.sh
%{mingw64_datadir}/libvirt/cpu_map.xml
+%{mingw64_datadir}/libvirt/test-screenshot.png
+
%{mingw64_datadir}/locale/*/LC_MESSAGES/libvirt.mo
%dir %{mingw64_includedir}/libvirt
diff --git a/src/Makefile.am b/src/Makefile.am
index d440548..8bc3acc 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -691,6 +691,7 @@ check-local: check-protocol check-symfile check-symsorting \
# Mock driver, covering domains, storage, networks, etc
TEST_DRIVER_SOURCES = \
test/test_driver.c test/test_driver.h
+TEST_DRIVER_ASSETS = test/test-screenshot.png
# Now the Hypervisor specific drivers
XEN_DRIVER_SOURCES = \
@@ -1194,6 +1195,10 @@ GENERATED_SYM_FILES = \
$(NULL)
if WITH_TEST
+
+driver_test_asset_DATA = $(TEST_DRIVER_ASSETS)
+driver_test_assetdir = $(pkgdatadir)
+
noinst_LTLIBRARIES += libvirt_driver_test.la
libvirt_la_BUILT_LIBADD += libvirt_driver_test.la
libvirt_driver_test_la_CFLAGS = \
@@ -1886,6 +1891,7 @@ access/viraccessapichecklxc.c: $(srcdir)/rpc/gendispatch.pl \
# Add all conditional sources just in case...
EXTRA_DIST += \
$(TEST_DRIVER_SOURCES) \
+ $(TEST_DRIVER_ASSETS) \
$(REMOTE_DRIVER_SOURCES) \
$(XEN_DRIVER_SOURCES) \
$(QEMU_DRIVER_SOURCES) \
diff --git a/src/test/test-screenshot.png b/src/test/test-screenshot.png
new file mode 100644
index 0000000000000000000000000000000000000000..4402485cd2e456e07c8da98d6bf97f997a93bc8a
GIT binary patch
literal 45394
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%0Dho}2qgOez*H7M3#7hjH|Vj(84Cz^
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
QKOtxSJo`uKDUZbe0baLwKL7v#
literal 0
HcmV?d00001
diff --git a/src/test/test_driver.c b/src/test/test_driver.c
index 5a82f8e..de92a01 100644
--- a/src/test/test_driver.c
+++ b/src/test/test_driver.c
@@ -5923,7 +5923,7 @@ testDomainScreenshot(virDomainPtr dom ATTRIBUTE_UNUSED,
if (VIR_STRDUP(ret, "image/png") < 0)
return NULL;
- if (virFDStreamOpenFile(st, PKGDATADIR "/libvirtLogo.png", 0, 0, O_RDONLY) < 0)
+ if (virFDStreamOpenFile(st, PKGDATADIR "/test-screenshot.png", 0, 0, O_RDONLY) < 0)
VIR_FREE(ret);
return ret;
--
2.9.3
7 years, 11 months
[libvirt] [PATCH 0/2] qemu: capabilities: Bump 2.8.0 caps to new version and adapt to changes
by Peter Krempa
Peter Krempa (2):
test: qemucaps: Bump 2.8.0 state to current master
qemu: capabilities: Add gluster.debug_level detection for 2.8.0+
src/qemu/qemu_capabilities.c | 1 +
tests/qemucapabilitiesdata/caps_2.8.0.x86_64.replies | 12 ++++++------
tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml | 5 +++--
3 files changed, 10 insertions(+), 8 deletions(-)
--
2.10.2
7 years, 11 months
[libvirt] [PATCH 0/6] Qemu: s390: Cpu Model Support
by Jason J. Herne
This patch set enables cpu model support for s390. The user can now set exact
cpu models, query supported models via virsh domcapabilities, and use host-model
and host-passthrough modes. The end result is that migration is safer because
Qemu will perform runnability checking on the destination host and quit with an
error if the guest's cpu model is not supported.
Big Thanks for Jiri and Eduardo for being patient and answering our questions
while we figured out what we were doing!
Collin L. Walling (5):
s390: Stop reporting "host" for host model
qemu: qmp query-cpu-model-expansion command
qemu-caps: Get host model directly from Qemu when available
qemu: migration: warn if migrating with host-passthrough
qemu: command: Support new cpu feature argument syntax
Jason J. Herne (1):
s390: Cpu driver support for update and compare
po/POTFILES.in | 1 +
src/cpu/cpu_s390.c | 61 ++++++++++++++++++++----
src/qemu/qemu_capabilities.c | 109 +++++++++++++++++++++++++++++++++++++++++--
src/qemu/qemu_capabilities.h | 1 +
src/qemu/qemu_command.c | 10 +++-
src/qemu/qemu_migration.c | 4 ++
src/qemu/qemu_monitor.c | 60 ++++++++++++++++++++++++
src/qemu/qemu_monitor.h | 22 +++++++++
src/qemu/qemu_monitor_json.c | 94 +++++++++++++++++++++++++++++++++++++
src/qemu/qemu_monitor_json.h | 6 +++
10 files changed, 353 insertions(+), 15 deletions(-)
--
1.9.1
7 years, 11 months