======================================================
(samba) functional test framework
======================================================
In the context of the July 2023 Windows update that broke samba running as a AD
DC [3] it became clear to me that the unit tests in the autopkgtest suite are
not sufficient to check the functionality of the samba release in a Windows
environment.
As such I spent some time building a framework that automates:
- bootstrapping a buster VM
- bootstrapping a Windows 11 VM
- provisioning samba in various configurations
- making the Windows 11 VM interact with samba in various ways
On a technical level, it uses Ansible to drive all those steps, allowing it to
be fully automated. kvm/libvirt is used for virtualization, as there is already
a fairly well supported inventory plugin for it in Ansible, as well as various
modules that allow provisioning of VMs via guest agents. The buster VM is
bootstrapped via vmdb2 (though this step may be replaced by an alternative in
the future). The Windows 11 VM is bootstrapped by downloading the Win11 trial
VMware image, and converting it to a libvirt compatible image via virt-v2v.
rhsrvany is used to inject the guest agent and spice agent to provide it at
first boot. rhsrvany was packaged for Debian in the process [4].