Cause all devices to install a new snap

pedronis
backlog

#1

A customer wants all core devices in the field to install a new snap.

Is this possible, and if so how?

(With debian pkgs we could always release a new version of an installed deb and also add a depends on the new package…)


Manually reviewing private snaps?
#2

Perhaps the snapd-control interface enables this…

If so, do we have an example or further info on how (beyond the snapd interface source)?


#3

I’ll let the snapd team answer authoritatively on this, but will say that, yes, the snapd-control interface would give a snap the ability to install other snaps, but it is super-powerful and the snaps that can use it in the public store are restricted. Snaps in a brand store could do this. Restrictions aside, the problem with a snap with snapd-control is that it requires a snap to be installed that is coded to install snaps, etc which would be a pretty high barrier to get right and ultimately I think you’d duplicate refresh/revert ideas in your snap.

OTOH, it seems this is more a function of the gadget snap. The gadget is tied to a model (and therefore, ‘all devices in the field’) and is capable of saying what should be installed.

The snapd team may have other plans for this of course…


#4

thanks Jamie: Would a properly updated gadget snap therefore be a potential mechanism? Perhaps a hook script to install the new snap(s) (or some other method)? (Yes, branded store).


#5

I don’t know the current state of gadget snaps wrt this (I expect the snapd team to comment on its feasibility today or future plans).


#6

Can you clarify one aspect please: all devices of a given kind (at all) or all devices in a given installation (e.g. managed by one customer).


#7

if it’s for all devices of a given model we should support this via model assertion updates, and respecting changes to required snaps header in that, but that is not yet planned or scheduled


#8

It’s not entirely clear whether the desired approach is per model or per gadget. The customer has one model and one gadget.

I’d guess a per model approach is best since that assertion defines the required snaps in the system.


#9

Yeah, that really sounds like the feature we planned as model updating.


#10

OK, so not supported yet (other than via snapd-control)? Is there a time frame/road map for this? Cheers (Edit: Sorry I missed the point that it is “not planned or scheduled”.)


#11

Moved to the snapd category and tagged into the backlog so we don’t lose track of it.


#12

The remodeling work happening now does support extending the required snaps of a device.