Disabling automatic refresh for snap from store

Wondering if there is a news on this particular front?

Did you see Announcing Snap Store Proxy Beta ? The Snap Enterprise Proxy solves this issue.

2 Likes

A lot of valid use cases for this to be added in this thread but in reality, the lack of this feature immediately disqualifies snaps for any system that requires 24/7 guaranteed operation/up time.

Seems to me like that would cause a high lack of adoption for anybody designing a system requiring this.

I hope we’re getting closer to a kill switch option over there…

2 Likes

I think if you ask questions you might just find that there is no intention of ever including a ‘kill switch option’ - - - - ever.

For me - - - I have been, and am, working on finding ways to control this penchant for updating. I also really don’t like being forced to run on ‘edge’ level which is even less secure than beta according to the docs I’ve been able to find.

@dabeegmon who is forcing you to run edge?

Hi,

The need for this is exactly why we built the Snap Enterprise Proxy. Did you check it out? Is there something about it that doesn’t fit what you’re looking for? I’d love to get feedback.

So close, we made a release of it! See Announcing Snap Store Proxy Beta

1 Like

I don’t know who set it up. I installed snapd from debian repositories. Know that now I’m using edge - - - isn’t what I normally do (one of the reasons I run debian is that I get to choose at which level of software risk I wish to work) but I’m not given any kind of choice in the snapcraft world re: upgrades nor updates. I would prefer to be running at ‘stable’ as this software is on my server and I want reliability in server applications.

At install there were no clear directions on how to set up snapd to use any particular channel in the available docs. Subsequently read of the method after someone else had some problems with their installation and that information was given as part of the ‘fix’.

You’re asking for feedback.

Two issues:

  1. product is in beta
  2. product is not open source
1 Like

I think perhaps you’ve misunderstood the model - snapd isn’t a distribution like Debian or Ubuntu, there isn’t a global switch to use unstable or stable.

The decision is made on a per-snap basis and allows the user to make different decisions for different application according to their needs and comfort levels.

e.g. you could help Mozilla test the latest bits by using firefox from edge because it’s not business critical to you, but at the same time you could use canonical-livepatch from stable, because you want a higher level of stability there.

Snaps do not in any way autmatically swithc to “edge” unless you explicitly told snapd to do this for you with either snap switch --edge <snapname> or snap refresh --edge <snapname>

What are the snaps you see being switched to the edge channel without you asking for this ?
snap list |grep edge

By default you will always install and run only stable snaps unless you actively tell the system to not do this… typically these snaps have gone through a process of QA and testing in the edge, beta and candidate channels before they enter stable.

just like a debian package in debian might enter via experimental, go to unstable, then testing and later land in stable after all QA has been processed, there isnt so much of a difference, except that the design of snaps makes them completely independent from the host OS.

After quick review of the documentation, i’m struggling to wrap my head around how this as being treated as an acceptable solution. It really feels like this was a completely isolated development project to solve other use cases that just happened to give a work around to solving the forced update issue people want to turn off themselves.

The prerequisites in themselves are an extensive list of setup and configuration steps needed just to be able to start using the proxy and then that doesn’t even account for all the setup and headache it’s going to take to get the actual runtime setup correctly.

So if I were to review the user/developer conversation from this thread, it just doesn’t feel like this is the right answer to this issue:

User: I want to turn off updates
Developer: we aren’t going to let you
User: I need to for these reasons
Developer: Okay, but you have to do a lot of extra work with another software package to get it to do that
User: So you will support configuration that allows turning off updates indefinitely by doing this?
Developer: Yes
User: So can you just give me an option to tun them off directly without all the extra work?
Developer: No

7 Likes

The documentation that I have been able to find (very much not much available) indicated that ‘core’ is a requirement for running snapd.
So when I downloaded snapd core was also installed. I was not asked which channel I wanted - - - it was prescribed.
I have, due to lack of knowledge (itself largely due to the paucity of documentation) inadvertently viewed snapcraft as being comparable to an os - - - when in reality it is and it isn’t.
It is in that it manipulates oses and it isn’t in that it does require an os to work.

I love your total adherence to the party line.

You might want to check on the snap labeled ‘core’ - - - it is neither independent from snapd nor is it independent from the host OS.
Any changes that may have been introduced were to maintain a working system following the directions of either the team producing the snap or the dev team here.
It does seem like the team here likes to work on the edge - - - for a business on the other hand - - - risky software is quite easy to justify discarding - - - - it tends to produce far too much stress.

Please don’t struggle - - - -you will only hurt yourself. The wonderful people here only want to help you so you don’t hurt yourself - - - - but you must do EVERYTHING as they tell you do. If you are bad - - - - things will not go well for you!

Your review is - - - imo - - - quite accurate!

I’m afraid I can’t continue the discussion in this tone.

1 Like

The core snap tracks the stable channel by default and the release process means that the core snap goes through the beta and candidate channels (spending considerable time in them) before reaching stable. People who need reliability are encouraged to find a way to test new versions coming through beta and candidate before they hit stable and report issues to the snapd team. If they find an issue, it will be fixed via a point release and a regressed version of core will not hit stable until the issue is fixed. You also have the Snap Enterprise Proxy if you need to hold back updates.

(Would like to mention that I’m not part of the snapd, snapcraft, or snap advocacy teams and thus, I hope, my opinion is independent)

I would also like to request that this topic is kept open and that if action needs to be taken on any posts that infringe the advice in the FAQ then that should be taken, rather than closing the topic :slight_smile:

1 Like

While I don’t agree with the developers decision to not allow toggling updates on and off, they do deserve to be treated with respect.

The biggest problem stems from Canonical developers ignoring user feedback in this case. There are valid use-cases, both in enterprise and in desktop usage where control over updates is beneficial if not critical.

The solution suggested here indirectly solves it in a bad way. Ask one of your user experience colleague’s what he thinks of the suggested workflow.

Moreover the suggested solution is proprietary. For those of us who factored open source into the decision to use Ubuntu, this is a red flag.

2 Likes

I think the following quote explaining why the store is proprietary may be of interest here:

They’ve said they’ll make changes to accommodate for any use case that could arise, just specify your use case that needs accommodating here!

This is not particularly respectful, I don’t think, because you’re pretty much just asserting that they should know better. Could you instead specify why it solves the issue in a bad way?

As a desktop user of snaps, my use case is to have the ability to run sudo snap refresh and control when snaps update on my own. Snaps that initiate updates on their own will end up updating at unfortunate times.

I don’t want to theorize as I haven’t had a snap accident yet (and several use cases have been mentioned earlier in the thread) - I only, currently, use the snap installed by default from Ubuntu MATE 17.10 and play-tested the flare-rpg snap as well. For example I 've gone out of my way to install skype and vscode from debs because I don’t like snaps updating them whenever they want. (I 'd be very unhappy if skype updated and broke that 1 day of the month I was going to use it because of an update I didn’t know happened.) Moreover in my specific use case I update through the command line to see what will get updated and have an eye for any warning that may pop up, so I can research it and address it if needed. Snaps auto updating in the background will hide that from me.

Regarding the snap enterprise proxy app that was suggested, the instructions in this page are way too much compared to an option on snap set on the command line. Adding all those steps (installing a new app, learning how to configure it and then making sure it is set up properly) is complicated and not how I 'd like to spend my time. I am not a UX expert but the little I learnt from my colleagues is that the more steps a user has to do to get to the desired outcome the more attrition you have. If that, or the tone in my previous post, sounds disrespectful I apologize. My intent was to show how the presented solution is not accommodating (according to me) for a home user.

1 Like