Libvirt provides a portable, long term stable C API for managing the virtualization technologies provided by many operating systems. It includes support for QEMU, KVM, Xen, LXC, bhyve, Virtuozzo, VMware vCenter and ESX, VMware Desktop, Hyper-V, VirtualBox and the POWER Hypervisor.
Go to file
Collin Walling d1e00f84c0 qemu: allow hypervisor-cpu-baseline with single cpu
When executing the hypervisor-cpu-baseline command and if there is
only a single CPU definition present in the XML file, then the
baseline handler will exit early and libvirt will print an unhelpful
message:

"error: An error occurred, but the cause is unknown"

This is due to no CPU definition ever being "baselined", since the
handler expects at least two CPU models.

Let's fix this by performing a CPU model expansion on the single CPU
definition and returning the result to the caller. This will also
ensure the CPU model's feature set is sane if any were provided in
the file.

Signed-off-by: Collin Walling <walling@linux.ibm.com>
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
2020-11-24 21:04:07 +01:00
.ctags.d
.github
build-aux syntax-check: Don't forbid curly braces around single line condition body 2020-09-15 15:20:23 +02:00
ci gitlab-ci: add coverity job 2020-11-19 14:38:13 +01:00
docs schema: add support for Windows file paths and device names 2020-11-24 18:45:07 +00:00
examples libvirt: support memory failure event 2020-10-23 09:41:52 +02:00
include virDomainAuthorizedSSHKeysSet: Use uint for @nkeys 2020-11-23 13:35:16 +01:00
po Translated using Weblate (Swedish) 2020-11-20 21:35:47 +01:00
scripts docs: xsl: Unify stylability of main container element 2020-11-16 14:04:04 +01:00
src qemu: allow hypervisor-cpu-baseline with single cpu 2020-11-24 21:04:07 +01:00
tests util: call iptables directly rather than via firewalld 2020-11-24 14:22:06 -05:00
tools virsh: Added attach-disk support for network disk 2020-11-23 14:44:39 +01:00
.color_coded.in
.ctags
.dir-locals.el
.editorconfig
.gitignore Ignore clangd-related files and folders 2020-08-03 10:57:47 +02:00
.gitlab-ci.yml gitlab-ci: add coverity job 2020-11-19 14:38:13 +01:00
.gitmodules
.gitpublish
.mailmap mailmap: consolidate my email addresses 2020-10-06 12:05:09 +02:00
.ycm_extra_conf.py.in
AUTHORS.rst.in AUTHORS: Remove Emacs file variables 2020-09-02 13:20:17 +02:00
config.h Fix capitalization "CLang" -> "Clang" 2020-11-12 15:01:42 +01:00
configmake.h.in
CONTRIBUTING.rst meson: adjust our documentation to mention meson instead of autoconf 2020-08-03 09:27:09 +02:00
COPYING
COPYING.LESSER
gitdm.config
libvirt-admin.pc.in
libvirt-lxc.pc.in
libvirt-qemu.pc.in
libvirt.pc.in
libvirt.spec.in spec: Drop UUID handling for default network 2020-11-20 11:44:07 +01:00
meson_options.txt meson: add tests build option to enable/disable unit tests 2020-10-09 13:44:54 +02:00
meson.build src: rework static analysis detection 2020-11-19 14:38:13 +01:00
mingw-libvirt.spec.in spec: Install all schemas 2020-10-08 09:58:44 +02:00
NEWS.rst NEWS: restore backtick balance 2020-11-18 16:47:57 +01:00
README.rst README: drop Travis CI badge 2020-08-03 15:08:28 +02:00
run.in Prefer https: everywhere where possible 2020-09-01 21:58:46 +02:00

GitLab CI Build Status

CII Best Practices

Translation status

Libvirt API for virtualization

Libvirt provides a portable, long term stable C API for managing the virtualization technologies provided by many operating systems. It includes support for QEMU, KVM, Xen, LXC, bhyve, Virtuozzo, VMware vCenter and ESX, VMware Desktop, Hyper-V, VirtualBox and the POWER Hypervisor.

For some of these hypervisors, it provides a stateful management daemon which runs on the virtualization host allowing access to the API both by non-privileged local users and remote users.

Layered packages provide bindings of the libvirt C API into other languages including Python, Perl, PHP, Go, Java, OCaml, as well as mappings into object systems such as GObject, CIM and SNMP.

Further information about the libvirt project can be found on the website:

https://libvirt.org

License

The libvirt C API is distributed under the terms of GNU Lesser General Public License, version 2.1 (or later). Some parts of the code that are not part of the C library may have the more restrictive GNU General Public License, version 2.0 (or later). See the files COPYING.LESSER and COPYING for full license terms & conditions.

Installation

Instructions on building and installing libvirt can be found on the website:

https://libvirt.org/compiling.html

Contributing

The libvirt project welcomes contributions in many ways. For most components the best way to contribute is to send patches to the primary development mailing list. Further guidance on this can be found on the website:

https://libvirt.org/contribute.html

Contact

The libvirt project has two primary mailing lists:

Further details on contacting the project are available on the website:

https://libvirt.org/contact.html