Date: Mon, 12 Mar 2018 11:43:46 -0400 From: Mark Johnston <markj@FreeBSD.org> To: freebsd-testing@FreeBSD.org Subject: automatically provisioning a bhyve test VM Message-ID: <20180312154346.GA97195@raichu>
next in thread | raw e-mail | index | archive | help
Hi, I have some tests for FreeBSD's kernel dump code that I'd like to make more robust. They use bhyve to test a variety of combinations of kernel dump configurations: e.g., full dump vs. minidump, encryption, compression, dump device block size, etc.. Each test triggers a kernel panic and dump, and upon reboot opens the dump in kgdb, in the VM, to get some confidence that the dump is valid. I use sysutils/vm-bhyve to simplify some aspects of VM management, and that works pretty well. I use some hacks to configure networking for the VM, and this is the part that I don't like. The tests run on the host and use ssh to run commands in the VM. For this to work, I need to hardcode an IP for the guest and for the bridge to which the guest's tap interface is connected, which of course only works if those IPs aren't already somehow in use by the host. I'd prefer something that makes zero assumptions about the host and just provides the bare minimum needed to establish a private communication channel to run commands on the guest (which includes getting the output and exit status of said commands). Ideally this would still involve assigning private IPv4 addresses to each side since I'd like to expand my test suite to cover netdump, which makes it possible for a panicking kernel to transmit a dump to a remote host. Does anyone have any suggestions for a more elegant way to go about this? Does anyone else automatically provision and tear down bhyve VMs as part of a test suite?
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20180312154346.GA97195>