Detect of BHyve VM was powered off or rebooted?

Aryeh Friedman aryeh.friedman at gmail.com
Sun Feb 9 21:32:38 UTC 2014


On Sun, Feb 9, 2014 at 4:11 PM, Craig Rodrigues <rodrigc at freebsd.org> wrote:

> Hi,
>
> I posted some rc.d scripts that I am using to boot a BHyve VM
> and send the output to a serial console using the /dev/nmdm
> driver:
>
>
> http://lists.freebsd.org/pipermail/freebsd-virtualization/2014-January/002040.html
>
> It works quite well.  There is some things I would like to improve,
> and would like some advice on the best way to do it.
>
> (1)  If the VM was destroyed with bhyvectl --destroy --vm ${VM_NAME},
>       then I do not want to automatically restart the VM in the script.
>       User should manually:  service bhyvevm start
>
> (2)  If the VM was powered down, via shutdown -p, or halt -p,
>        then in my script I do not want to restart the VM in the script.
>        User should manually:  service bhyvevm start
>
> (3)   If the VM was rebooted via "reboot" or "shutdown -r",
>        then I *do* want the script to restart the VM.
>
> I think if I change my start_vm.sh script to do something like:
>
>
>
> (
>  while [ -e /dev/vmm/${VM} ]; do
>     /usr/sbin/bhyve -c 16 -m 8G -A -H -P -g 0 -s 0:0,hostbridge -s 1:0,lpc
> -s 2:0,virtio-net,${TAP} -s 3:0,virtio-blk,${IMG} -l com1,${CONS_A} ${VM}"
>  done
>
> )  &
>
>
> then this might cover cases (1) and (3), but what will cover
> case (2)?
>
> Thanks for any advice.
>

The options you gave (which are really the only ones available) do not
distinguish between the reason for the termination of the instance of bhyve
pointing to /dev/vmm/XXX  (it just does a normal termination).   In my
playing with this for almost a month the only solution seems to be put a
trigger on instance shutdown via whatever method to leave a "cookie" file
behind on the host (note I have not nor plan to do this in any of my own
work).  An other question is it wise to auto-reboot regardless of reason of
the hypervisor termination?

-- 
Aryeh M. Friedman, Lead Developer, http://www.PetiteCloud.org


More information about the freebsd-virtualization mailing list