Version 0.14.1

This is a bug fix release to fix bugs in the 0.14 release that slipped through due to insufficient testing.

  • The shell plugin source file was misnamed. Fixed now.

  • Fixes to problems found while building real images. The new check-external script builds my own images, and Debian’s Raspberry Pi images.

Version 0.14, released 2020-03-21

It has been two years since the previous release. These release notes are a little sketchy.

  • All plugins now provide exactly one type of step. This is a little simpler than having multiple steps provided by the same plugin. Simplicity is good.

  • There is now some better automated testing.

  • vmdb2 now checks at start time that all required keys are set for all steps and that keys have values of the correct type.

  • Source code for vmdb2 is now hosted on and, moved there from GitHub.

  • Fixed smoke test timeout for starting a VM to 5 min. The previous timeout (30 s) was short enough that tests often failed because of it.

  • The debootstrap action now finishes with apt-get update. For some reason thing had changed so that this became necessary.

  • Christian Schlüter added the optional label field to the mkfs step to set the filesystem label upon creation.

  • Changed the grub step to take an optional image-dev field to override the heuristics for finding the device where GRUB is to be installed. This was necessary to allow vmdb2 to install Debian onto real hardware.

  • The smoke test now tests a UEFI image as well.

  • The rootfs unpacking action now copies /etc/resolv.conf into the chroot, overwriting what the tarball has. This allows vmdb2 to work with a tarball generated in a different network location.

  • Add plugins for doing full-disk encryption via cryptsetup, and LVM2.

  • There is now some documentation.

  • Christian Schlüter added support for f2fs labels in the mkfs step.

  • Step runners may now implement the run_even_if_skipped method to have code that is run whether the step is skipped or not. The debootstrap step now uses this to run apt-get update always. This allows a rootfs tarball that is old to be used, without the Packages files being too old to be usable.

  • The cache_rootfs step now caches all the explicitly mounted filesystems, not just the root filesystem.