libvirt/tools
William Douglas 56fbabf1a1 Add basic driver for the Cloud-Hypervisor
Cloud-Hypervisor is a KVM virtualization using hypervisor. It
functions similarly to qemu and the libvirt Cloud-Hypervisor driver
uses a very similar structure to the libvirt driver.

The biggest difference from the libvirt perspective is that the
"monitor" socket is seperated into two sockets one that commands are
issued to and one that events are notified from. The current
implementation only uses the command socket (running over a REST API
with json encoded data) with future changes to add support for the
event socket (to better handle shutdowns from inside the VM).

This patch adds support for the following initial VM actions using the
Cloud-Hypervsior API:
 * vm.create
 * vm.delete
 * vm.boot
 * vm.shutdown
 * vm.reboot
 * vm.pause
 * vm.resume

To use the Cloud-Hypervisor driver, the v15.0 release of
Cloud-Hypervisor is required to be installed.

Some additional notes:
 * The curl handle is persistent but not useful to detect ch process
 shutdown/crash (a future patch will address this shortcoming)
 * On a 64-bit host Cloud-Hypervisor needs to support PVH and so can
 emulate 32-bit mode but it isn't fully tested (a 64-bit kernel and
 32-bit userspace is fine, a 32-bit kernel isn't validated)

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: William Douglas <william.douglas@intel.com>
2021-06-04 10:56:06 +01:00
..
bash-completion tools: Generate per-command bash completion script 2021-04-22 11:01:27 +02:00
nss meson: Fix build with -Dtest_coverage=true 2021-01-19 16:25:50 +01:00
wireshark Remove references to deleted Makefile.am 2021-04-13 11:21:00 +02:00
libvirt_recover_xattrs.sh tools: Fix dry run of libvirt_recover_xattrs.sh 2021-03-02 09:42:38 +01:00
libvirt_win_icon_16x16.ico
libvirt_win_icon_32x32.ico
libvirt_win_icon_48x48.ico
libvirt_win_icon_64x64.ico
libvirt-guests.service.in build: don't hardcode /etc in the config related files 2019-08-09 14:06:31 +01:00
libvirt-guests.sh.in libvirt-guests: Sync time for autostarted guests 2020-11-04 12:18:05 +01:00
libvirt-guests.sysconf libvirt-guests: Remove obsolete Windows comment 2020-12-07 10:38:44 +00:00
meson.build Fix spelling 2021-04-15 15:42:21 +02:00
virsh_win_icon.rc
virsh-backup.c virsh: limit completion of backup-{begin, dumpxml} to active domains 2020-09-14 15:52:40 +02:00
virsh-backup.h backup: Implement virsh support for backup 2019-12-10 12:41:56 +01:00
virsh-checkpoint.c virshCheckpointListCollect: Do not pass NULL to qsort 2021-04-19 16:09:56 -04:00
virsh-checkpoint.h backup: Implement virsh support for checkpoints 2019-07-26 16:48:58 -05:00
virsh-completer-checkpoint.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virsh-completer-checkpoint.h tools: Separate checkpoint related completers into a file 2019-08-09 09:18:19 +02:00
virsh-completer-domain.c virsh: Fix completion logic to guestvcpus command 2021-04-22 13:46:48 +02:00
virsh-completer-domain.h virsh: Add mountpoint completion to domfsfreeze/domfsthaw command 2021-04-22 13:46:44 +02:00
virsh-completer-host.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virsh-completer-host.h virsh: Add logical CPU IDs completion for nodecpustats command 2020-11-10 18:34:02 +01:00
virsh-completer-interface.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virsh-completer-interface.h virsh: Add interface mac completion to iface-name command 2020-11-10 18:34:11 +01:00
virsh-completer-network.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virsh-completer-network.h virsh: Add mac completion to net-dhcp-leases command 2020-11-10 18:34:23 +01:00
virsh-completer-nodedev.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virsh-completer-nodedev.h tools: Separate nodedev related completers into a file 2019-08-09 09:10:08 +02:00
virsh-completer-nwfilter.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virsh-completer-nwfilter.h tools: Separate nwfilter related completers into a file 2019-08-09 09:15:36 +02:00
virsh-completer-pool.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virsh-completer-pool.h virsh: Introduce virshPoolTypeCompleter 2019-08-09 09:20:13 +02:00
virsh-completer-secret.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virsh-completer-secret.h tools: Separate secret related completers into a file 2019-08-09 09:16:28 +02:00
virsh-completer-snapshot.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virsh-completer-snapshot.h tools: Separate snapshot related completers into a file 2019-08-09 09:17:06 +02:00
virsh-completer-volume.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virsh-completer-volume.h tools: Separate storage volume related completers into a file 2019-08-09 09:07:02 +02:00
virsh-completer.c Replace virStringSplit with g_strsplit 2021-02-11 17:05:34 +01:00
virsh-completer.h virsh-completer: Drop needless #include 2019-08-09 09:18:54 +02:00
virsh-console.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virsh-console.h tools: use #pragma once in headers 2019-06-19 17:12:34 +02:00
virsh-domain-monitor.c cmdDomBlkError: Fix crash when initial call to virDomainGetDiskErrors fails 2021-04-19 11:04:53 +02:00
virsh-domain-monitor.h virsh: Fix virshDomainInterfaceSourceCompleter 2020-01-07 16:12:55 +01:00
virsh-domain.c virsh-domain: Drop support for old APIs in cmdSetmem and cmdSetmaxmem 2021-06-02 10:13:50 +02:00
virsh-domain.h virsh: Move/add some of function declarations to virsh-domain.h 2020-11-10 18:34:26 +01:00
virsh-edit.c Use G_GNUC_FALLTHROUGH instead of ATTRIBUTE_FALLTHROUGH 2019-10-15 16:14:19 +02:00
virsh-host.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virsh-host.h tools: remove unnecessary includes 2020-08-03 15:30:40 +02:00
virsh-interface.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virsh-interface.h tools: use #pragma once in headers 2019-06-19 17:12:34 +02:00
virsh-network.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virsh-network.h tools: use #pragma once in headers 2019-06-19 17:12:34 +02:00
virsh-nodedev.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virsh-nodedev.h tools: s/Nodedev/NodeDevice/ 2019-08-09 09:03:53 +02:00
virsh-nwfilter.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virsh-nwfilter.h tools: use #pragma once in headers 2019-06-19 17:12:34 +02:00
virsh-pool.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virsh-pool.h tools: use #pragma once in headers 2019-06-19 17:12:34 +02:00
virsh-secret.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virsh-secret.h tools: remove unnecessary includes 2020-08-03 15:30:40 +02:00
virsh-snapshot.c cmdSnapshotList: Fix memory leak 2021-04-19 16:09:56 -04:00
virsh-snapshot.h tools: remove unnecessary includes 2020-08-03 15:30:40 +02:00
virsh-util.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virsh-util.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virsh-volume.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virsh-volume.h tools: use #pragma once in headers 2019-06-19 17:12:34 +02:00
virsh.c Add basic driver for the Cloud-Hypervisor 2021-06-04 10:56:06 +01:00
virsh.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virt-admin-completer.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virt-admin-completer.h tools: use #pragma once in headers 2019-06-19 17:12:34 +02:00
virt-admin.c Drop magic comments for coverity 2021-05-24 20:26:20 +02:00
virt-admin.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virt-host-validate-bhyve.c virt-host-validate-bhyve.c: Reintroduce @ret to virHostValidateBhyve() 2020-05-05 14:45:58 +02:00
virt-host-validate-bhyve.h tools: use #pragma once in headers 2019-06-19 17:12:34 +02:00
virt-host-validate-common.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virt-host-validate-common.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virt-host-validate-lxc.c virt-host-validate: require freezer for LXC 2018-10-05 15:53:29 +02:00
virt-host-validate-lxc.h tools: use #pragma once in headers 2019-06-19 17:12:34 +02:00
virt-host-validate-qemu.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virt-host-validate-qemu.h tools: use #pragma once in headers 2019-06-19 17:12:34 +02:00
virt-host-validate.c lib: Prefer WITH_* prefix for #if conditionals 2020-09-02 10:28:10 +02:00
virt-login-shell-helper.c Replace AbsPath judgement method with g_path_is_absolute() 2021-04-21 10:02:09 +02:00
virt-login-shell.c build: generate configmake.h in root directory 2020-01-29 14:51:39 +00:00
virt-login-shell.conf virt-login-shell: add ability to auto-detect shell from container 2016-06-10 11:03:02 +01:00
virt-pki-validate.in tools: Fix permissions for virt-pki-validate.in 2019-07-01 17:20:32 +02:00
virt-sanlock-cleanup.in
virt-xml-validate.in tools: fix XML validator detection of network port XML schema 2019-09-12 16:06:57 +01:00
vsh-table.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
vsh-table.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
vsh.c Remove static analysis assertions 2021-05-24 20:26:20 +02:00
vsh.h vsh: Rework how option to complete is found 2021-01-26 16:46:41 +01:00