snap upload rejected with "refresh-timer" interface attribute

Bug #1771840 reported by Kyle Nitzsche
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Canonical Click Reviewers tools (obsolete)
Invalid
Undecided
Unassigned
Snap Store Server
Invalid
Undecided
Unassigned

Bug Description

With the transition from snapd's refresh.schedule to refresh.timer config key [1], a customer is declaring an interface attribute accordingly in snapcraft.yaml, but the store rejects the upload.

I confirm in my test. That is, if my snapcraft.yaml has the following:
plugs:
  snapd:
    interface: snapd-control
    refresh-timer: managed

apps:
  daemon:
    daemon: simple
    command: daemon
    plugs: [snapd]

And then I push to the store I get this:
Error while processing...
The store was unable to accept this snap.
  - unknown attribute 'refresh-timer' for interface 'snapd-control' (plugs)

But, if I use the interface attribute refresh-schedule (which corresponds to the deprecated snapd config refresh.schedule key), the upload succeeds.

Please also see this snapd bug: https://bugs.launchpad.net/snapd/+bug/1771835

[1] https://snapdocs.labix.org/configuration-options/87

Revision history for this message
Daniel Manrique (roadmr) wrote :

That error is actually given by the click reviewer tools, which the store runs to scan every incoming snap upload.

I'll add a task for the click reviewer tools; once a version is available which is happy with the new attribute name, I can update what we have in the store so this works as intended.

Revision history for this message
Jamie Strandboge (jdstrand) wrote :

I think https://snapdocs.labix.org/configuration-options/87 is out of date. There is no code in snapd supporting 'refresh-timer' in snapd master, but refresh-schedule is still supported in snapd-control.

Perhaps you are thinking of the new 'refresh-mode'? Eg:

name: test-stop-and-refresh-mode
...
apps:
 endure:
   ...
   daemon: simple
   refresh-mode: endure

See https://forum.snapcraft.io/t/process-lifecycle-on-snap-refresh/140/36 for details.

Changed in click-reviewers-tools:
status: New → Invalid
Changed in snapstore:
status: New → Invalid
Revision history for this message
Kyle Nitzsche (knitzsche) wrote :

The key to control refresh scheduling is now named refresh.timer whereas it used to be named refresh.schedule. However, snapd still apparently uses refresh.schedule for the case of "managed", which is a bug I filed and listed in the description.

The question is: should reviewer tools also transition to refresh-timer as the interface attribute? I suppose it should, as that other bug is fixed.

JdStrand: Are you sure this bug is invalid?

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.