snapcore / spread

Spread - Convenient full-system test (task) distribution
GNU General Public License v3.0
99 stars 58 forks source link

spread: add device backend configuration support to QEMU #168

Open IsaacJT opened 1 year ago

IsaacJT commented 1 year ago

This adds the device-backends configuration option, which allows the user to specify which backends for specific devices the system should use. This has no effect on its own, as the implementation is system backend specific; only the QEMU backend has been enabled with this functionality.

For the QEMU backend, this allows the user to specify which backend should be used for the disk and network devices. Currently, only the "network" and "disk" devices are able to be specified. If they are not specified, QEMU will use the default backends ("e1000" and "none", respectively).

This is useful for testing images with stripped-down kernels which do not provide drivers for the default network and storage backends, and only support other drivers (for example only virtio).

IsaacJT commented 1 year ago

This is the more generic implementation of my previous PR https://github.com/snapcore/spread/pull/167