Draft: add PoC experimental support for OpenXT integration
This PR contains work for a PoC integration of redctl with OpenXT. Namely, the following features are added:
- Use a dbd-backed database for domain configurations. This feature is controlled by setting the
--database-backend=dbdflag forredctld. The original scribble db is still used by default. - Add support for VHD's that use a tap backend. This includes support for kernel extraction from VHD's.
- Add a
xenlight-basedxen.Driverimplementation. This feature is controlled by setting the--xen-driver=xenlightflag forredctld. The originalxlimplementation is used by default. And the realxenlightimplementation is not built by default. See the last commit message for details.
These patches were posted originally as separate PRs (!71 (closed), !70 (closed), !69 (closed)). I have pulled them all to my own branch, and slightly adjusted them as needed through testing. I have reviewed and approved Chris and Jason's PRs, and will make any adjustments needed from review of this PR.
While none of these features will be invoked in redctl's default or current deployments, I think it is worth merging this work so that it does not go stale, and to promote future work on OpenXT integration.