Command line interface to manipulate services

We have had some recent feedback that the behavior of the snap start|restart|stop <snap> variants is not always what is expected, especially in the presence of disabled services: https://bugs.launchpad.net/snapd/+bug/1803212

especially the fact that snap restart <snap> now starts not running disabled services as well can be considered unexpected and problematic. We are considering this different set of behaviors:

  • snap stop SNAP should stop all the running services of the snap

  • snap restart SNAP would restart all the running services of the snap (even if disabled) but not disabled and not running ones. This is a change from current behavior also because it means a failed service would not be restarted by this, one would need to use the service-specific variant for that.

  • snap start SNAP would start all the enabled services of the snap. Right now it starts all services.

We could move to this behavior if nothing is deeply relying on the fine points of the current behavior (and introduce possibly flags to get the current behavior). If changing the current behavior along these lines causes real breakage we would have to instead offer a set of flags to get this new behavior.

We are interested on feedback on this?