Snapd 2.35.2: ERROR run hook "configure": cannot set "core.schedule": unsupported system option


#1

Hello,

On our board (a custom board with a dedicated gadget and kernel snaps) I see an error during a “Change configuration of core snap” action:

root@localhost:/# snap change 9
Status  Spawn               Ready               Summary
Error   today at 04:04 UTC  today at 04:04 UTC  Run configure hook of "core" snap

......................................................................
Run configure hook of "core" snap

2018-10-18T04:04:21Z ERROR run hook "configure": cannot set "core.schedule": unsupported system option

I first though about the “refresh.schedule” we set on our Gadget, but if I check is correctly set:

root@localhost:/# snap get core refresh
Key               Value
refresh.schedule  08:00-10:00

Any ideas why are we getting this error?

Thanks


#2

It looks to me that the was an attempt to set the schedule using an command that was not correct. Please refer to System options topic for details.

TLDR

$ snap set system refresh.schedule=...

Where system is an alias for core (since 2.32.5+).

Also, you may want to consider using refresh.timer which was introduced in 2.31, consult Timer string format topic for description of the format.


#3

Doing it via command line I get no Errors.
I tried:

snap set core refresh.schedule=08:00-12:00

and even:

snap set system refresh.schedule=08:00-12:00

Both work, even if snap is 2.35.2 (armhf).
Thing is, we want to rely on Gadget for this, I actually don’t know which command is used by it to set such option.
I’ll try “refresh.timer” instead of “refresh.schedule” in gadget.yaml.

Thanks!


#4

When using the defaults: option in gadget.yaml you have to use the snap-id.
a name or alias is only working when using the snap command from cmdline… :

Do we have any generic or special snap-id for “system” ?


#5

You can use system instead of snap-id. In fact, system takes precendence, using both snap-id of the core and the system alias will make snapd log a message and use the settings under the system key.

It’s mentioned in the docs too:

# Default configuration options for defined snaps, applied on installation.
# The snap ID may be discovered via the snap info command.
# Since 2.33 snap ID can be the "system" nick to cover the system
# configuration. (optional)
defaults:
    <snap id>:
        <key>: <value>