[libvirt] [PATCH v2 0/2] fix migration related graphics listen code bugs
by Pavel Hrdina
Pavel Hrdina (2):
conf: store "autoGenerated" for graphics listen in status XML
conf: properly skip graphics listen element in migratable XML
src/conf/domain_conf.c | 20 +++++++++++++++++++-
src/qemu/qemu_domain.c | 3 ++-
2 files changed, 21 insertions(+), 2 deletions(-)
--
2.12.0
7 years, 9 months
[libvirt] [PATCH v2 00/10] perf: Add software perf events
by Nitesh Konkar
This patch series adds software perf events.
The perl and go patches shall follow shortly.
Nitesh Konkar (10):
perf: add cpu_clock software perf event support
perf: add task_clock software perf event support
perf: add page_faults software perf event support
perf: add context_switches software perf event support
perf: add cpu_migrations software perf event support
perf: add page_faults_min software perf event support
perf: add page_faults_maj software perf event support
perf: add alignment_faults software perf event support
perf: add emulation_faults software perf event support
news: Update the news.xml about perf events added
docs/formatdomain.html.in | 74 +++++++++++++++++++++++
docs/news.xml | 11 ++++
docs/schemas/domaincommon.rng | 9 +++
include/libvirt/libvirt-domain.h | 92 +++++++++++++++++++++++++++++
src/libvirt-domain.c | 25 ++++++++
src/qemu/qemu_driver.c | 9 +++
src/util/virperf.c | 33 ++++++++++-
src/util/virperf.h | 9 +++
tests/genericxml2xmlindata/generic-perf.xml | 9 +++
tools/virsh.pod | 27 +++++++++
10 files changed, 297 insertions(+), 1 deletion(-)
--
1.9.3
7 years, 9 months
[libvirt] [PATCH 0/2] fix migration related graphics listen code bugs
by Pavel Hrdina
Pavel Hrdina (2):
conf: store "autoGenerated" for graphics listen in status XML
conf: properly skip graphics listen element in migratable XML
src/conf/domain_conf.c | 18 +++++++++++++++++-
src/qemu/qemu_domain.c | 3 ++-
2 files changed, 19 insertions(+), 2 deletions(-)
--
2.11.1
7 years, 9 months
[libvirt] ANNOUNCE: virt-manager 1.4.1 released
by Cole Robinson
I'm happy to announce the release of virt-manager 1.4.1!
virt-manager is a desktop application for managing KVM, Xen, and LXC
virtualization via libvirt.
The release can be downloaded from:
http://virt-manager.org/download/
This release includes:
- storage/nodedev event API support (Jovanka Gulicoska)
- UI options for enabling spice GL (Marc-André Lureau)
- Add default virtio-rng /dev/urandom for supported guest OS
- Cloning and rename support for UEFI VMs (Pavel Hrdina)
- libguestfs inspection UI improvements (Pino Toscano)
- virt-install: Add --qemu-commandline
- virt-install: Add --network vhostuser (Chen Hanxiao)
- virt-install: Add --sysinfo (Charles Arnold)
Thanks to everyone who has contributed to this release through testing,
bug reporting, submitting patches, and otherwise sending in feedback!
Thanks,
Cole
7 years, 9 months
[libvirt] [PATCH] qemu: Rename variable
by John Ferlan
Rename 'secretUsageType' to 'usageType' since it's superfluous in an
API qemu*Secret*
Signed-off-by: John Ferlan <jferlan(a)redhat.com>
---
Pushed as trivial - based upon Jirka's review comment from patch 1 of
the "Alter TLS/UUID algorithms to be a bit more generic" series.
src/qemu/qemu_domain.c | 32 ++++++++++++++++----------------
1 file changed, 16 insertions(+), 16 deletions(-)
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index bffb8ac..4d184d3 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -965,7 +965,7 @@ qemuDomainChrSourcePrivateDispose(void *obj)
/* qemuDomainSecretPlainSetup:
* @conn: Pointer to connection
* @secinfo: Pointer to secret info
- * @secretUsageType: The virSecretUsageType
+ * @usageType: The virSecretUsageType
* @username: username to use for authentication (may be NULL)
* @seclookupdef: Pointer to seclookupdef data
*
@@ -976,7 +976,7 @@ qemuDomainChrSourcePrivateDispose(void *obj)
static int
qemuDomainSecretPlainSetup(virConnectPtr conn,
qemuDomainSecretInfoPtr secinfo,
- virSecretUsageType secretUsageType,
+ virSecretUsageType usageType,
const char *username,
virSecretLookupTypeDefPtr seclookupdef)
{
@@ -984,7 +984,7 @@ qemuDomainSecretPlainSetup(virConnectPtr conn,
if (VIR_STRDUP(secinfo->s.plain.username, username) < 0)
return -1;
- return virSecretGetSecretString(conn, seclookupdef, secretUsageType,
+ return virSecretGetSecretString(conn, seclookupdef, usageType,
&secinfo->s.plain.secret,
&secinfo->s.plain.secretlen);
}
@@ -995,7 +995,7 @@ qemuDomainSecretPlainSetup(virConnectPtr conn,
* @priv: pointer to domain private object
* @secinfo: Pointer to secret info
* @srcalias: Alias of the disk/hostdev used to generate the secret alias
- * @secretUsageType: The virSecretUsageType
+ * @usageType: The virSecretUsageType
* @username: username to use for authentication (may be NULL)
* @seclookupdef: Pointer to seclookupdef data
* @isLuks: True/False for is for luks (alias generation)
@@ -1009,7 +1009,7 @@ qemuDomainSecretAESSetup(virConnectPtr conn,
qemuDomainObjPrivatePtr priv,
qemuDomainSecretInfoPtr secinfo,
const char *srcalias,
- virSecretUsageType secretUsageType,
+ virSecretUsageType usageType,
const char *username,
virSecretLookupTypeDefPtr seclookupdef,
bool isLuks)
@@ -1038,7 +1038,7 @@ qemuDomainSecretAESSetup(virConnectPtr conn,
goto cleanup;
/* Grab the unencoded secret */
- if (virSecretGetSecretString(conn, seclookupdef, secretUsageType,
+ if (virSecretGetSecretString(conn, seclookupdef, usageType,
&secret, &secretlen) < 0)
goto cleanup;
@@ -1072,7 +1072,7 @@ qemuDomainSecretAESSetup(virConnectPtr conn,
* @priv: pointer to domain private object
* @secinfo: Pointer to secret info
* @srcalias: Alias of the disk/hostdev used to generate the secret alias
- * @secretUsageType: The virSecretUsageType
+ * @usageType: The virSecretUsageType
* @username: username to use for authentication (may be NULL)
* @seclookupdef: Pointer to seclookupdef data
* @isLuks: True when is luks (generates different alias)
@@ -1089,22 +1089,22 @@ qemuDomainSecretSetup(virConnectPtr conn,
qemuDomainObjPrivatePtr priv,
qemuDomainSecretInfoPtr secinfo,
const char *srcalias,
- virSecretUsageType secretUsageType,
+ virSecretUsageType usageType,
const char *username,
virSecretLookupTypeDefPtr seclookupdef,
bool isLuks)
{
if (virCryptoHaveCipher(VIR_CRYPTO_CIPHER_AES256CBC) &&
virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_OBJECT_SECRET) &&
- (secretUsageType == VIR_SECRET_USAGE_TYPE_CEPH ||
- secretUsageType == VIR_SECRET_USAGE_TYPE_VOLUME ||
- secretUsageType == VIR_SECRET_USAGE_TYPE_TLS)) {
+ (usageType == VIR_SECRET_USAGE_TYPE_CEPH ||
+ usageType == VIR_SECRET_USAGE_TYPE_VOLUME ||
+ usageType == VIR_SECRET_USAGE_TYPE_TLS)) {
if (qemuDomainSecretAESSetup(conn, priv, secinfo, srcalias,
- secretUsageType, username,
+ usageType, username,
seclookupdef, isLuks) < 0)
return -1;
} else {
- if (qemuDomainSecretPlainSetup(conn, secinfo, secretUsageType,
+ if (qemuDomainSecretPlainSetup(conn, secinfo, usageType,
username, seclookupdef) < 0)
return -1;
}
@@ -1253,14 +1253,14 @@ qemuDomainSecretDiskPrepare(virConnectPtr conn,
qemuDomainDiskPrivatePtr diskPriv = QEMU_DOMAIN_DISK_PRIVATE(disk);
if (qemuDomainSecretDiskCapable(src)) {
- virSecretUsageType secretUsageType = VIR_SECRET_USAGE_TYPE_ISCSI;
+ virSecretUsageType usageType = VIR_SECRET_USAGE_TYPE_ISCSI;
if (src->protocol == VIR_STORAGE_NET_PROTOCOL_RBD)
- secretUsageType = VIR_SECRET_USAGE_TYPE_CEPH;
+ usageType = VIR_SECRET_USAGE_TYPE_CEPH;
if (!(diskPriv->secinfo =
qemuDomainSecretInfoNew(conn, priv, disk->info.alias,
- secretUsageType, src->auth->username,
+ usageType, src->auth->username,
&src->auth->seclookupdef, false)))
return -1;
}
--
2.9.3
7 years, 9 months
[libvirt] [PATCH] tests: Add storagevol tests for format=iso
by Cole Robinson
Demonstrates the bug fix in commit 0e5db762627
---
tests/storagevolxml2argvdata/iso-input.argv | 1 +
tests/storagevolxml2argvdata/iso.argv | 1 +
tests/storagevolxml2argvtest.c | 7 +++++++
tests/storagevolxml2xmlin/vol-file-iso.xml | 10 ++++++++++
tests/storagevolxml2xmlout/vol-file-iso.xml | 11 +++++++++++
tests/storagevolxml2xmltest.c | 1 +
6 files changed, 31 insertions(+)
create mode 100644 tests/storagevolxml2argvdata/iso-input.argv
create mode 100644 tests/storagevolxml2argvdata/iso.argv
create mode 100644 tests/storagevolxml2xmlin/vol-file-iso.xml
create mode 100644 tests/storagevolxml2xmlout/vol-file-iso.xml
diff --git a/tests/storagevolxml2argvdata/iso-input.argv b/tests/storagevolxml2argvdata/iso-input.argv
new file mode 100644
index 0000000..333d7e6
--- /dev/null
+++ b/tests/storagevolxml2argvdata/iso-input.argv
@@ -0,0 +1 @@
+qemu-img convert -f raw -O raw /var/lib/libvirt/images/test.iso /var/lib/libvirt/images/sparse.img
\ No newline at end of file
diff --git a/tests/storagevolxml2argvdata/iso.argv b/tests/storagevolxml2argvdata/iso.argv
new file mode 100644
index 0000000..40b99c5
--- /dev/null
+++ b/tests/storagevolxml2argvdata/iso.argv
@@ -0,0 +1 @@
+qemu-img create -f raw /var/lib/libvirt/images/test.iso 1024K
\ No newline at end of file
diff --git a/tests/storagevolxml2argvtest.c b/tests/storagevolxml2argvtest.c
index bf9dbe5..24c3bac 100644
--- a/tests/storagevolxml2argvtest.c
+++ b/tests/storagevolxml2argvtest.c
@@ -272,6 +272,13 @@ mymain(void)
"pool-dir", "vol-qcow2-nocapacity-backing", NULL, NULL,
"qcow2-nocapacity", 0, FMT_OPTIONS);
+ DO_TEST("pool-dir", "vol-file-iso",
+ NULL, NULL,
+ "iso", 0, FMT_OPTIONS);
+ DO_TEST("pool-dir", "vol-file",
+ "pool-dir", "vol-file-iso",
+ "iso-input", 0, FMT_OPTIONS);
+
return ret == 0 ? EXIT_SUCCESS : EXIT_FAILURE;
}
diff --git a/tests/storagevolxml2xmlin/vol-file-iso.xml b/tests/storagevolxml2xmlin/vol-file-iso.xml
new file mode 100644
index 0000000..b1f0756
--- /dev/null
+++ b/tests/storagevolxml2xmlin/vol-file-iso.xml
@@ -0,0 +1,10 @@
+<volume>
+ <name>test.iso</name>
+ <source/>
+ <capacity unit="MiB">1</capacity>
+ <allocation unit="MiB">1</allocation>
+ <target>
+ <format type='iso'/>
+ <path>/var/lib/libvirt/images/test.iso</path>
+ </target>
+</volume>
diff --git a/tests/storagevolxml2xmlout/vol-file-iso.xml b/tests/storagevolxml2xmlout/vol-file-iso.xml
new file mode 100644
index 0000000..9783124
--- /dev/null
+++ b/tests/storagevolxml2xmlout/vol-file-iso.xml
@@ -0,0 +1,11 @@
+<volume type='file'>
+ <name>test.iso</name>
+ <source>
+ </source>
+ <capacity unit='bytes'>1048576</capacity>
+ <allocation unit='bytes'>1048576</allocation>
+ <target>
+ <path>/var/lib/libvirt/images/test.iso</path>
+ <format type='iso'/>
+ </target>
+</volume>
diff --git a/tests/storagevolxml2xmltest.c b/tests/storagevolxml2xmltest.c
index db82bea..18e8016 100644
--- a/tests/storagevolxml2xmltest.c
+++ b/tests/storagevolxml2xmltest.c
@@ -100,6 +100,7 @@ mymain(void)
DO_TEST("pool-dir", "vol-file");
DO_TEST("pool-dir", "vol-file-naming");
DO_TEST("pool-dir", "vol-file-backing");
+ DO_TEST("pool-dir", "vol-file-iso");
DO_TEST("pool-dir", "vol-qcow2");
DO_TEST("pool-dir", "vol-qcow2-1.1");
DO_TEST("pool-dir", "vol-qcow2-lazy");
--
2.9.3
7 years, 9 months
[libvirt] [PATCH] Make use of PERF_COUNT_HW_REF_CPU_CYCLES conditional
by Daniel P. Berrange
The PERF_COUNT_HW_REF_CPU_CYCLES constant is not available
on all Linux distros libvirt targets, so its use must be
made conditional. Other constant have existed long enough
that we can assume they exist, as we don't support very
old distros like RHEL-5 any more.
Signed-off-by: Daniel P. Berrange <berrange(a)redhat.com>
---
src/util/virperf.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/src/util/virperf.c b/src/util/virperf.c
index 49ec258..f64692b 100644
--- a/src/util/virperf.c
+++ b/src/util/virperf.c
@@ -104,8 +104,14 @@ static struct virPerfEventAttr attrs[] = {
.attrType = PERF_TYPE_HARDWARE,
.attrConfig = PERF_COUNT_HW_STALLED_CYCLES_BACKEND},
{.type = VIR_PERF_EVENT_REF_CPU_CYCLES,
+# ifdef PERF_COUNT_HW_REF_CPU_CYCLES
.attrType = PERF_TYPE_HARDWARE,
- .attrConfig = PERF_COUNT_HW_REF_CPU_CYCLES},
+ .attrConfig = PERF_COUNT_HW_REF_CPU_CYCLES
+# else
+ .attrType = 0,
+ .attrConfig = 0,
+# endif
+ },
};
typedef struct virPerfEventAttr *virPerfEventAttrPtr;
--
2.9.3
7 years, 9 months
[libvirt] [PATCH v3 0/8] Alter TLS/UUID algorithms to be a bit more generic
by John Ferlan
This is a *split* from the v2 series for migration TLS. I figure what's
here may be useful for the Veritas code... The most recent qemu patches
ar using TLS, which means when the libvirt patches are updated they'll
need similar type support.
v2: http://www.redhat.com/archives/libvir-list/2017-February/msg01374.html
Adjustments here are mainly in patch 2 which is new - the former patch2
is migrate TLS specific so it's moved later, but not in this series. The
patch2 here does the TLS setup with the UUID.
Essentially the end result is creation of a TLS/UUID secret info setup API
and the splitting of the hotplug code for chardev to allow creation of
TLS objects.
John Ferlan (8):
qemu: Introduce qemuDomainSecretInfoNew
qemu: Introduce qemuDomainSecretInfoTLSNew
qemu: Move exit monitor calls in failure paths
qemu: Refactor hotplug to introduce qemuDomain{Add|Del}TLSObjects
qemu: Refactor qemuDomainGetChardevTLSObjects to converge code
qemu: Move qemuDomainSecretChardevPrepare call
qemu: Move qemuDomainPrepareChardevSourceTLS call
qemu: Introduce qemuDomainGetTLSObjects
src/qemu/qemu_domain.c | 182 +++++++++++++++-----------
src/qemu/qemu_hotplug.c | 341 +++++++++++++++++++++++++-----------------------
src/qemu/qemu_hotplug.h | 24 ++++
3 files changed, 309 insertions(+), 238 deletions(-)
--
2.9.3
7 years, 9 months
[libvirt] [PATCH v1 0/3] libxl: nestedhvm support
by Wim Ten Have
From: Wim ten Have <wim.ten.have(a)oracle.com>
This patch enhances host-passthrough capability to advertise the
required vendor CPU virtualization feature which will be used to
enable 'nestedhvm' in the libxl driver.
For Intel virtualization (VT-x)
..
<cpu mode='host-passthrough'>
<feature policy='require' name='vmx'/>
</cpu>
For AMD virtualization (AMD-V)
..
<cpu mode='host-passthrough'>
<feature policy='require' name='svm'/>
</cpu>
Joao Martins (2):
libxl: set nestedhvm when vmx|svm is required
xenconfig: add conversion of domxml nestedhvm
Wim ten Have (1):
xlconfigtest: add test and data for 'nestedhvm' support
src/libxl/libxl_conf.c | 9 ++++
src/xenconfig/xen_xl.c | 41 +++++++++++++++++
tests/xlconfigdata/test-fullvirt-nestedhvm.cfg | 26 +++++++++++
tests/xlconfigdata/test-fullvirt-nestedhvm.xml | 61 ++++++++++++++++++++++++++
tests/xlconfigtest.c | 1 +
5 files changed, 138 insertions(+)
create mode 100644 tests/xlconfigdata/test-fullvirt-nestedhvm.cfg
create mode 100644 tests/xlconfigdata/test-fullvirt-nestedhvm.xml
--
2.9.3
7 years, 9 months