Re: Best way to have a FreeBSD VM for automated testing?

From: Jo Durchholz <jo_at_durchholz.org>
Date: Sat, 24 Feb 2024 08:56:33 UTC
On 24.02.24 07:41, Mark Blackman wrote:
> 
> If an Amazon firecracker environment works for you, there’s 
> https://www.freebsd.org/status/report-2023-04-2023-06/boot-performance/ 

Oh. Thanks. 20 ms boot time sounds good enough to me :-D

... aww, the PDF link to the slides is broken :-(

https://wiki.freebsd.org/BootTime (Colin Percival) works and reports ~8 
seconds on FreeBSD 14.0.

http://www.daemonology.net/blog/2021-08-12-EC2-boot-time-benchmarking.html 
(again, Colin Percival 2021) tells me that the best boot-to-TCP time was 
about 1.23 s, while typical boot times would be around 10-15 s.
Those 8 seconds are actually good, unless the competition has sped up as 
well :-)
(This benchmarks just TCP availability, I don't know or how much needs 
to be added for ssh availability.)

There's a conclusion here: While those improvements are awesome, 8 
seconds are nowhere near the do-not-disrupt-developer-workflow 
threshold, so the VM snapshot it will be.

Oh. Wait. These links talk about FreeBSD's boot time. I don't know how 
this relates to Firecracker.
OTOH Firecracker is very new, so I'm somewhat reluctant to jump that 
bandwagon anyway.

 > of course, there’s more to booting than the kernel.

Definitely. In my own testing, something that vaguely sounded like a 
mail subsystem had a full minute-long wait.
Some tweaking will be needed to get rid of that behaviour. I'm 
comfortable with that, though not with having to put those tweaks into a 
setup script and keeping it up-to-date with every new FreeBSD version. I 
haven't seen an OS or distro that does not have this kind of problem 
though, so I'll just have to live with that.

> I’d guess some of those improvements could apply to more generic VM hypervisors too.

Probably, but as much as I like exploring rabbit holes, I already have a 
too-long list of these to add yet another one :-)

Regards,
Jo