[libvirt] Release of libvirt-1.2.10
by Daniel Veillard
As planned a new release is out, just in time for the OpenStack Summit.
It is tagged in git and available as signed rpms and tarballs at the
usual place:
ftp://libvirt.org/libvirt/
This is a slightly smaler than usual release, around 200 commits,
probably due top the KVM forum last month :-)
Notable improvements pushed for the vbox driver, some changes too
for the libxl one, and a big refectoring of the driver internals
though that should not be user visible. And as usual a large amount of
bug fixes and improvements:
Features:
- vbox: various drivers improvements (Taowei Luo)
- libxl: various drivers improvements (Stefan Bader)
- Internal driver refactoring (Daniel P. Berrange)
Documentation
- virsh: Adjust the text in man page regarding qemu-attach (John Ferlan)
- HACKING: Regenerate after recent change (Peter Krempa)
- fix an improper git browsable address (Chen Hanxiao)
- Mention repository locations in contributor guidelines (Martin Kletzander)
- apps: Update references to virt-p2v and virt-v2v. (Richard W.M. Jones)
- libvirt: Document UNDEFINE_NVRAM in UndefineFlags doc (Cole Robinson)
- conf: fix a wrong comment in virSocketAddrNumericFamily() (Chen Fan)
- virsh: man: Fix description of --live/--config usage (Peter Krempa)
- qemu: add short document on qemu event handlers (Laine Stump)
- fix a typo in drvlxc (Chen Hanxiao)
Portability:
- mingw: fix build failure (Pavel Hrdina)
- domain: fix parsing of memory tunables on 32-bit machines (Eric Blake)
- virnetdev: stub virNetDev{Add,Del}Multi on FreeBSD (Roman Bogorodskiy)
- Renamed internal __mon_yday into mon_yday to avoid conflicts (Cédric Bosdonnat)
- Fix build-time pkg-config files in VPATH (Jiri Denemark)
- Fix build with older libcurl (Ján Tomko)
- vbox: remove unused code that causes build failures (Martin Kletzander)
- Makefile: Fix build without driver modules (Michal Privoznik)
- build: fix build on non-Linux (Eric Blake)
- qemu: monitor: Avoid shadowing variable "devname" on FreeBSD. Again. (Peter Krempa)
Bug Fixes:
- hotplug: fix char device detach (Pavel Hrdina)
- vbox_storage: fix coverity issue with overwriting value (Pavel Hrdina)
- Relax duplicate SCSI host pool checking (Ján Tomko)
- qemu: Release nbd port from migrationPorts instead of remotePorts (weiwei li)
- libxl: fix double-free of libxl_domain_build_info (Jim Fehlig)
- Reject live update of offloading options (Ján Tomko)
- conf: forbid negative values in virDomainParseScaledValue (Martin Kletzander)
- virsh: Fix memory leak in cmdNetworkDHCPLeases (Luyao Huang)
- virutil: fix virGetSCSIHostNumber stub return type (Roman Bogorodskiy)
- virnetdev: Resolve Coverity RESOURCE_LEAK (John Ferlan)
- virnetdev: Resolve Coverity FORWARD_NULL (John Ferlan)
- virnetdev: Resolve Coverity DEADCODE (John Ferlan)
- storage: Fix crash when parsing backing store URI with schema (Peter Krempa)
- src/Makefile.am: Add forgotten backslash (Michal Privoznik)
- storage_conf: Resolve libvirtd crash matching scsi_host (John Ferlan)
- qemu-attach: Assign device aliases (John Ferlan)
- hotplug: Check for alias in net detach (John Ferlan)
- hotplug: Check for alias in chrdev detach (John Ferlan)
- hotplug: Check for alias in hostdev detach (John Ferlan)
- hotplug: Check for alias in disk detach (John Ferlan)
- hotplug: Check for alias in controller detach (John Ferlan)
- remote: fix jump depends on uninitialised value (Jincheng Miao)
- qemu: forbid snapshot-delete --children-only on external snapshot (Eric Blake)
- util: eliminate "use after free" in callers of virNetDevLinkDump (Laine Stump)
- vbox: network: make sure driver is not NULL in virRegisterNetworkDriver (Shanzhi Yu)
- hyperv: avoid query memleaks on failure (Eric Blake)
- qemu: Disallow NUMA/network tuning for session mode (Erik Skultety)
- qemu: restore: Fix restoring of VM when the restore hook returns empty XML (Peter Krempa)
- Fix cast errors with clang (Roman Bogorodskiy)
- qemu: unref cfg after TerminateMachine has been called (Martin Kletzander)
- qemu: x86_64 is good enough for i686 (Lubomir Rintel)
- qemu: move setting emulatorpin ahead of monitor showing up (Zhou yimin)
- tests: fix incorrect caps for shmem-invalid-size, shmem-small-size (Maxime Leroy)
- conf: tests: fix virDomainNetDefFormat for vhost-user in client mode (Maxime Leroy)
- libxl: add missing 'break' from commit 1298daca (Jim Fehlig)
- conf: fix an memory leak in virSocketAddrIsNumericLocalhost() (Chen Fan)
- virsh: domain: Use global constant for XML file size limit (Peter Krempa)
- Fix leftover typo '&' -> '&&' (Martin Kletzander)
- qemu: save domain status after set domain's numa parameters (Shanzhi Yu)
- qemu: call qemuDomainObjBeginJob/qemuDomainObjEndJob in qemuDomainSetInterfaceParameters (Shanzhi Yu)
- qemu: save domain status after set the blkio parameters (Shanzhi Yu)
- security_selinux: Don't relabel /dev/net/tun (Michal Privoznik)
- qemu: Remove possible NULL deref in debug output (John Ferlan)
- qemu: Remove need for virConnectPtr in hotunplug detach host, net (John Ferlan)
- qemu: Fix hot unplug of SCSI_HOST device (John Ferlan)
- util: Prepare URI formatting for libxml2 >= 2.9.2 (Martin Kletzander)
- qemu: Don't compare CPU against host for TCG (Cole Robinson)
- qemu: Fix updating balloon period in live XML (Erik Skultety)
- qemu: Fix updating bandwidth limits in live XML (Erik Skultety)
- qemu: json: Fix missing break in error reporting function (Peter Krempa)
Improvements:
- Match scsi_host pools by parent address first (Ján Tomko)
- libxl: Support user-specified <emulator> (Jim Fehlig)
- Spell TIOCSCTTY right in the error message (Ján Tomko)
- Teach virt-aa-helper to use TEMPLATE.qemu if the domain is kvm or kqemu (Cédric Bosdonnat)
- qemu: better error message when block job can't succeed (Eric Blake)
- test: Add test to verify helpers used for backing file name parsing (Peter Krempa)
- maint: add syntax check to prohibit static zero init (Eric Blake)
- maint: avoid static zero init in drivers (Eric Blake)
- maint: avoid static zero init in helpers (Eric Blake)
- maint: avoid static zero init in tests (Eric Blake)
- maint: avoid static zero init in tools (Eric Blake)
- maint: avoid static zero init in core files (Eric Blake)
- audit: use bool for audit log choice (Eric Blake)
- virutil: Introduce virGetSCSIHostNameByParentaddr (John Ferlan)
- virutil: Introduce virGetSCSIHostNumber (John Ferlan)
- vbox: Rewrite vboxStorageVolGetPath (Taowei Luo)
- vbox: Rewrite vboxStorageVolGetXMLDesc (Taowei Luo)
- vbox: Rewrite vboxStorageVolGetInfo (Taowei Luo)
- vbox: Rewrite vboxStorageVolDelete (Taowei Luo)
- vbox: Make IMediumAttachment work with vbox2.2 and 3.0 (Taowei Luo)
- vbox: Rewrite vboxStorageVolCreateXML (Taowei Luo)
- vbox: Make CreateHardDisk support all vbox versions (Taowei Luo)
- vbox: Rewrite vboxStorageVolLookupByPath (Taowei Luo)
- vbox: Make FindMedium support old vbox versions (Taowei Luo)
- vbox: Rewrite vboxStorageVolLookupByKey (Taowei Luo)
- vbox: Rewrite vboxStorageVolLookupByName (Taowei Luo)
- vbox: Rewrite vboxStoragePoolListVolumes (Taowei Luo)
- vbox: Rewrite vboxStoragePoolNumOfVolumes (Taowei Luo)
- vbox: Rewrite vbox-independent functions (Taowei Luo)
- vbox: move common codes to vbox_common.h (Taowei Luo)
- vbox: Remove VBOX_OBJECT_CHECK macro (Taowei Luo)
- vbox: Fix copyright mistake (Taowei Luo)
- virsh: Improve the job type reported of virsh cmd blockcommit (Shanzhi Yu)
- qemu_agent: Produce more readable error messages (Michal Privoznik)
- qemu: change macvtap multicast list in response to NIC_RX_FILTER_CHANGED (Tony Krowiak)
- util: Functions to update host network device's multicast filter (Tony Krowiak)
- tests: Add SELINUX_LIBS to fix viridentitytest linker bug (Julio Faracco)
- Add new driver-*.h files to DRIVER_SOURCES (Daniel P. Berrange)
- Fix indentation of sysinfo data (Daniel P. Berrange)
- Fix preprocessor indentation in libvirt.h.in (Daniel P. Berrange)
- Move virConnect related APIs out of libvirt.h.in (Daniel P. Berrange)
- Move virDomain related APIs out of libvirt.h.in (Daniel P. Berrange)
- Move virEvent related APIs out of libvirt.h.in (Daniel P. Berrange)
- Move virStoragePool/Vol related APIs out of libvirt.h.in (Daniel P. Berrange)
- Move virStream related APIs out of libvirt.h.in (Daniel P. Berrange)
- Move virSecret related APIs out of libvirt.h.in (Daniel P. Berrange)
- Move virNodeDevice related APIs out of libvirt.h.in (Daniel P. Berrange)
- Move virNWFilter related APIs out of libvirt.h.in (Daniel P. Berrange)
- Move virInterface related APIs out of libvirt.h.in (Daniel P. Berrange)
- Move virNetwork related APIs out of libvirt.h.in (Daniel P. Berrange)
- Move virDomainSnapshot related APIs out of libvirt.h.in (Daniel P. Berrange)
- Move virConnect/virNode related APIs out of libvirt.c (Daniel P. Berrange)
- Move virDomain related APIs out of libvirt.c (Daniel P. Berrange)
- Make virTypedParameterValidateSet non-static (Daniel P. Berrange)
- Move virStorage{Pool,Vol} related APIs out of libvirt.c (Daniel P. Berrange)
- Move virStream related APIs out of libvirt.c (Daniel P. Berrange)
- Move virSecret related APIs out of libvirt.c (Daniel P. Berrange)
- Move virNodeDevice related APIs out of libvirt.c (Daniel P. Berrange)
- Move virNWFilter related APIs out of libvirt.c (Daniel P. Berrange)
- Move virInterface related APIs out of libvirt.c (Daniel P. Berrange)
- Move virNetwork related APIs out of libvirt.c (Daniel P. Berrange)
- Move virDomainSnapshot related APIs out of libvirt.c (Daniel P. Berrange)
- Split driver.h into multiple parts (Daniel P. Berrange)
- Rename virDriver to virHypervisorDriver (Daniel P. Berrange)
- qemu: migration: Make check for empty hook XML robust (Peter Krempa)
- util: string: Add helper to check whether string is empty (Peter Krempa)
- Add support for /run/initctl (Rick Harris)
- qemu: Convert qemuDomainUpdateDeviceConfig to typecasted enum (Peter Krempa)
- qemu: Convert qemuDomainDetachDeviceConfig to typecasted enum (Peter Krempa)
- qemu: Convert qemuDomainAttachDeviceConfig to typecasted enum (Peter Krempa)
- qemu: Convert qemuDomainUpdateDeviceLive to typecasted enum (Peter Krempa)
- qemu: Convert qemuDomainDetachDeviceLive to typecasted enum (Peter Krempa)
- conf: Move definition of virDomainParseMemory (Peter Krempa)
- Implement empty post parse callbacks for all drivers (Peter Krempa)
- qemu: monitor: Add functions for object hot-add/remove (Peter Krempa)
- util: json: Add option to skip adding a JSON object if it is NULL (Peter Krempa)
- util: json: Improve handling and docs for adding JSON objects (Peter Krempa)
- util: json: Split out code to create json value objects (Peter Krempa)
- qemu: hotplug: Use typecasted switch statement when plugging new devices (Peter Krempa)
- conf: Add compile time check that devices were checked for ABI stability (Peter Krempa)
- conf: shmem: Add ABI stability check (Peter Krempa)
- conf: Improve adding of new address types (Peter Krempa)
- conf: Check whether migration_address is localhost (Chen Fan)
- conf: add check if migration_host is a localhost address (Chen Fan)
- migration: add migration_host support for IPv6 address without brackets (Chen Fan)
- Introduce virStringStripIPv6Brackets (Ján Tomko)
- conf: improve the comments for "xmlopt" (Wang Rui)
- libxl: Add function to determine device model type (Jim Fehlig)
- Xen: Defer setting default vram value to Xen drivers (Jim Fehlig)
- libxl: Copy user-specified keymap to libxl build info struct (Jim Fehlig)
- esx: Implement virDomainScreenshot using libcurl stream driver (Matthias Bolte)
- esx: Add libcurl based stream driver (Matthias Bolte)
- qemu: change macvtap device MAC address in response to NIC_RX_FILTER_CHANGED (Laine Stump)
- qemu: setup infrastructure to handle NIC_RX_FILTER_CHANGED event (Laine Stump)
- qemu: qemuMonitorQueryRxFilter - retrieve guest netdev rx-filter (Laine Stump)
- util: define virNetDevRxFilter and basic utility functions (Laine Stump)
- network: set interface actual trustGuestRxFilters from network/portgroup (Laine Stump)
- conf: add trustGuestRxFilters attribute to network and domain interface (Laine Stump)
- maint: update .mailmap (Eric Blake)
- Include .libs in libdir in source tree pkg-config files (Ján Tomko)
- minor shmem clean-ups (Martin Kletzander)
- qemu: Build command line for ivshmem device (Martin Kletzander)
- qemu: add capability probing for ivshmem device (Maxime Leroy)
- docs, conf, schema: add support for shmem device (Martin Kletzander)
- qemu: support nospace reason in io error event (Eric Blake)
- qemu_command: Split qemuBuildCpuArgStr (Cole Robinson)
- configure: improve misleading libnl3-devel missing error message (Shanzhi Yu)
- qemu: Improve domainSetTime error info report (Shanzhi Yu)
- vbox: Rewrite vboxNetworkGetXMLDesc (Taowei)
- vbox: Rewrite vboxNetworkCreate (Taowei)
- vbox: Rewrite vboxNetworkUndefineDestroy (Taowei)
- vbox: Rewrite vboxNetworkDefineCreateXML (Taowei)
- vbox: Rewrite vboxNetworkLookupByName (Taowei)
- vbox: Rewrite vboxNetworkLookupByUUID (Taowei)
- vbox: Rewrite vboxConnectListDefinedNetworks (Taowei)
- vbox: Rewrite vboxConnectNumOfDefinedNetworks (Taowei)
- vbox: Rewrite vboxConnectListNetworks (Taowei)
- vbox: Rewrite vboxConnectNumOfNetworks (Taowei)
- vbox: Rewrite vboxNetworkClose (Taowei)
- vbox: Rewrite vboxNetworkOpen (Taowei)
- vbox: Interfaces for register per parties (Taowei)
- Add virCgroupTerminateMachine stub (Ján Tomko)
- Make editor used for 'virsh edit' configurable (Guido Günther)
- qemu: use systemd's TerminateMachine to kill all processes (Guido Günther)
- maint: Prohibit "devname" by a syntax check rules (Peter Krempa)
- qemu: bulk stats: add block allocation information (Francesco Romani)
- qemu: monitor: Add helper function to fill physical/virtual image size (Peter Krempa)
Cleanups:
- vbox: Remove unused things in vbox_tmpl.c (Taowei Luo)
- Cleanup maintainers list (Jiri Denemark)
So thanks everybody for your help with this release be it with reports
ideas, patches, reviews or documentation !
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/
10 years, 5 months
[libvirt] [libvirt-java] [PATCH 00/65]
by Claudio Bley
Hi.
Here are a few patches that piled up in my local branch. Some of them
I already submitted to this list, but there has been no reponse to
them.
Included are a few trivial fixes as well as memory leak fixes and
additions to the public API.
There had been some minor interest in my first version of domain event
support in the Java wrapper[1], which I have reworked almost entirely.
If nobody objects, say, within the next two weeks or so, I'll go ahead
and push the whole series as was suggested to me by Daniel P. Berrange
on this list[2].
I've made sure that all JUnit tests pass after every commit with JNA
versions 3.4.1, 3.4.2, 3.5.0, 3.5.1, 3.5.2 and 4.0.0.
I'd really appreciate your comments or suggestions.
Thanks!
[1]: https://www.redhat.com/archives/libvir-list/2013-January/msg01236.html
[2]: https://www.redhat.com/archives/libvir-list/2014-January/msg01091.html
Claudio Bley (65):
Fix warnings about using raw types
Fix warnings about accessing static methods
Fix typos in Error.java
test: fix typo in testConnection()
test: ensure that exceptions are thrown when expected
Make comments proper javadoc comments for enum constants
Ignore editor backup files
Depend on JNA versions 3.4.1 to 4.0.0
jna: load virt-0 or virt library depending on the platform
Fix wrapping of native size_t data type
Use virFree in order to release memory acquired from libvirt
tests: remove obsolete test driver
Make Device.listCapabilities return only valid array elements
test: ensure the Device.listCapabilities method works
Start refactoring of error handling
Remove processError from Device class
Remove processError from Domain class
Remove processError from DomainSnapshot class
Remove processError from Interface class
Remove processError method from Network class
Remove processError method from NetworkFilter class
Remove processError method from Secret class
Remove processError method from StoragePool class
Remove processError method from StorageVol class
Remove processError method from Stream class
Remove processError method from Connect class
Call processError only when virInitialize signalled an error
Remove ErrorHandler.processError(Libvirt) method
Implement equals and hashCode methods for Connect and Domain
Fix Domain.getSchedulerParameters / getSchedulerType
Fix memleak in Domain.snapshotListNames
Fix memleak in StoragePool.listVolumes
Fix memleak in DomainSnapshot.getXMLDesc
Fix memleak in StorageVol.getPath
Fix memleak in StorageVol.getXMLDesc
jna: Wrap the virEvent(Add,Remove)Timeout libvirt functions
Implement Connect.isAlive
Implement Connect.setKeepAlive
Introduce event loop support
Add constants for enum virDomainEventID
Prepare to define proper domain event callback support
Add constructIncRef factory method to Domain class
events: handle registration for IOError events
events: handle registration for Reboot events
events: handle registration of domain lifecycle events
test: add unit test for domain lifecycle events
events: handle registration for PMWakeup events
events: add support for PMSuspend events
Implement connection close callback support
Implement Connect.getSysinfo
Implement Domain.blockPeek
Implement Domain.memoryPeek
Implement Secret.getUsageType
Implement Domain.isUpdated
Implement Domain.reset
Implement Domain.PMwakeup
Implement Domain.sendKey
Implement interface ByteChannel for Stream class
Implement Domain.screenshot
test: add testDomainScreenshot JUnit test
Add helper for handling bit-flags
Connect: add constructors using java.net.URI params
Replace Connect.getLibVirVersion method with Library.getVersion
Replace static connectionVersion method with getLibVersion
Deprecate Connect.getHypervisorVersion
.gitignore | 2 +
pom.xml.in | 2 +-
src/main/java/org/libvirt/BitFlags.java | 18 +
src/main/java/org/libvirt/Connect.java | 731 +++++++++++++++++---
src/main/java/org/libvirt/Device.java | 57 +-
src/main/java/org/libvirt/Domain.java | 672 +++++++++++-------
src/main/java/org/libvirt/DomainSnapshot.java | 29 +-
src/main/java/org/libvirt/Error.java | 409 +++++++----
src/main/java/org/libvirt/ErrorHandler.java | 54 +-
src/main/java/org/libvirt/Interface.java | 43 +-
src/main/java/org/libvirt/KeycodeSet.java | 46 ++
src/main/java/org/libvirt/Library.java | 134 +++-
src/main/java/org/libvirt/MemoryAddressMode.java | 19 +
src/main/java/org/libvirt/Network.java | 61 +-
src/main/java/org/libvirt/NetworkFilter.java | 43 +-
src/main/java/org/libvirt/Secret.java | 72 +-
src/main/java/org/libvirt/SecretUsageType.java | 23 +
src/main/java/org/libvirt/StoragePool.java | 106 ++-
src/main/java/org/libvirt/StorageVol.java | 68 +-
src/main/java/org/libvirt/Stream.java | 232 +++++--
src/main/java/org/libvirt/SuspendTarget.java | 15 +
src/main/java/org/libvirt/event/CrashedDetail.java | 15 +
src/main/java/org/libvirt/event/DefinedDetail.java | 17 +
src/main/java/org/libvirt/event/DetailInfo.java | 5 +
src/main/java/org/libvirt/event/DomainEvent.java | 71 ++
.../java/org/libvirt/event/DomainEventDetail.java | 7 +
.../java/org/libvirt/event/DomainEventType.java | 60 ++
src/main/java/org/libvirt/event/EventListener.java | 7 +
src/main/java/org/libvirt/event/IOErrorAction.java | 39 ++
.../java/org/libvirt/event/IOErrorListener.java | 21 +
.../java/org/libvirt/event/LifecycleListener.java | 24 +
.../java/org/libvirt/event/PMSuspendListener.java | 17 +
.../java/org/libvirt/event/PMSuspendReason.java | 5 +
.../java/org/libvirt/event/PMSuspendedDetail.java | 15 +
.../java/org/libvirt/event/PMWakeupListener.java | 17 +
.../java/org/libvirt/event/PMWakeupReason.java | 5 +
.../java/org/libvirt/event/RebootListener.java | 15 +
src/main/java/org/libvirt/event/ResumedDetail.java | 20 +
.../java/org/libvirt/event/ShutdownDetail.java | 12 +
src/main/java/org/libvirt/event/StartedDetail.java | 30 +
src/main/java/org/libvirt/event/StoppedDetail.java | 40 ++
.../java/org/libvirt/event/SuspendedDetail.java | 40 ++
.../java/org/libvirt/event/UndefinedDetail.java | 7 +
src/main/java/org/libvirt/jna/Libvirt.java | 121 +++-
src/main/java/org/libvirt/jna/SizeT.java | 19 +
.../java/org/libvirt/jna/SizeTByReference.java | 50 ++
src/main/java/org/libvirt/jna/virConnectAuth.java | 4 +-
.../java/org/libvirt/jna/virConnectCredential.java | 4 +-
.../java/org/libvirt/jna/virDomainBlockInfo.java | 4 +-
.../java/org/libvirt/jna/virDomainBlockStats.java | 4 +-
src/main/java/org/libvirt/jna/virDomainInfo.java | 4 +-
.../org/libvirt/jna/virDomainInterfaceStats.java | 4 +-
.../java/org/libvirt/jna/virDomainJobInfo.java | 4 +-
.../java/org/libvirt/jna/virDomainMemoryStats.java | 4 +-
src/main/java/org/libvirt/jna/virError.java | 4 +-
src/main/java/org/libvirt/jna/virNodeInfo.java | 4 +-
.../java/org/libvirt/jna/virSchedParameter.java | 4 +-
.../java/org/libvirt/jna/virStoragePoolInfo.java | 4 +-
.../java/org/libvirt/jna/virStorageVolInfo.java | 4 +-
src/main/java/org/libvirt/jna/virVcpuInfo.java | 4 +-
src/test/java/org/libvirt/TestJavaBindings.java | 139 +++-
src/test/java/org/libvirt/TestLibvirtGlobals.java | 4 +
src/test/java/test.java | 280 --------
63 files changed, 2807 insertions(+), 1187 deletions(-)
create mode 100644 src/main/java/org/libvirt/BitFlags.java
create mode 100644 src/main/java/org/libvirt/KeycodeSet.java
create mode 100644 src/main/java/org/libvirt/MemoryAddressMode.java
create mode 100644 src/main/java/org/libvirt/SecretUsageType.java
create mode 100644 src/main/java/org/libvirt/SuspendTarget.java
create mode 100644 src/main/java/org/libvirt/event/CrashedDetail.java
create mode 100644 src/main/java/org/libvirt/event/DefinedDetail.java
create mode 100644 src/main/java/org/libvirt/event/DetailInfo.java
create mode 100644 src/main/java/org/libvirt/event/DomainEvent.java
create mode 100644 src/main/java/org/libvirt/event/DomainEventDetail.java
create mode 100644 src/main/java/org/libvirt/event/DomainEventType.java
create mode 100644 src/main/java/org/libvirt/event/EventListener.java
create mode 100644 src/main/java/org/libvirt/event/IOErrorAction.java
create mode 100644 src/main/java/org/libvirt/event/IOErrorListener.java
create mode 100644 src/main/java/org/libvirt/event/LifecycleListener.java
create mode 100644 src/main/java/org/libvirt/event/PMSuspendListener.java
create mode 100644 src/main/java/org/libvirt/event/PMSuspendReason.java
create mode 100644 src/main/java/org/libvirt/event/PMSuspendedDetail.java
create mode 100644 src/main/java/org/libvirt/event/PMWakeupListener.java
create mode 100644 src/main/java/org/libvirt/event/PMWakeupReason.java
create mode 100644 src/main/java/org/libvirt/event/RebootListener.java
create mode 100644 src/main/java/org/libvirt/event/ResumedDetail.java
create mode 100644 src/main/java/org/libvirt/event/ShutdownDetail.java
create mode 100644 src/main/java/org/libvirt/event/StartedDetail.java
create mode 100644 src/main/java/org/libvirt/event/StoppedDetail.java
create mode 100644 src/main/java/org/libvirt/event/SuspendedDetail.java
create mode 100644 src/main/java/org/libvirt/event/UndefinedDetail.java
create mode 100644 src/main/java/org/libvirt/jna/SizeT.java
create mode 100644 src/main/java/org/libvirt/jna/SizeTByReference.java
delete mode 100644 src/test/java/test.java
--
1.7.9.5
10 years, 5 months
[libvirt] [PATCHv7 0/7] Add non-FreeBSD guest support to Bhyve driver.
by Conrad Meyer
Drvbhyve hardcodes bhyveload(8) as the host bootloader for guests.
bhyveload(8) loader only supports FreeBSD guests.
This patch series adds <bootloader> and <bootloader_args> handling to
bhyve_command, so libvirt can boot non-FreeBSD guests in Bhyve.
Additionally, support for grub-bhyve(1)'s --cons-dev argument is added so that
interactive GRUB menus can be manipulated with the domain-configured serial
device.
See patch logs for further details.
Thanks,
Conrad
Changes in v7:
- Detect grub-bhyve support for --cons-dev automatically; only pass the
domain-configured serial device if supported.
- Add '-nocons' version of the grub-serial unit tests to confirm we construct
the loader Cmd correctly if the capability is missing.
Conrad Meyer (7):
bhyve: Support /domain/bootloader configuration for non-FreeBSD
guests.
bhyvexml2argv: Add loader argv tests.
domaincommon.rng: Add 'bootloader' to os=hvm schema for Bhyve
bhyvexml2argv: Add tests for domain-configured bootloader, args
bhyve: Probe grub-bhyve for --cons-dev capability
bhyve: Add console support for grub-bhyve bootloader
bhyvexml2argv: Add test for grub console support
docs/drvbhyve.html.in | 100 ++++++++++-
docs/formatdomain.html.in | 4 +-
docs/schemas/domaincommon.rng | 17 +-
src/bhyve/bhyve_capabilities.c | 37 ++++
src/bhyve/bhyve_capabilities.h | 3 +
src/bhyve/bhyve_command.c | 189 +++++++++++++++++++--
src/bhyve/bhyve_command.h | 5 +-
src/bhyve/bhyve_driver.c | 16 +-
src/bhyve/bhyve_driver.h | 2 +
src/bhyve/bhyve_process.c | 38 ++++-
src/bhyve/bhyve_utils.h | 2 +
.../bhyvexml2argv-acpiapic.ldargs | 1 +
tests/bhyvexml2argvdata/bhyvexml2argv-base.ldargs | 1 +
.../bhyvexml2argv-bhyveload-explicitargs.args | 3 +
.../bhyvexml2argv-bhyveload-explicitargs.ldargs | 1 +
.../bhyvexml2argv-bhyveload-explicitargs.xml | 23 +++
.../bhyvexml2argvdata/bhyvexml2argv-console.ldargs | 1 +
.../bhyvexml2argv-custom-loader.args | 3 +
.../bhyvexml2argv-custom-loader.ldargs | 1 +
.../bhyvexml2argv-custom-loader.xml | 24 +++
.../bhyvexml2argv-disk-cdrom-grub.args | 3 +
.../bhyvexml2argv-disk-cdrom-grub.devmap | 1 +
.../bhyvexml2argv-disk-cdrom-grub.ldargs | 2 +
.../bhyvexml2argv-disk-cdrom-grub.xml | 23 +++
.../bhyvexml2argv-disk-cdrom.ldargs | 1 +
.../bhyvexml2argv-disk-virtio.ldargs | 1 +
.../bhyvexml2argv-grub-defaults.args | 3 +
.../bhyvexml2argv-grub-defaults.devmap | 1 +
.../bhyvexml2argv-grub-defaults.ldargs | 2 +
.../bhyvexml2argv-grub-defaults.xml | 23 +++
.../bhyvexml2argvdata/bhyvexml2argv-macaddr.ldargs | 1 +
.../bhyvexml2argv-serial-grub-nocons.args | 4 +
.../bhyvexml2argv-serial-grub-nocons.devmap | 1 +
.../bhyvexml2argv-serial-grub-nocons.ldargs | 2 +
.../bhyvexml2argv-serial-grub-nocons.xml | 26 +++
.../bhyvexml2argv-serial-grub.args | 4 +
.../bhyvexml2argv-serial-grub.devmap | 1 +
.../bhyvexml2argv-serial-grub.ldargs | 2 +
.../bhyvexml2argv-serial-grub.xml | 26 +++
.../bhyvexml2argvdata/bhyvexml2argv-serial.ldargs | 1 +
tests/bhyvexml2argvtest.c | 71 +++++++-
41 files changed, 631 insertions(+), 39 deletions(-)
create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-acpiapic.ldargs
create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-base.ldargs
create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-bhyveload-explicitargs.args
create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-bhyveload-explicitargs.ldargs
create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-bhyveload-explicitargs.xml
create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-console.ldargs
create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-custom-loader.args
create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-custom-loader.ldargs
create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-custom-loader.xml
create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-disk-cdrom-grub.args
create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-disk-cdrom-grub.devmap
create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-disk-cdrom-grub.ldargs
create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-disk-cdrom-grub.xml
create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-disk-cdrom.ldargs
create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-disk-virtio.ldargs
create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-grub-defaults.args
create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-grub-defaults.devmap
create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-grub-defaults.ldargs
create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-grub-defaults.xml
create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-macaddr.ldargs
create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-serial-grub-nocons.args
create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-serial-grub-nocons.devmap
create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-serial-grub-nocons.ldargs
create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-serial-grub-nocons.xml
create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-serial-grub.args
create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-serial-grub.devmap
create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-serial-grub.ldargs
create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-serial-grub.xml
create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-serial.ldargs
--
1.9.3
10 years, 5 months
[libvirt] [PATCH] Use UPDATE_CPU when saving domain status
by Ján Tomko
We only format cpu model for MODE_CUSTOM in domain status XML,
but we always format features if they are present.
This is a problem if we have a domain using MODE_HOST_PASSTHROUGH
that has been managedsaved, then restored, since it now has
a feature list but no model in /var/run/libvirt/qemu.
Use UPDATE_CPU even for the status XML to prevent libvirt
from losing track of the domain.
Also accept a list of features for HOST_PASSTHROUGH even without
a model specified, to catch domains started with older libvirtd.
(We already accept the list of features with a model specified,
even though they have no effect for HOST_PASSTHROUGH)
https://bugzilla.redhat.com/show_bug.cgi?id=1030793
https://bugzilla.redhat.com/show_bug.cgi?id=1151885
---
src/conf/cpu_conf.c | 2 +-
src/conf/domain_conf.c | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/conf/cpu_conf.c b/src/conf/cpu_conf.c
index 9b7fbb0..96e1c38 100644
--- a/src/conf/cpu_conf.c
+++ b/src/conf/cpu_conf.c
@@ -625,7 +625,7 @@ virCPUDefFormatBuf(virBufferPtr buf,
(def->mode == VIR_CPU_MODE_CUSTOM && def->model)));
if (!def->model &&
- def->mode != VIR_CPU_MODE_HOST_MODEL &&
+ def->mode == VIR_CPU_MODE_CUSTOM &&
def->nfeatures) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
_("Non-empty feature list specified without CPU model"));
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index a351382..414161c 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -19621,6 +19621,7 @@ virDomainSaveStatus(virDomainXMLOptionPtr xmlopt,
virDomainObjPtr obj)
{
unsigned int flags = (VIR_DOMAIN_XML_SECURE |
+ VIR_DOMAIN_XML_UPDATE_CPU |
VIR_DOMAIN_XML_INTERNAL_STATUS |
VIR_DOMAIN_XML_INTERNAL_ACTUAL_NET |
VIR_DOMAIN_XML_INTERNAL_PCI_ORIG_STATES |
--
2.0.4
10 years, 5 months
[libvirt] [PATCH][1.2.10] Relax duplicate SCSI host pool checking
by Ján Tomko
Since commit 3f99d64 no new scsi_host pools can be defined
if one of the already defined scsi_host pools does not refer
to an accessible scsi_host adapter.
Relax the check by skipping over these inaccessible pools
when checking for duplicates. If both of them are defined by
their parent, only compare their address and unique_id with
the re-introduced matchSCSIAdapterParent function.
---
This would be nice to get into 1.2.10, as the commit mentioned
above has not yet been released.
src/conf/storage_conf.c | 35 ++++++++++++++++++++++++++++++-----
1 file changed, 30 insertions(+), 5 deletions(-)
diff --git a/src/conf/storage_conf.c b/src/conf/storage_conf.c
index 19c452b..afd6cd4 100644
--- a/src/conf/storage_conf.c
+++ b/src/conf/storage_conf.c
@@ -2094,6 +2094,28 @@ getSCSIHostNumber(virStoragePoolSourceAdapter adapter,
VIR_FREE(name);
return ret;
}
+static bool
+matchSCSIAdapterParent(virStoragePoolObjPtr pool,
+ virStoragePoolDefPtr def)
+{
+ virDevicePCIAddressPtr pooladdr =
+ &pool->def->source.adapter.data.scsi_host.parentaddr;
+ virDevicePCIAddressPtr defaddr =
+ &def->source.adapter.data.scsi_host.parentaddr;
+ int pool_unique_id =
+ pool->def->source.adapter.data.scsi_host.unique_id;
+ int def_unique_id =
+ def->source.adapter.data.scsi_host.unique_id;
+ if (pooladdr->domain == defaddr->domain &&
+ pooladdr->bus == defaddr->bus &&
+ pooladdr->slot == defaddr->slot &&
+ pooladdr->function == defaddr->function &&
+ pool_unique_id == def_unique_id) {
+ return true;
+ }
+ return false;
+}
+
int
virStoragePoolSourceFindDuplicate(virStoragePoolObjListPtr pools,
@@ -2143,10 +2165,17 @@ virStoragePoolSourceFindDuplicate(virStoragePoolObjListPtr pools,
VIR_STORAGE_POOL_SOURCE_ADAPTER_TYPE_SCSI_HOST) {
unsigned int pool_hostnum, def_hostnum;
+ if (pool->def->source.adapter.data.scsi_host.has_parent &&
+ def->source.adapter.data.scsi_host.has_parent &&
+ matchSCSIAdapterParent(pool, def)) {
+ matchpool = pool;
+ break;
+ }
+
if (getSCSIHostNumber(pool->def->source.adapter,
&pool_hostnum) < 0 ||
getSCSIHostNumber(def->source.adapter, &def_hostnum) < 0)
- goto error;
+ break;
if (pool_hostnum == def_hostnum)
matchpool = pool;
}
@@ -2188,10 +2217,6 @@ virStoragePoolSourceFindDuplicate(virStoragePoolObjListPtr pools,
ret = -1;
}
return ret;
-
- error:
- virStoragePoolObjUnlock(pool);
- return -1;
}
void
--
2.0.4
10 years, 5 months