Example of why snap do not work for production machine

Here is real world problem that show a set of problems caused by snaps.

Our setup is using LXC (not lxcd) containers for appliaction we run in production using zfs for file systems.

We do not allow update to any software until it is our choice. When we update container we take a zfs snapshot before any changes are made. We then clone the snapshot into a testing container and verify that the updates do not break anything. If that works we then do the upgrade to the production container and destroy the clone.

So now for the problem we ran into under 18.04 that is show stopper if a snap is where in place (upgraded to 20.04) We use chromium to do data submits to a number of web site. We do this
using webdriver and xvfb. When updating chromium a bug/change that cause chromium to stop
working. So we rolled back to the working zfs snapshot and then pinned the chromium debs to
the working version. Reported the bug and work with folks to get the workaround and fixes.

If this had been 20.04 container that would have cause us to be down submiting data to website with no easy wy to restore to a working point again.

The idea of taking away that control that apt/deb mean we are no longer in control of production server. One of many selling point of ubuntu for us. The problem is not if we like snap format or not it is lack of
control that we have over it.

There needs to be a way for snap to same kind of control as apt/deb have. That is I can rollback a zfs file system and pin version of deb package and forward again. Also upgrade/modify anything in a
production system without it being under our control is bad.

A major problem is there is no way for us to fix something in a snap. We have a number of apps that use ssh into to container and run the app. There is bug/problem with gnome where sometimes it thinks using shared memory in this case is ok. We have modifed the X11 libs to never allow use of shared memory which make the Gnome apps always work. I see no way to make this fix if the app every becomes a snap.

Another problem I with snap is that once a problem is found in sum lib and is fixed in the deb package I have to wait for the author to create a new snap before I can choose to install the updated version.

I do not think any of the above problem can not be fix but until there are I am not sure have any package as snap only is a good idea.