[libvirt] [jenkins-ci PATCH 0/3] Drop CentOS 6, which makes some nice cleanups possible
by Andrea Bolognani
This applies on top of
https://www.redhat.com/archives/libvir-list/2018-April/msg00410.html
and, of course, should only be pushed after
https://www.redhat.com/archives/libvir-list/2018-April/msg00326.html
or a follow-up version has been pushed.
Andrea Bolognani (3):
guests: Drop CentOS 6 support
projects: Drop CentOS 6 support
jobs: Introduce {all_machines} and {rpm_machines}
guests/host_vars/libvirt-centos-6/install.yml | 3 -
guests/host_vars/libvirt-centos-6/main.yml | 9 ---
guests/inventory | 1 -
guests/vars/mappings.yml | 16 +----
guests/vars/projects/libvirt.yml | 1 -
guests/vars/vault.yml | 86 +++++++++++++--------------
jobs/defaults.yaml | 14 +++++
projects/libosinfo.yaml | 16 +----
projects/libvirt-cim.yaml | 7 +--
projects/libvirt-glib.yaml | 16 +----
projects/libvirt-go-xml.yaml | 10 +---
projects/libvirt-go.yaml | 10 +---
projects/libvirt-perl.yaml | 17 +-----
projects/libvirt-python.yaml | 18 +-----
projects/libvirt.yaml | 30 ++++------
projects/osinfo-db-tools.yaml | 16 +----
projects/osinfo-db.yaml | 16 +----
projects/virt-viewer.yaml | 16 +----
18 files changed, 84 insertions(+), 218 deletions(-)
delete mode 100644 guests/host_vars/libvirt-centos-6/install.yml
delete mode 100644 guests/host_vars/libvirt-centos-6/main.yml
--
2.14.3
6 years, 7 months
[libvirt] [PATCH 00/68] qemu: Refactor migration parameters
by Jiri Denemark
This series changes the way we handle migration parameters and
capabilities with several goals:
- make it all consistent and avoid storing the same parameters in
several structs
- reduce the number of QMP commands we use for setting migration
capabilities
- concentrate the logic in a separate file and make the code for
migration parameters and capabilities in qemu_migration.c less
complicated
- reset all parameters and capabilities at the end of migration
- make adding new parameters and capabilities easier
Jiri Denemark (68):
qemu: Move qemuDomainCheckMigrationCapabilities
qemu: Rename qemuMigrationAnyCapsGet as qemuMigrationCapsGet
qemu: Rename qemuMigrationParams
qemu: New file for all APIs related to migration parameters
qemu: Reindent qemuMigrationParamsSetEmptyTLS
qemu: Make qemuMigrationParamsFree follow common pattern
qemu: Allocate struct for migration parameters
qemu: Drop qemuMigrationParamsClear
qemu: Move qemuMigrationCompression struct
qemu: Introduce qemuMigrationParams struct
qemu: Reset migration parameters in qemuMigrationSrcCleanup
qemu: Store original migration params in job
qemu: Typedef struct qemuDomainJobObj
qemu: Pass job object to qemuProcessRecoverMigration{In,Out}
qemu: Reset all migration parameters
qemu: Drop qemuMigrationParamsCheckSetupTLS
qemu: Drop qemuMigrationParamsCheckTLSCreds
qemu: Rename qemuMigrationParamsSetEmptyTLS
qemu: Rename qemuMigrationParamsAddTLSObjects
qemu: Set tlsHostname inside qemuMigrationParamsEnableTLS
qemu: Hide cfg inside qemuMigrationParamsEnableTLS
qemu: Rename qemuMigrationParamsSet
qemu: Hide internals of qemuMigrationParams struct
qemu: Introduce qemuMonitorSetMigrationCapabilities
qemu: Set migration caps via migration params APIs
qemu: Do not use qemuMonitorSetMigrationCapability
qemu: Drop unused qemuMonitorSetMigrationCapability
qemu: Add support for xbzrle-cache-size migration parameter
qemu: Set XBZRLE cache size via migration parameters
qemu: Move ParamsCheck closer to ParamsApply on Dst side
qemu: Move ParamsCheck closer to ParamsApply on Src side
qemu: Check supported caps in qemuMigrationParamsCheck
qemu: Introduce qemuMigrationParty enum
qemu: Use qemuMigrationParamsFromFlags everywhere
qemu: Hide qemuMigrationParamsNew
qemu: Drop qemuMigrationParamsSetPostCopy
qemu: Set always-on migration caps in ParamsCheck
qemu: Set migration capabilities automatically
qemu: Call qemuMigrationAnyCompressionParse only from driver
qemu: Generalize macro for getting VIR_MIGRATE_* typed params
qemu: Drop qemuMigrationParamsSetCapability
qemu: Move qemuMigrationParamsSetCompression
qemu: Move qemuMigrationAnyCompression*
qemu: Hide qemuMigrationParamsSetCompression
qemu: Replace qemuMigrationAnyCompressionDump
qemu: Drop qemuMigrationCompression structure
qemu: Introduce qemuMigrationParamsFetch
qemu: Limit usage of qemuMonitorMigrationParams
qemumonitorjsontest: Drop migration params test
util: Introduce virJSONValueObjectStealObject
qemu: Move migration parameters JSON parsing
qemu: Move migration parameters JSON formatting
qemu: Move qemuMonitorMigrationParams structure
qemu: Refactor qemuMigrationParams
qemu: Generalize qemuMigrationParamsGetDowntimeLimit
qemu: Set migration parameters automatically
qemu: Properly reset migration params when libvirtd restarts
qemu: Export qemuMigrationParams{To,From}JSON for tests
tests: Add tests for QEMU migration parameters
qemumigparamstest: Add basic test data
qemumigparamstest: Add test data for TLS parameters
qemu: Store API flags for async jobs in qemuDomainJobObj
qemu: Properly avoid cancelling memory-only dump
qemu: Drop priv->job.dump_memory_only bool
qemu: Drop priv->job.postcopyEnabled bool
qemu: Store API flags for async jobs in status XML
qemu: Don't delete TLS objects unless TLS migration was requested
qemuxml2xmltest: Add status XML tests for migration params
po/POTFILES.in | 1 +
src/libvirt_private.syms | 1 +
src/qemu/Makefile.inc.am | 3 +
src/qemu/qemu_domain.c | 110 +-
src/qemu/qemu_domain.h | 25 +-
src/qemu/qemu_driver.c | 175 +--
src/qemu/qemu_migration.c | 965 +++-----------
src/qemu/qemu_migration.h | 72 +-
src/qemu/qemu_migration_params.c | 1139 +++++++++++++++++
src/qemu/qemu_migration_params.h | 130 ++
src/qemu/qemu_migration_paramspriv.h | 31 +
src/qemu/qemu_monitor.c | 64 +-
src/qemu/qemu_monitor.h | 43 +-
src/qemu/qemu_monitor_json.c | 153 +--
src/qemu/qemu_monitor_json.h | 10 +-
src/qemu/qemu_process.c | 30 +-
src/qemu/qemu_process.h | 3 +-
src/util/virjson.c | 8 +
src/util/virjson.h | 2 +
tests/Makefile.am | 12 +
tests/qemumigparamsdata/basic.json | 9 +
tests/qemumigparamsdata/basic.reply | 12 +
tests/qemumigparamsdata/basic.xml | 11 +
tests/qemumigparamsdata/empty.json | 3 +
tests/qemumigparamsdata/empty.reply | 5 +
tests/qemumigparamsdata/empty.xml | 4 +
tests/qemumigparamsdata/tls-enabled.json | 11 +
tests/qemumigparamsdata/tls-enabled.reply | 14 +
tests/qemumigparamsdata/tls-enabled.xml | 13 +
tests/qemumigparamsdata/tls-hostname.json | 11 +
tests/qemumigparamsdata/tls-hostname.reply | 14 +
tests/qemumigparamsdata/tls-hostname.xml | 13 +
tests/qemumigparamsdata/tls.json | 11 +
tests/qemumigparamsdata/tls.reply | 14 +
tests/qemumigparamsdata/tls.xml | 13 +
tests/qemumigparamsdata/unsupported.json | 3 +
tests/qemumigparamsdata/unsupported.reply | 7 +
tests/qemumigparamsdata/unsupported.xml | 4 +
tests/qemumigparamstest.c | 242 ++++
tests/qemumonitorjsontest.c | 113 +-
.../migration-in-params-in.xml | 400 ++++++
.../migration-in-params-out.xml | 1 +
.../migration-out-nbd-out.xml | 450 ++++++-
.../migration-out-params-in.xml | 414 ++++++
.../migration-out-params-out.xml | 1 +
tests/qemuxml2xmltest.c | 2 +
46 files changed, 3456 insertions(+), 1316 deletions(-)
create mode 100644 src/qemu/qemu_migration_params.c
create mode 100644 src/qemu/qemu_migration_params.h
create mode 100644 src/qemu/qemu_migration_paramspriv.h
create mode 100644 tests/qemumigparamsdata/basic.json
create mode 100644 tests/qemumigparamsdata/basic.reply
create mode 100644 tests/qemumigparamsdata/basic.xml
create mode 100644 tests/qemumigparamsdata/empty.json
create mode 100644 tests/qemumigparamsdata/empty.reply
create mode 100644 tests/qemumigparamsdata/empty.xml
create mode 100644 tests/qemumigparamsdata/tls-enabled.json
create mode 100644 tests/qemumigparamsdata/tls-enabled.reply
create mode 100644 tests/qemumigparamsdata/tls-enabled.xml
create mode 100644 tests/qemumigparamsdata/tls-hostname.json
create mode 100644 tests/qemumigparamsdata/tls-hostname.reply
create mode 100644 tests/qemumigparamsdata/tls-hostname.xml
create mode 100644 tests/qemumigparamsdata/tls.json
create mode 100644 tests/qemumigparamsdata/tls.reply
create mode 100644 tests/qemumigparamsdata/tls.xml
create mode 100644 tests/qemumigparamsdata/unsupported.json
create mode 100644 tests/qemumigparamsdata/unsupported.reply
create mode 100644 tests/qemumigparamsdata/unsupported.xml
create mode 100644 tests/qemumigparamstest.c
create mode 100644 tests/qemustatusxml2xmldata/migration-in-params-in.xml
create mode 120000 tests/qemustatusxml2xmldata/migration-in-params-out.xml
mode change 120000 => 100644 tests/qemustatusxml2xmldata/migration-out-nbd-out.xml
create mode 100644 tests/qemustatusxml2xmldata/migration-out-params-in.xml
create mode 120000 tests/qemustatusxml2xmldata/migration-out-params-out.xml
--
2.17.0
6 years, 7 months
[libvirt] [PATCH 0/2] Two almost trivial fixes
by Michal Privoznik
Any review appreciated.
Michal Privoznik (2):
storageVolLookupData: Drop conn struct member
storageDriverAutostart: Drop unused @conn
src/storage/storage_driver.c | 9 ++-------
src/test/test_driver.c | 5 ++---
2 files changed, 4 insertions(+), 10 deletions(-)
--
2.16.1
6 years, 7 months
[libvirt] [PATCH 0/7] Prepare for daemon split
by Daniel P. Berrangé
When we split up the daemons, libvirtd will need to forward different
sets of APIs to different daemons. This means libvirtd is going to need
to have multiple virConnectPtr instances open.
This series prepares for that by introducing "separate" connections,
which are actually just an extra reference on the current single
connection. This will facilitate later changes.
Daniel P. Berrangé (7):
rpc: refactor way connection object is generated for remote dispatch
remote: use a separate connection for interface APIs
remote: use a separate connection for network APIs
remote: use a separate connection for nodedev APIs
remote: use a separate connection for nwfilter APIs
remote: use a separate connection for secret APIs
remote: use a separate connection for storage APIs
src/remote/remote_daemon.h | 6 +++
src/remote/remote_daemon_dispatch.c | 81 +++++++++++++++++++------------
src/rpc/gendispatch.pl | 95 ++++++++++++++++++++++++++++---------
3 files changed, 128 insertions(+), 54 deletions(-)
--
2.14.3
6 years, 7 months
[libvirt] [PATCH] util: fix spelling in virSocketAddrParseAny docs
by Jim Fehlig
s/netork/network/
Signed-off-by: Jim Fehlig <jfehlig(a)suse.com>
---
Pushing as trivial.
src/util/virsocketaddr.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/util/virsocketaddr.c b/src/util/virsocketaddr.c
index 4f2457629..5c3bfad0a 100644
--- a/src/util/virsocketaddr.c
+++ b/src/util/virsocketaddr.c
@@ -176,7 +176,7 @@ int virSocketAddrParse(virSocketAddrPtr addr, const char *val, int family)
* or 2001:db8:85a3:0:0:8a2e:370:7334.
*
* When @val is a network host name, this function may be susceptible to a
- * delay due to potentially lengthy netork host address lookups.
+ * delay due to potentially lengthy network host address lookups.
*
* Returns the length of the network address or -1 in case of error.
*/
--
2.16.2
6 years, 7 months
[libvirt] anyone ever seen virDomainCreateWithFlags() essentially hang?
by Chris Friesen
I'm investigating something weird with libvirt 1.2.17 and qemu 2.3.0.
I'm using the python bindings, and I seem to have a case where
libvirtmod.virDomainCreateWithFlags() hung rather than returned. Then, about
15min later a subsequent call to libvirtmod.virDomainDestroy() from a different
eventlet within the same process seems to have "unblocked" the original creation
call, which raised an exception and an error code of
libvirt.VIR_ERR_INTERNAL_ERROR. The virDomainDestroy() call came back with an
error of "Requested operation is not valid: domain is not running".
The corresponding qemu logs show the guest starting up and then a bit over 15min
later there is a "shutting down" log. At shutdown time the libvirtd log shows
"qemuMonitorIORead:609 : Unable to read from monitor: Connection reset by peer".
The parent function did two additional retries, and both the retries failed in
similar fashion.
In all three caess there seems to be a pattern of the qemu instance starting up
but virDomainCreateWithFlags() not returning, then a subsequent
virDomainDestroy() call for the same domain causing the
virDomainCreateWithFlags() call to get "unblocked" and return -1 leading to an
exception in the python code.
Any ideas what might cause this behaviour?
I haven't reproduced the "hanging" behaviour myself, I'm working entirely off of
logs from the affected system.
Thanks,
Chris
6 years, 7 months
[libvirt] Run libvirtd from git: virsh hangs
by Mathieu Tarral
Hi,
I managed to compile libvirt from the git repo,
now i have some trouble to run it.
This is what i did:
I configured the source to use /var because i wanted the socket
to be at the same place as the system one
(/var/run/libvirt/libvirt-sock)
./configure --prefix=$HOME/usr --localstatedir=/var
make
make install
at this point i stopped my system libvirtd and virtlogd
sudo systemctl stop libvirtd
sudo systemctl stop virtlogd
And then i launched my custom libvirtd and virtlogd
cd $HOME/usr/sbin
sudo ./libvirtd -v
sudo ./virtlogd -v
After that i tried to list the available domains with virsh (using the
system binary)
sudo virsh
virsh # list --all
And this call hangs forever.
There is no more output in libvirtd stdout/stderr, even if i set log_level to 1.
Did i miss anything in the configuration ?
Thanks guys !
--
Mathieu Tarral
6 years, 7 months
[libvirt] [PATCH v4 0/3] Improve handling of multipath devices
by Michal Privoznik
The saga continues.
v3:
https://www.redhat.com/archives/libvir-list/2018-April/msg00083.html
diff to v3:
- hopefully all Peter's review comments are worked in now.
Michal Privoznik (3):
util: Introduce virDevMapperGetTargets
qemu_cgroup: Handle device mapper targets properly
news: Document device mapper fix
docs/news.xml | 12 +++
libvirt.spec.in | 2 +
src/libvirt_private.syms | 4 +
src/qemu/qemu_cgroup.c | 46 ++++++++++-
src/util/Makefile.inc.am | 2 +
src/util/virdevmapper.c | 199 +++++++++++++++++++++++++++++++++++++++++++++++
src/util/virdevmapper.h | 31 ++++++++
7 files changed, 293 insertions(+), 3 deletions(-)
create mode 100644 src/util/virdevmapper.c
create mode 100644 src/util/virdevmapper.h
--
2.16.1
6 years, 7 months
[libvirt] [dbus PATCH] test: Don't hardcode python3 path
by Andrea Bolognani
Using /usr/bin/python3 is fine for Linux, but it's not portable
to other operating systems such as FreeBSD, where the binary
lives under /usr/local/bin instead.
Use /usr/bin/env to abstract the issue away. With this, 'make
check' completes successfully on FreeBSD 10, 11 and -CURRENT.
Signed-off-by: Andrea Bolognani <abologna(a)redhat.com>
---
test/test_connect.py | 2 +-
test/test_domain.py | 2 +-
test/test_network.py | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/test/test_connect.py b/test/test_connect.py
index 440a496..d972561 100755
--- a/test/test_connect.py
+++ b/test/test_connect.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python3
+#!/usr/bin/env python3
import dbus
import libvirttest
diff --git a/test/test_domain.py b/test/test_domain.py
index d36adf7..7ec2318 100755
--- a/test/test_domain.py
+++ b/test/test_domain.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python3
+#!/usr/bin/env python3
import dbus
import libvirttest
diff --git a/test/test_network.py b/test/test_network.py
index 97ab0aa..5178862 100755
--- a/test/test_network.py
+++ b/test/test_network.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python3
+#!/usr/bin/env python3
import dbus
import libvirttest
--
2.14.3
6 years, 7 months