I would like to request classic confinement for the SPDK snap. Storage Performance Development Kit (SPDK) consists of scripts in bash and python and elf64 binaries, these utilities needs access to system commands and resources. For example the setup script reads/writes to /sys file system, unbinds native modules, sets up hugetlbfs etc. The snap would be used in a cloud/server environment.
For example when the confinement is set to strict. I get the following (please note this snap package was built with kernel-module-control and kernel-module-observe plugs for setup) :
ubuntu@sst100:~$ snap connections
Interface Plug Slot Notes
home spdk:home :home -
network spdk:network :network -
network-bind spdk:network-bind :network-bind -
ubuntu@sst100:~$ sudo HUGEMEM=8192 DRIVER_OVERRIDE=vfio-pci spdk.setup config lspci: Cannot open /sys/bus/pci/devices /snap/spdk/x1/opt/spdk/scripts/setup.sh: line 210: /sbin/modprobe: Permission denied ubuntu@sst100:~$
The yaml for the snap can be found here: https://github.com/manjo-git/snaps/tree/master/spdk-snap you can also find an example for how to setup NVMe-of over TCP using the snapped (using classic confinement) utilities. This example simply demonstrates how the utilities can be used on both ARM and Intel systems.