Skip to content
  • William Douglas's avatar
    Add basic driver for the Cloud-Hypervisor · 56fbabf1
    William Douglas authored and Daniel P. Berrangé's avatar Daniel P. Berrangé committed
    
    
    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: default avatarDaniel P. Berrangé <berrange@redhat.com>
    Signed-off-by: default avatarWilliam Douglas <william.douglas@intel.com>
    56fbabf1