Wait for seed.loaded does not wait for all initialization tasks
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
snapd |
Fix Released
|
High
|
Samuele Pedroni |
Bug Description
I have a script that runs on first boot which does:
snap wait system seed.loaded
snap connect <some-snap>
...(other snap connect commands)
I would expect these commands to work after the snaps has been seeded, but I get these errors:
Oct 03 10:32:32 C031031821-00075 run.sh[1871]: + snap connect rigado-
Oct 03 10:32:38 C031031821-00075 run.sh[1871]: error: snap "cascade" has "become-
Oct 03 10:32:39 C031031821-00075 run.sh[1871]: + snap connect rigado-
Oct 03 10:32:40 C031031821-00075 run.sh[1871]: error: snap "rigado-deviceops" has "connect-snap" change in progress
As can be seen, in some cases the gadget is not yet operative, or there are still ongoing automatic connections from the seeded snaps. This is a regression, as it was not happening in previous snapd versions.
$ snap version
snap 2.36~pre1
snapd 2.36~pre1
series 16
kernel 4.4.117+
Changed in snapd: | |
status: | Triaged → Fix Committed |
Changed in snapd: | |
status: | Fix Committed → Fix Released |
I see, I think the change causing this was already in 2.35:
https:/ /forum. snapcraft. io/t/cross- snap-operations -bases- and-concurrency /5685
the least invasive fix for this specific case is relatively simple, will try to create a PR