[libvirt] [PATCH] virt-host-validate: add bhyve support

Michal Privoznik mprivozn at redhat.com
Wed Mar 8 17:32:19 UTC 2017


On 02/25/2017 02:30 PM, Roman Bogorodskiy wrote:
> Add bhyve support to virt-host-validate(1). It checks for the
> essential kernel modules to be available so that user can actually
> start VMs, have networking and console access.
> 
> It uses the kldnext(2)/kldstat(2) routines to retrieve modules list.
> As bhyve is only available on FreeBSD and these routines were available
> long before bhyve appeared, not adding any specific configure checks
> for that.
> ---
>  po/POTFILES.in                   |  1 +
>  tools/Makefile.am                |  1 +
>  tools/virt-host-validate-bhyve.c | 78 ++++++++++++++++++++++++++++++++++++++++
>  tools/virt-host-validate-bhyve.h | 27 ++++++++++++++
>  tools/virt-host-validate.c       | 12 +++++++
>  tools/virt-host-validate.pod     |  4 +--
>  6 files changed, 121 insertions(+), 2 deletions(-)
>  create mode 100644 tools/virt-host-validate-bhyve.c
>  create mode 100644 tools/virt-host-validate-bhyve.h
> 
> diff --git a/po/POTFILES.in b/po/POTFILES.in
> index 9f66697d7..51b5859cb 100644
> --- a/po/POTFILES.in
> +++ b/po/POTFILES.in
> @@ -306,6 +306,7 @@ tools/virsh-snapshot.c
>  tools/virsh-volume.c
>  tools/virsh.c
>  tools/virt-admin.c
> +tools/virt-host-validate-bhyve.c
>  tools/virt-host-validate-common.c
>  tools/virt-host-validate-lxc.c
>  tools/virt-host-validate-qemu.c
> diff --git a/tools/Makefile.am b/tools/Makefile.am
> index e6ae15025..a8bd3d1c2 100644
> --- a/tools/Makefile.am
> +++ b/tools/Makefile.am
> @@ -142,6 +142,7 @@ virt_host_validate_SOURCES = \
>  		virt-host-validate-common.c virt-host-validate-common.h \
>  		virt-host-validate-qemu.c virt-host-validate-qemu.h \
>  		virt-host-validate-lxc.c virt-host-validate-lxc.h \
> +		virt-host-validate-bhyve.c virt-host-validate-bhyve.h \

This will need a condition. virt-host-validate-bhyve.c is not really able to compile on Linux. Other sources should be conditionally included too. Something among these lines:

diff --git i/tools/Makefile.am w/tools/Makefile.am
index a8bd3d1c2..64d3af4f0 100644
--- i/tools/Makefile.am
+++ w/tools/Makefile.am
@@ -139,11 +139,28 @@ libvirt_shell_la_SOURCES = vsh.c vsh.h
 
 virt_host_validate_SOURCES = \
                virt-host-validate.c \
-               virt-host-validate-common.c virt-host-validate-common.h \
-               virt-host-validate-qemu.c virt-host-validate-qemu.h \
-               virt-host-validate-lxc.c virt-host-validate-lxc.h \
-               virt-host-validate-bhyve.c virt-host-validate-bhyve.h \
-               $(NULL)
+               virt-host-validate-common.c virt-host-validate-common.h
+
+VIRT_HOST_VALIDATE_QEMU = virt-host-validate-qemu.c virt-host-validate-qemu.h
+VIRT_HOST_VALIDATE_LXC = virt-host-validate-lxc.c virt-host-validate-lxc.h
+VIRT_HOST_VALIDATE_BHYVE = virt-host-validate-bhyve.c virt-host-validate-bhyve.h
+if WITH_QEMU
+virt_host_validate_SOURCES += $(VIRT_HOST_VALIDATE_QEMU)
+else ! WITH_QEMU
+EXTRA_DIST += $(VIRT_HOST_VALIDATE_QEMU)
+endif ! WITH_QEMU
+
+if WITH_LXC
+virt_host_validate_SOURCES += $(VIRT_HOST_VALIDATE_LXC)
+else ! WITH_LXC
+EXTRA_DIST += $(VIRT_HOST_VALIDATE_LXC)
+endif ! WITH_LXC
+
+if WITH_BHYVE
+virt_host_validate_SOURCES += $(VIRT_HOST_VALIDATE_BHYVE)
+else ! WITH_BHYVE
+EXTRA_DIST += $(VIRT_HOST_VALIDATE_BHYVE)
+endif ! WITH_BHYVE
 
 virt_host_validate_LDFLAGS = \
                $(AM_LDFLAGS) \


ACK with this squashed in.

Michal




More information about the libvir-list mailing list