[libvirt] [PATCH 0/7] Addition host name check for network storage pools
by John Ferlan
https://bugzilla.redhat.com/show_bug.cgi?id=1171984
As a followon to a recent series to conslidate the various network
source host checks into a single API, this series of patches takes the
next steps.
First off existing code assumed the provided "<host name='%s'>" string
resolved to a valid IP Address; however, that's not necessarily the case.
So rather than assume the path is valid during the various networked
pool startup, open, mount, etc API's check to make sure the host name
can be resolved. More than like the processing was going to fail anyway,
so failing a bit sooner and with a message indicating the problem might
help someone resolve it.
Second now that we hope the running pools are using a resolved name,
check the new/incoming definitions to make sure that their host name
strings do not duplicate an existing/running pool. The existing check
only compares the strings for equality, but with networks a name could
be an IP Address by number (IPv4 or IPv6) or a name that would need to
be resolved. If that name resolves to the same IP Address already running,
then we fail the attempted new pool definition.
John Ferlan (7):
virutil: Introduce virIsValidHostname
iscsi: Check for validity of pool source hostname
netfs: Check for validity of pool source hostname
gluster: Check for validity of pool source hostname
sheepdog: Check for validity of pool source hostname
util: Introduce virIsSameHostnameInfo
storage: Check for duplicate host for incoming pool def
src/conf/storage_conf.c | 11 ++-
src/libvirt_private.syms | 2 +
src/storage/storage_backend_fs.c | 2 +
src/storage/storage_backend_gluster.c | 3 +
src/storage/storage_backend_iscsi.c | 7 ++
src/storage/storage_backend_sheepdog.c | 36 +++++---
src/util/virutil.c | 155 +++++++++++++++++++++++++++++++++
src/util/virutil.h | 3 +
8 files changed, 205 insertions(+), 14 deletions(-)
--
2.1.0
9 years, 6 months
[libvirt] [PATCH v3] polkit: Allow password-less access for 'libvirt' group
by Cole Robinson
Many users, who admin their own machines, want to be able to access
system libvirtd via tools like virt-manager without having to enter
a root password. Just google 'virt-manager without password' and
you'll find many hits. I've read at least 5 blog posts over the years
describing slightly different ways of achieving this goal.
Let's finally add official support for this.
Install a polkit-1 rules file granting password-less auth for any user
in the new 'libvirt' group. Create the group on RPM install
https://bugzilla.redhat.com/show_bug.cgi?id=957300
---
v3:
Back to group=libvirt to match what debian and suse are using
Patch is unchanged otherwise. So unless there's objects all carry
over the previous ACK from danpb and push after the release is out
daemon/Makefile.am | 13 +++++++++++++
daemon/libvirt.rules | 9 +++++++++
libvirt.spec.in | 15 +++++++++++++--
3 files changed, 35 insertions(+), 2 deletions(-)
create mode 100644 daemon/libvirt.rules
diff --git a/daemon/Makefile.am b/daemon/Makefile.am
index 300b9a5..974feed 100644
--- a/daemon/Makefile.am
+++ b/daemon/Makefile.am
@@ -53,6 +53,7 @@ EXTRA_DIST = \
libvirtd.init.in \
libvirtd.upstart \
libvirtd.policy.in \
+ libvirt.rules \
libvirtd.sasl \
libvirtd.service.in \
libvirtd.socket.in \
@@ -233,6 +234,8 @@ policyauth = auth_admin_keep_session
else ! WITH_POLKIT0
policydir = $(datadir)/polkit-1/actions
policyauth = auth_admin_keep
+rulesdir = $(datadir)/polkit-1/rules.d
+rulesfile = libvirt.rules
endif ! WITH_POLKIT0
endif WITH_POLKIT
@@ -263,9 +266,19 @@ if WITH_POLKIT
install-data-polkit::
$(MKDIR_P) $(DESTDIR)$(policydir)
$(INSTALL_DATA) libvirtd.policy $(DESTDIR)$(policydir)/org.libvirt.unix.policy
+if ! WITH_POLKIT0
+ $(MKDIR_P) $(DESTDIR)$(rulesdir)
+ $(INSTALL_DATA) $(srcdir)/$(rulesfile) $(DESTDIR)$(rulesdir)/50-libvirt.rules
+endif ! WITH_POLKIT0
+
uninstall-data-polkit::
rm -f $(DESTDIR)$(policydir)/org.libvirt.unix.policy
rmdir $(DESTDIR)$(policydir) || :
+if ! WITH_POLKIT0
+ rm -f $(DESTDIR)$(rulesdir)/50-libvirt.rules
+ rmdir $(DESTDIR)$(rulesdir) || :
+endif ! WITH_POLKIT0
+
else ! WITH_POLKIT
install-data-polkit::
uninstall-data-polkit::
diff --git a/daemon/libvirt.rules b/daemon/libvirt.rules
new file mode 100644
index 0000000..01a15fa
--- /dev/null
+++ b/daemon/libvirt.rules
@@ -0,0 +1,9 @@
+// Allow any user in the 'libvirt' group to connect to system libvirtd
+// without entering a password.
+
+polkit.addRule(function(action, subject) {
+ if (action.id == "org.libvirt.unix.manage" &&
+ subject.isInGroup("libvirt")) {
+ return polkit.Result.YES;
+ }
+});
diff --git a/libvirt.spec.in b/libvirt.spec.in
index 20af502..c71ef25 100644
--- a/libvirt.spec.in
+++ b/libvirt.spec.in
@@ -1645,9 +1645,9 @@ then
fi
%if %{with_libvirtd}
+%pre daemon
%if ! %{with_driver_modules}
%if %{with_qemu}
-%pre daemon
%if 0%{?fedora} || 0%{?rhel} >= 6
# We want soft static allocation of well-known ids, as disk images
# are commonly shared across NFS mounts by id rather than name; see
@@ -1661,11 +1661,21 @@ if ! getent passwd qemu >/dev/null; then
useradd -r -g qemu -G kvm -d / -s /sbin/nologin -c "qemu user" qemu
fi
fi
-exit 0
%endif
%endif
%endif
+ %if %{with_polkit}
+ %if 0%{?fedora} || 0%{?rhel} >= 6
+# 'libvirt' group is just to allow password-less polkit access to
+# libvirtd. The uid number is irrelevant, so we use dynamic allocation
+# described at the above link.
+getent group libvirt >/dev/null || groupadd -r libvirt
+ %endif
+ %endif
+
+exit 0
+
%post daemon
%if %{with_systemd}
@@ -1939,6 +1949,7 @@ exit 0
%if 0%{?fedora} || 0%{?rhel} >= 6
%{_datadir}/polkit-1/actions/org.libvirt.unix.policy
%{_datadir}/polkit-1/actions/org.libvirt.api.policy
+%{_datadir}/polkit-1/rules.d/50-libvirt.rules
%else
%{_datadir}/PolicyKit/policy/org.libvirt.unix.policy
%endif
--
2.3.6
9 years, 6 months
[libvirt] [PATCH v2 0/2] Introduce GIC for aarch64
by Michal Privoznik
diff to v1:
- John's review worked in (hopefully)
Michal Privoznik (2):
Introduce GIC feature
qemu: Implement GIC
docs/formatdomain.html.in | 10 ++++++
docs/schemas/domaincommon.rng | 11 ++++++-
src/conf/domain_conf.c | 37 +++++++++++++++++++++-
src/conf/domain_conf.h | 2 ++
src/qemu/qemu_command.c | 13 ++++++++
.../qemuxml2argvdata/qemuxml2argv-aarch64-gic.args | 6 ++++
.../qemuxml2argvdata/qemuxml2argv-aarch64-gic.xml | 26 +++++++++++++++
tests/qemuxml2argvtest.c | 2 ++
8 files changed, 105 insertions(+), 2 deletions(-)
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic.args
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic.xml
--
2.3.6
9 years, 6 months
[libvirt] [PATCH] tests: Fix grammar in comments.
by Andrea Bolognani
Replace all occurrences of "stream write to differences to"
with "stream to write differences to".
---
tests/testutils.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/tests/testutils.c b/tests/testutils.c
index 6a8fe6a..89026c6 100644
--- a/tests/testutils.c
+++ b/tests/testutils.c
@@ -458,7 +458,7 @@ virtTestCaptureProgramOutput(const char *const argv[] ATTRIBUTE_UNUSED,
/**
- * @param stream: output stream write to differences to
+ * @param stream: output stream to write differences to
* @param expect: expected output text
* @param expectName: name designator of the expected text
* @param actual: actual output text
@@ -532,7 +532,7 @@ int virtTestDifferenceFull(FILE *stream,
}
/**
- * @param stream: output stream write to differences to
+ * @param stream: output stream to write differences to
* @param expect: expected output text
* @param actual: actual output text
*
@@ -548,7 +548,7 @@ int virtTestDifference(FILE *stream,
/**
- * @param stream: output stream write to differences to
+ * @param stream: output stream to write differences to
* @param expect: expected output text
* @param actual: actual output text
*
--
2.1.0
9 years, 6 months
[libvirt] [PATCH] qemu: improve error message for domain stats API
by Pavel Hrdina
Filtering specific list of domains is not supported yet. Print a better
error message.
old error message:
error: unsupported flags (0x1) in function qemuConnectGetAllDomainStats
new error message:
error: using filters with list of domains is not implemented yet
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1143837
Signed-off-by: Pavel Hrdina <phrdina(a)redhat.com>
Signed-off-by: Luyao Huang <lhuang(a)redhat.com>
---
Based on https://www.redhat.com/archives/libvir-list/2014-November/msg00069.html
with different commit and error message.
src/qemu/qemu_driver.c | 22 +++++++++++++---------
1 file changed, 13 insertions(+), 9 deletions(-)
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index f8d493d..b88e2cc 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -19809,15 +19809,19 @@ qemuConnectGetAllDomainStats(virConnectPtr conn,
unsigned int privflags = 0;
unsigned int domflags = 0;
- if (ndoms)
- virCheckFlags(VIR_CONNECT_GET_ALL_DOMAINS_STATS_BACKING |
- VIR_CONNECT_GET_ALL_DOMAINS_STATS_ENFORCE_STATS, -1);
- else
- virCheckFlags(VIR_CONNECT_LIST_DOMAINS_FILTERS_ACTIVE |
- VIR_CONNECT_LIST_DOMAINS_FILTERS_PERSISTENT |
- VIR_CONNECT_LIST_DOMAINS_FILTERS_STATE |
- VIR_CONNECT_GET_ALL_DOMAINS_STATS_BACKING |
- VIR_CONNECT_GET_ALL_DOMAINS_STATS_ENFORCE_STATS, -1);
+ if (ndoms && (flags & (VIR_CONNECT_LIST_DOMAINS_FILTERS_ACTIVE |
+ VIR_CONNECT_LIST_DOMAINS_FILTERS_PERSISTENT |
+ VIR_CONNECT_LIST_DOMAINS_FILTERS_STATE))) {
+ virReportInvalidArg(flags, "%s", _("using filters with list of domains "
+ "is not implemented yet"));
+ return -1;
+ }
+
+ virCheckFlags(VIR_CONNECT_LIST_DOMAINS_FILTERS_ACTIVE |
+ VIR_CONNECT_LIST_DOMAINS_FILTERS_PERSISTENT |
+ VIR_CONNECT_LIST_DOMAINS_FILTERS_STATE |
+ VIR_CONNECT_GET_ALL_DOMAINS_STATS_BACKING |
+ VIR_CONNECT_GET_ALL_DOMAINS_STATS_ENFORCE_STATS, -1);
if (virConnectGetAllDomainStatsEnsureACL(conn) < 0)
return -1;
--
2.3.6
9 years, 6 months
[libvirt] [PATCH] Bump version to 1.2.16 for new dev cycle
by Jiri Denemark
Signed-off-by: Jiri Denemark <jdenemar(a)redhat.com>
---
Pushed as trivial.
configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index d5fb71d..6122fa5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -16,7 +16,7 @@ dnl You should have received a copy of the GNU Lesser General Public
dnl License along with this library. If not, see
dnl <http://www.gnu.org/licenses/>.
-AC_INIT([libvirt], [1.2.15], [libvir-list(a)redhat.com], [], [http://libvirt.org])
+AC_INIT([libvirt], [1.2.16], [libvir-list(a)redhat.com], [], [http://libvirt.org])
AC_CONFIG_SRCDIR([src/libvirt.c])
AC_CONFIG_AUX_DIR([build-aux])
AC_CONFIG_HEADERS([config.h])
--
2.4.0
9 years, 6 months
[libvirt] [PATCH] qemu: fix the vm deadlock when delete an unexist iothread
by Luyao Huang
https://bugzilla.redhat.com/show_bug.cgi?id=1218145
Jump to endjob instead of cleanup to fix this deadlock.
Signed-off-by: Luyao Huang <lhuang(a)redhat.com>
---
src/qemu/qemu_driver.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index 3695b26..5e998c9 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -6379,7 +6379,7 @@ qemuDomainChgIOThread(virQEMUDriverPtr driver,
_("cannot find IOThread '%u' in persistent "
"iothreadids"),
iothread_id);
- goto cleanup;
+ goto endjob;
}
virDomainIOThreadIDDel(persistentDef, iothread_id);
--
1.8.3.1
9 years, 6 months
[libvirt] Release of libvirt-1.2.15
by Daniel Veillard
It's out ! Libvirt 1.2.15 is released, I tagged it in git and
provided signed tarballs and rpms available at the usual place:
ftp://libvirt.org/libvirt/
I also pushed a python bindings release too at:
ftp://libvirt.org/libvirt/python/
This is again a reasonably large release with around 375 patches
merged in, including a fairly large set of bug fixes across all
areas. A few user visible features and a large set of improvements
are there too:
Features:
- Implement virDomainAddIOThread and virDomainDelIOThread (John Ferlan)
- libxl: Introduce configuration file for libxl driver (Jim Fehlig)
- Add VIR_DOMAIN_EVENT_ID_DEVICE_ADDED event (Ján Tomko)
- various improvements to parallels driver (Maxim Nestratov, Dmitry Guryanov)
Documentation:
- qemu: Fix comment for timeDelta (Jiri Denemark)
- Fix typo in comment about memory binding (zhang bo)
- virhostdev: Fix comments for virHostdevReAttachPCIDevices (John Ferlan)
- Add articles to virDomainDeviceDetachFlags docs (Ján Tomko)
- lib: snapshot: Explain that only one layer of images is inserted (Peter Krempa)
- Visually separate snapshot disk subelements (Ján Tomko)
- Add info (where necessary) that paths should be specified as absolute (Erik Skultety)
- Typos: Get rid of dependan(t|cies) (Martin Kletzander)
- Add Host sFlow into monitoring apps (Martin Kletzander)
Portability:
- Fix building virnetserverclientmock with MinGW (Martin Kletzander)
- Cleanup parameters for mock libraries (Martin Kletzander)
- Cleanup srcdir usage (Michal Privoznik)
- Add missing linker flags for MinGW build (Pavel Fedin)
- build: add pragma directive to fix build on some gcc (Pavel Hrdina)
- build: avoid obsolete index() (Eric Blake)
- util: fix build on non-Linux (Roman Bogorodskiy)
- vircapstest: fix build without LXC, QEMU or XEN (Roman Bogorodskiy)
- virbuffer: fix build on rhel-6 (Pavel Hrdina)
- tests: fix build on old 32-bit platforms (Eric Blake)
- build: provide virNetDevSysfsFile on non-Linux (Eric Blake)
- build: include correct header for time() (Eric Blake)
- xen: fix build error on rhel-5 (Pavel Hrdina)
- qemu: Avoid shadow of 'sync' symbol (Peter Krempa)
Bug Fixes:
- qemu: Fix bus and lun checks when scsi-disk.channel not present (John Ferlan)
- rpm-build: update %files section for libxl (Pavel Hrdina)
- qemu: blockjob: Call qemuDomainSupportsBlockJobs only on online VMs (Peter Krempa)
- qemu: Check address type for USB disks (Jiri Denemark)
- cpu: Honor vendor_id override in host-model (Jiri Denemark)
- iscsi: do not fail to stop a stopped pool (Ján Tomko)
- qemu: conf: Reject memory device if it would exceed configured max size (Peter Krempa)
- qemu: blockCopy: Allow reuse of raw image for shallow block copy (Peter Krempa)
- tests: free ChardevInfo correctly in qemumonitorjsontest (Zhang Bo)
- storage: fs: Ignore volumes that fail to open with EACCESS/EPERM (Cole Robinson)
- storage: If driver startup state syncing fails, delete statefile (Cole Robinson)
- storage: Don't leave stale state file if pool startup fails (Cole Robinson)
- storage: Fix autostart dir for qemu:///session (Cole Robinson)
- qemu: qemuProcessDetectIOThreadPIDs invert checks (John Ferlan)
- conf: Resolve some Coverity errors (John Ferlan)
- network: check newDef for used bridge names in addition to def (Laine Stump)
- network: check for bridge name conflict with existing devices (Laine Stump)
- network: move auto-assign of bridge name from XML parser to net driver (Laine Stump)
- test: Fix actual vs. expected in virtTestCompareFiles (Laine Stump)
- qemu: Resolve Coverity DEADCODE (John Ferlan)
- util: fix memleak in virStorageSourceClear (zhang bo)
- storage: Resolve Coverity UNINIT (John Ferlan)
- Fix check for return value of qemuDomainAgentAvailable() (Martin Kletzander)
- conf: fix memleak in virDomainHostdevDefClear (Zhang Bo)
- conf: fix memleak in virDomainNetIpParseXML (Zhang Bo)
- qemu: fix memleak in virCapabilitiesDomainDataLookup (Zhang Bo)
- qemu: fix memleaks in qemuBuildCommandLine (Zhang Bo)
- util: fix memleak in virFindSCSIHostByPCI (Zhang Bo)
- tests: fix some memleaks in tests (Zhang Bo)
- qemu: Fix domain object leak in qemuDomainInterfaceAddresses (Peter Krempa)
- libxl: initialize sdl.opengl defbool in libxlMakeVfb (Jim Fehlig)
- libxl: initialize vfb defbools in libxlMakeVfb (Olaf Hering)
- parallels: fix crash in prlsdkAddNet in case of CT definition (Maxim Nestratov)
- bhyve: fix build in tests (Roman Bogorodskiy)
- Fix memory leak in virNetSocketNewConnectUNIX (Jiri Denemark)
- parallels: fix IS_CT macro (Maxim Nestratov)
- rng: fix port number range validation (Daniel P. Berrange)
- qemu: Don't fail to reboot domains with unresponsive agent (zhang bo)
- bhyve: fix build in tests (Roman Bogorodskiy)
- spec: Fix libxl build with driver modules (Cole Robinson)
- configure: Fix --loader-nvram typo (Cole Robinson)
- parallels: don't forget to unlock domain after successful virDomainObjListFindByUUID call (Maxim Nestratov)
- vircommand: fix polling in virCommandProcessIO (Roman Bogorodskiy)
- util: storage: Fix possible crash when source path is NULL (Peter Krempa)
- qemu: Fix issues with maxMemory in qemuDomainSetMemoryFlags() (Luyao Huang)
- qemu: set macvtap physdevs online when macvtap is set online (Laine Stump)
- util: set MAC address for VF via netlink message to PF+VF# when possible (Laine Stump)
- qemu: Always refresh capabilities if no <guests> found (Cole Robinson)
- scsi: Adjust return values from processLU (John Ferlan)
- storage: Fix check for stable path check (John Ferlan)
- domtop: Properly free cpu status (Michal Privoznik)
- parallels: fix return status for parallelsConnectOpen (Nikolay Shirokovskiy)
- lxc: fix starting a domain with non-strict numa memory mode (Luyao Huang)
- lxc: fix starting a domain with a cpuset but no numatune (Luyao Huang)
- rng: Forbid to validate mismatched <disk> 'device' and 'type' attributes (Erik Skultety)
- domcaps: Check for architecture more wisely (Michal Privoznik)
- virNetSocketNewConnectUNIX: Don't unlink(NULL) (Michal Privoznik)
- libxl: drop virDomainObj lock when destroying a domain (Jim Fehlig)
- libxl: acquire a job when destroying a domain (Jim Fehlig)
- virCondWaitUntil: calculate timespec correctly (Michael Chapman)
- qemu: bulk stats: Ignore errors from missing/inaccessible disks (Peter Krempa)
- Strip control codes in virBufferEscapeString (Ján Tomko)
- Ignore storage volumes with control codes in their names (Ján Tomko)
- Strip control characters from sysfs attributes (Ján Tomko)
- tests: Resolve Coverity RESOURCE_LEAK (John Ferlan)
- virsh: fix regression in 'virsh event' by domain (Eric Blake)
- qemu: monitor: Fix qemuMonitorGetAllBlockStatsInfo with HMP (Peter Krempa)
- qemu: monitor: Ensure that qemuMonitorSetLink is called with non-null name (Peter Krempa)
- virNetSocketNewConnectUNIX: Use flocks when spawning a daemon (Michal Privoznik)
- sanlock: Use VIR_ERR_RESOURCE_BUSY if sanlock_acquire fails (Jiri Denemark)
- hostdev: fix loop index error when resetvfnetconfig (Huanle Han)
- qemu: fix index error when clean up vport profile (Huanle Han)
- virt-aa-helper: add unix channels (esp for qemu-guest-agent) (Serge Hallyn)
- qemu: save domain status after set memory parameters (Shanzhi Yu)
- virsh: improve the error for wrong memtune parameters (Shanzhi Yu)
- qemu: drivePivot: Fix assumption when 'block-job-complete' fails (Peter Krempa)
- qemu: Fix condition for checking vcpu when pinning vcpus (Peter Krempa)
- qemu: Enforce WWN to be unique among VM's disks (Peter Krempa)
- virBitmap: Place virBitmapIsAllClear check after virBitmapParse calls (Erik Skultety)
- Fix usb device version parsing issues (Ján Tomko)
- Support IPv6 in networkGetNetworkAddress (Ján Tomko)
- util: Update virNetDevGetIPAddress to get IPv6 addresses (Luyao Huang)
- parallels: fix virDomainDefineXML for domain in saved state (Dmitry Guryanov)
- conf: fix virDomainDefFormatInternal for parallels (Dmitry Guryanov)
- conf: fix virDomainDefParseXML for parallels (Dmitry Guryanov)
- storage: Don't duplicate efforts of backend driver (John Ferlan)
- storage: Need to update freeExtent at delete primary partition (John Ferlan)
- storage: Fix issues in storageVolResize (John Ferlan)
- Open /proc/PID/ns/* read-only to avoid getting permission denied (Cédric Bosdonnat)
- lxc: create the required directories upon driver start (Lubomir Rintel)
- util: file: Don't carelessly sanitize URIs (Peter Krempa)
- fix memleak in qemuRestoreCgroupState (Luyao Huang)
- qemuProcessHook: Call virNuma*() only when needed (Michal Privoznik)
- parallels: delete old networks in prlsdkDoApplyConfig before adding new ones (Maxim Nestratov)
- util: fix removal of callbacks in virCloseCallbacksRun (Michael Chapman)
- qemu: fix race between disk mirror fail and cancel (Michael Chapman)
- qemu: fix error propagation in qemuMigrationBegin (Michael Chapman)
- qemu: fix crash in qemuProcessAutoDestroy (Michael Chapman)
- virQEMUDriverGetConfig: Fix memleak (Michal Privoznik)
- virDomainVirtioSerialAddrSetFree: Fix memleak (Michal Privoznik)
- qemuSetupCgroupForVcpu: Fix memleak (Michal Privoznik)
- libvirt: virsh: Kill all uses of __FUNCTION__ in error messages (Noella Ashu)
- virsh: Fix domifaddr output in quiet mode (Luyao Huang)
- libxl: fix dom0 balloon logic (Jim Fehlig)
- hostdev: Fix index error in loop after remove an element (Huanle Han)
- Fix xlconfigtest with older libxl (Ján Tomko)
- iscsi: Fix exit path for virStorageBackendISCSIFindLUs failure (John Ferlan)
- qemuDomainBlockCopy: Check @granularity to be a power of two (Luyao Huang)
- nodeinfodata: Remove broken symlinks and uneeded files (Michal Privoznik)
- qemu: lifecycle: make agent-mode shutdown and reboot timeout (zhang bo)
Improvements:
- main: add new generated files to .gitignore (Pavel Hrdina)
- libxl: provide integration with lock manager (Jim Fehlig)
- domain: conf: Drop unused OSTYPE_AIX (Cole Robinson)
- qemu: migration: use sync block job helpers (Michael Chapman)
- qemuDomainBlockJobAbort: use sync block job helpers (Michael Chapman)
- qemuProcessStop: wake up pending sync block jobs (Michael Chapman)
- qemuBlockJobSync*: introduce sync block job helpers (Michael Chapman)
- qemuBlockJobEventProcess: move to new source file (Michael Chapman)
- qemu: Validate available slot count for memory devices (Peter Krempa)
- qemu: command: Validate that memory devices slot ID is in range (Peter Krempa)
- parallels: implement domainDetachDevice and domainDetachDeviceFlags (Maxim Nestratov)
- parallels: add prlsdkDelDisk and prlsdkGetDiskIndex functions (Maxim Nestratov)
- qemu: make qemuMonitorChardevInfoFree non-static (Zhang Bo)
- storage: Break out storageDriverLoadPoolState (Cole Robinson)
- qemu: Remove need for qemuMonitorIOThreadInfoFree (John Ferlan)
- qemu: Remove need for qemuDomainParseIOThreadAlias (John Ferlan)
- conf: explicitly initialize 'cpumask' variable (Roman Bogorodskiy)
- virsh: Add iothreadadd and iothreaddel commands (John Ferlan)
- qemu: Add support to Add/Delete IOThreads (John Ferlan)
- domain: Introduce virDomainIOThreadSchedDelId (John Ferlan)
- remote: Add support for AddIOThread and DelIOThread (John Ferlan)
- conf: Adjust the iothreadsched expectations (John Ferlan)
- Move iothreadspin information into iothreadids (John Ferlan)
- conf: Move virDomainPinIsDuplicate and make static (John Ferlan)
- qemu: Use domain iothreadids to IOThread's 'thread_id' (John Ferlan)
- conf: Add new domain XML element 'iothreadids' (John Ferlan)
- openvz: Drop useless domain lookup (Michal Privoznik)
- qemu: Connect to guest agent after channel hotplug (Peter Krempa)
- qemu: agent: Differentiate errors when the agent channel was hotplugged (Peter Krempa)
- qemu: Reuse qemuDomainAgentAvailable in qemuDomainInterfaceAddresses (Peter Krempa)
- qemu: agent: Reuse virJSONValueObjectCreateVArgs in qemuAgentMakeCommand (Peter Krempa)
- libxl: remove duplicate check for pci subsystem type (Olaf Hering)
- libxl: use pci init and dispose functions (Olaf Hering)
- hostdev: fix net config restore error (Huanle Han)
- hostdev: Create virHostdevIsPCINetDevice (Huanle Han)
- qemu: Build nvram directory at driver startup (Cole Robinson)
- qemu: Build channel autosocket directory at driver startup (Cole Robinson)
- qemu: chown autoDumpPath on driver startup (Cole Robinson)
- qemu: conf: Clarify paths that are relative to libDir (Cole Robinson)
- tests: qemu: Couple aarch64 CPU tests (Cole Robinson)
- migration: Usable time statistics without requiring NTP (Jiri Denemark)
- uml: s/virDomainObjListFindByID/virDomainObjListFindByUUID/ (Michal Privoznik)
- virDomainObjList: Introduce yet another hash table (Michal Privoznik)
- virDomainObjListFindByName: Return referenced object (Michal Privoznik)
- Introduce virDomainObjEndAPI (Michal Privoznik)
- virDomainObjListNew: Use virObjectFreeHashData (Michal Privoznik)
- virDomainObjListAddLocked: s/false/NULL/ for @oldDef (Michal Privoznik)
- parallels: implement .domainGetMaxMemory (Dmitry Guryanov)
- Apparmor: allow reading block-rbd.so (Cédric Bosdonnat)
- Allow access to vendor and device file for PCI device passthrough (Cédric Bosdonnat)
- qemu: cgroup: Fix priorities when setting emulatorpin (Peter Krempa)
- tests: Add VIR_TEST_REGENERATE_OUTPUT (Cole Robinson)
- tests: Add virtTestCompareToFile (Cole Robinson)
- tests: Use *DefParseFile more (Cole Robinson)
- tests: Add VIR_TEST_DEBUG and VIR_TEST_VERBOSE (Cole Robinson)
- parallels_sdk: Utilize parallelsDomObjFromDomain() (Michal Privoznik)
- parallels_driver: Utilize parallelsDomObjFromDomain() (Michal Privoznik)
- parallels: Introduce parallelsDomObjFromDomain() (Michal Privoznik)
- struct _parallelsConn: Mark @domains as immutable pointer (Michal Privoznik)
- spec: Point fedora --with-loader-nvram at nightly firmware repo (Cole Robinson)
- configure: Report --with-loader-nvram value in summary (Cole Robinson)
- locking: relax PID requirement (Jim Fehlig)
- util: storage: Improve error message when requesting image above 'start' (Peter Krempa)
- util: storage: Add hint to error message that indexed access was used (Peter Krempa)
- util: command: Deduplicate code in virCommandNewArgList (Peter Krempa)
- qemu: migration: Refactor hostdev validation in migration check (Peter Krempa)
- processNicRxFilterChangedEvent: Take appropriate actions for NET_TYPE_NETWORK too (Michal Privoznik)
- virDomainActualNetDefContentsFormat: Format class_id only for status XML (Michal Privoznik)
- scsi: Change return values for virStorageBackendSCSIFindLUs (John Ferlan)
- scsi: Adjust return value for virStorageBackendSCSINewLun (John Ferlan)
- storage: Split out the stable path check (John Ferlan)
- xend: Remove a couple of unused function prototypes. (Richard W.M. Jones)
- domain: conf: Drop expectedVirtTypes (Cole Robinson)
- caps: Use DomainDataLookup to replace GuestDefault* (Cole Robinson)
- domain: conf: Use CapabilitiesDomainDataLookup for caps validation (Cole Robinson)
- domain: conf: Do ostype/arch/machine parsing earlier (Cole Robinson)
- caps: Add virCapabilitiesDomainDataLookup (Cole Robinson)
- caps: Convert to use VIR_DOMAIN_VIRT internally (Cole Robinson)
- domain: Convert os.type to VIR_DOMAIN_OSTYPE enum (Cole Robinson)
- caps: Switch AddGuest to take VIR_DOMAIN_OSTYPE value (Cole Robinson)
- caps: Use an enum internally for ostype value (Cole Robinson)
- domain: conf: Don't validate VM ostype/arch at daemon startup (Cole Robinson)
- domain: conf: Better errors on bad os <type> values (Cole Robinson)
- parallels: make device addressing consistent (Nikolay Shirokovskiy)
- rng: Move sgio attr definition to a separate block (Erik Skultety)
- Apparmor: removed duplicate nscd rules (Cédric Bosdonnat)
- schema: Allow multiple machines for VMs and unite architectures (Martin Kletzander)
- qemuDomainShutdownFlags: Set fakeReboot more frequently (zhang bo)
- Introduce virNetDevBandwidthUpdateFilter (Michal Privoznik)
- virnetdevbandwidth.c: Separate tc filter creation to a function (Michal Privoznik)
- virNetDevBandwidthSet: Add priority to filter (Michal Privoznik)
- virDomainActualNetDefContentsFormat: Format class_id more frequently (Michal Privoznik)
- nwfilter: Partly initialize driver even for non-privileged users (Michal Privoznik)
- lxc: move wireless PHYs to a network namespace (Lubomir Rintel)
- libxl: Move job acquisition in libxlDomainStart to callers (Jim Fehlig)
- libxl: support HVM direct kernel boot (Jim Fehlig)
- xenconfig: don't use "kernel" for hvmloader (Jim Fehlig)
- xenconfig: move <os> parsing/formating to config-specific files (Jim Fehlig)
- xenconfig: remove redunant parsing of device_model (Jim Fehlig)
- xenconfig: export xenConfigCopyString (Jim Fehlig)
- storage: Refactor virStorageBackendSCSINewLun (John Ferlan)
- qemu: monitor: Refactor and fix monitor checking (Peter Krempa)
- daemon: Prefix sysctl configuration filename with a number (Jiri Denemark)
- RNG schema: allow plain @floor to <bandwidth/> (Michal Privoznik)
- virNetDevBandwidthPlug: Update function description (Michal Privoznik)
- Add functions dealing with control characters in strings (Ján Tomko)
- tests: rename testStripIPv6BracketsData to testStripData (Ján Tomko)
- Add an example for EVENT_ID_DEVICE_ADDED (Ján Tomko)
- Emit VIR_DOMAIN_EVENT_ID_DEVICE_ADDED in the QEMU driver (Ján Tomko)
- Cleanup "/sys/class/net" usage (Michal Privoznik)
- tests: Add virnetdevtestdata to EXTRA_DIST (Michal Privoznik)
- node: udev: Remove some redundant error reports (Peter Krempa)
- virPidFileConstructPath: Drop useless VIR_FREE() (Michal Privoznik)
- qemu: monitor: @running in qemuMonitorGetStatus is always non-NULL (Peter Krempa)
- qemu: monitor: Don't use 'ret' variable where not necessary (Peter Krempa)
- qemu: monitor: Sanitize control flow in qemuMonitorSetCapabilities (Peter Krempa)
- qemu: monitor: Clean up coding style (Peter Krempa)
- json: export non-static functions (Martin Kletzander)
- Change virConnectPtr into virObjectLocklable (Martin Kletzander)
- closeCallback is already lockable, initialize it as such (Martin Kletzander)
- configure: Align messages (Martin Kletzander)
- storage: Add duplicate devices check for zfs pool def (John Ferlan)
- storage: Add duplicate source pool for Gluster pool def (John Ferlan)
- storage: Add duplicate host check for Sheepdog pool def (John Ferlan)
- storage: Remove default from switch in virStoragePoolSourceFindDuplicate (John Ferlan)
- storage: Use virStoragePoolSourceMatchSingleHost for NETFS (John Ferlan)
- storage: Add check for different ports for host duplicate matching (John Ferlan)
- storage: Create virStoragePoolSourceMatchSingleHost (John Ferlan)
- storage: Refactor iSCSI Source matching (John Ferlan)
- Introduce virnetdevtest (Michal Privoznik)
- cfg: Disallow usage of 'index' as variable name (John Ferlan)
- nwfilter: Change 'index' to 'idx' (John Ferlan)
- snapshot: Change 'index' to 'idx' (John Ferlan)
- util: Use 'idx' instead of 'index' (John Ferlan)
- qemu: Adjust the prototype to match the function (John Ferlan)
- sparc: Add default PCI root controller (Martin Kletzander)
- qemu: Use 'idx' instead of 'index' for variable name (John Ferlan)
- qemu: Refactor qemuDomainBlockJobAbort() (Peter Krempa)
- qemu: blockPull: Refactor the rest of qemuDomainBlockJobImpl (Peter Krempa)
- qemu: blockjob: Separate qemuDomainBlockJobAbort from qemuDomainBlockJobImpl (Peter Krempa)
- qemu: blockjob: Split qemuDomainBlockJobSetSpeed from qemuDomainBlockJobImpl (Peter Krempa)
- qemu: monitor: Extract handling of JSON block job error codes (Peter Krempa)
- qemu: monitor: json: Refactor error code class checker (Peter Krempa)
- conf: Refactor virDomainVcpuPinDefParseXML (Peter Krempa)
- conf: Error out if iothread id is missing in iothreadpin (Peter Krempa)
- onf: Split up virDomainVcpuPinDefParseXML (Peter Krempa)
- conf: Split out parsing of emulatorpin (Peter Krempa)
- conf: ABI: Check WWN in disk abi stability check (Peter Krempa)
- Convert virDomainPinIsDuplicate into bool return (John Ferlan)
- Rename qemuCheckIothreads to qemuCheckIOThreads (John Ferlan)
- Rewrite vshParseCPUList (Ján Tomko)
- Rewrite vshPrintPinInfo (Ján Tomko)
- Parallels: implemented domainAttachDevice (Alexander Burluka)
- Parallels: implement domainAttachDeviceFlags (Alexander Burluka)
- Parallels: remove disk serial number check (Alexander Burluka)
- Remove overengineered loop (Ján Tomko)
- Introduce struct _virStorageBackendQemuImgInfo (Ján Tomko)
- Rename virStorageBackendCreateQemuImgCmd (Ján Tomko)
- Use XPath when parsing snapshot disk definition (Ján Tomko)
- Split out storage format 'compat' attribute sanity check (Ján Tomko)
- Remove feature formating funcs from pool-specific options (Ján Tomko)
- Rewrite usb device version parsing (Ján Tomko)
- Do xml->xml test for usb-redir-filter (Ján Tomko)
- Do not require virtio-pci devices when using virtio-mmio (Ján Tomko)
- qemuMigrationPrecreateStorage: Fix debug message (Michal Privoznik)
- qemu_migration.c: sleep first before checking for migration status. (Xing Lin)
- conf: Don't output <cpu> tag if it contains no information. (Andrea Bolognani)
- qemu: qemuDomainHotplugVcpus - separate out pin adjustment code (John Ferlan)
- AUTHORS: Add my email address to AUTHORS.in (Dmitry Guryanov)
- util: Replace virNetDevGetIPv4Address with virNetDevGetIPAddress (John Ferlan)
- parallels: add implicit input devices (Dmitry Guryanov)
- conf: add input device type for parallels containers (Dmitry Guryanov)
- conf: return proper default video type for parallels (Dmitry Guryanov)
- conf: add VIR_DOMAIN_VIDEO_TYPE_PARALLELS video type (Dmitry Guryanov)
- parallels: don't fill net adapter model for containers (Dmitry Guryanov)
- parallels: fill adapter model in virDomainNetDef (Dmitry Guryanov)
- parallels: add controllers in prlsdkLoadDomain (Dmitry Guryanov)
- parallels: report, that cdroms are readonly (Dmitry Guryanov)
- parallels: implement virDomainManagedSave (Dmitry Guryanov)
- parallels: split prlsdkDomainChangeState function (Dmitry Guryanov)
- parallels: fix headers in parallels_sdk.h (Dmitry Guryanov)
- qemu: qemuDomainHotplugVcpus - separate out the del cgroup and pin (John Ferlan)
- qemu: qemuDomainHotplugVcpus - separate out the add cgroup (John Ferlan)
- cgroup: Use virCgroupNewThread (John Ferlan)
- cgroup: Introduce virCgroupNewThread (John Ferlan)
- qemu: blockPivot: Don't pause the VM any more since we don't use drive-reopen (Peter Krempa)
- qemu: Clean up old leftovers in qemuMonitorDrivePivot (Peter Krempa)
- qemu: blockjob: Use the new helpers in qemuDomainGetBlockJobInfo (Peter Krempa)
- qemu: domain: Add helper to check block job support (Peter Krempa)
- qemu: domain: Introduce helper to retrieve domain monitor object (Peter Krempa)
- Apparmor qemu abstraction fixes for SLES (Cédric Bosdonnat)
- test: Add tests for virFileSanitizePath (Peter Krempa)
- virLXCControllerSetupResourceLimits: Call virNuma*() iff needed (Michal Privoznik)
- vbox: Implement virDomainSendKey (Dawid Zamirski)
- vbox: Register IKeyboard with the unified API. (Dawid Zamirski)
- vircgroup: Introduce virCgroupControllerAvailable (Michal Privoznik)
- qemu_driver: check caps after starting block job (Michael Chapman)
- qemu_migrate: use nested job when adding NBD to cookie (Michael Chapman)
- storage: Introduce storagePoolUpdateAllState function (Erik Skultety)
- conf: Introduce virStoragePoolLoadAllState && virStoragePoolLoadState (Erik Skultety)
- storage: Add support for storage pool state XML (Erik Skultety)
- hostdev: Report the domain name for used hostdevs during nodedev-detach (Shivaprasad G Bhat)
- virsh: Improve change-media success message (Cole Robinson)
- interface: allow multiple IPv4 addresses in interface XML (Laine Stump)
- virsh.pod: Remove redundant --config from attach-interface (Jiri Denemark)
- esx: esxNodeGetFreeMemory return info from host. (Dawid Zamirski)
- esx: add esxVI_GetInt (Dawid Zamirski)
- conf: Change virStoragePoolSaveConfig prototype s/configDir/configFile (Erik Skultety)
- conf: Introduce virStoragePoolSaveState (Erik Skultety)
- conf: Introduce virStoragePoolDefFormatBuf (Erik Skultety)
- Auto add virtio-serial controllers (Ján Tomko)
- Assign an address when hotplugging a virtio-serial device (Ján Tomko)
- Expand the address set when attaching a virtio-serial controller (Ján Tomko)
- Allocate virtio-serial addresses when starting a domain (Ján Tomko)
- Add functions to track virtio-serial addresses (Ján Tomko)
- Add test for virtio serial port assignment (Ján Tomko)
- scsi: Remove unused 'type_path' in processLU (John Ferlan)
- iscsi: Use error message from virStorageBackendSCSIFindLUs (John Ferlan)
- conf: Introduce virStoragePoolSaveXML (Erik Skultety)
- storage: Remove unused attribute conn from 'checkPool' callback (Erik Skultety)
- Fix indentation in cmdVcpuPin (Ján Tomko)
- virsh: remove stale comment (Ján Tomko)
- conf: Rename virDomainHasDiskMirror and detect block jobs properly (Shanzhi Yu)
- qemu: snapshot: Check for block jobs individually (Peter Krempa)
- Remove unnecessary includes from virsh.h (Ján Tomko)
- Remove unused includes from virsh (Ján Tomko)
- Clean up headers in src/util/virutil.h (Ján Tomko)
- Do not include cpu_map.h in libvirtd.c (Ján Tomko)
- Use the DEFAULT_DRIVER_DIR macro (Ján Tomko)
- Remove unused macros (Ján Tomko)
- qemu: Copy bitmap in a sane way (Peter Krempa)
- qemu: cgroup: Kill qemuSetupCgroupVcpuPin() (Peter Krempa)
- qemu: cgroup: Kill qemuSetupCgroupIOThreadsPin() (Peter Krempa)
- qemu: cgroup: Rename qemuSetupCgroupEmulatorPin to qemuSetupCgroupCpusetCpus (Peter Krempa)
- qemu: cgroup: Use priv->autoCpuset instead of using qemuPrepareCpumap() (Peter Krempa)
- qemu: cgroup: Properly set up vcpu pinning (Peter Krempa)
- qemu: cgroup: Refactor setup for IOThread cgroups (Peter Krempa)
- qemu: cgroup: Store auto cpuset instead of re-creating it on demand (Peter Krempa)
So thanks everybody for your contributions for this release, be it
ideas, bug reports, documentations, patches, reviews ... all those releases
represent a massive amount of work !
Daniel
--
Daniel Veillard | Open Source and Standards, Red Hat
veillard(a)redhat.com | libxml Gnome XML XSLT toolkit http://xmlsoft.org/
http://veillard.com/ | virtualization library http://libvirt.org/
9 years, 6 months
[libvirt] Entering freeze for libvirt-1.2.15
by Daniel Veillard
I'm a little late, but I have now tagged candidate release 1 for
1.2.15 in git and pushed signed tarballs and rpms to the usual place:
ftp://libvirt.org/libvirt/
this seems to work for me in my limited testing, but please give
it a try, especially on less common platforms.
The https://ci.centos.org/ seems to indicate issues on building the
Perl tests as well as virt-manager regression testing, can someone dig
into what is happening there ?
I will likely push an rc2 on Thursday, and then the final release over the
week-end,
thanks!
Daniel
--
Daniel Veillard | Open Source and Standards, Red Hat
veillard(a)redhat.com | libxml Gnome XML XSLT toolkit http://xmlsoft.org/
http://veillard.com/ | virtualization library http://libvirt.org/
9 years, 6 months