Maciej Borzecki 8539a46802 o/snapstate: avoid setting up single reboot when update includes base, kernel and gadget
* o/snapstate: avoid setting up single reboot when update includes base, kernel and gadget

Otherwise there is a circular dependency between base, kernel and gadget, where
the kernel waits for gadget (to handle gadget assets update), gadget waits for
the base, and the base waits for some of the kernel tasks.

Signed-off-by: Maciej Borzecki <maciej.zenon.borzecki@canonical.com>

* o/snapstate: procure circular dependency and verify abort untangles the state

Signed-off-by: Maciej Borzecki <maciej.zenon.borzecki@canonical.com>

* overlord/state: add helper for aborting unready lanes

A helper for aborting all lanes that aren't ready in a given change. An unready
lane is one that carries tasks which have not reached a final status yet.

Signed-off-by: Maciej Borzecki <maciej.zenon.borzecki@canonical.com>

* overlord/state: drop unused lanes field

Signed-off-by: Maciej Borzecki <maciej.zenon.borzecki@canonical.com>

* overlord: wait for up to 3 days before automatically aborting a change

Signed-off-by: Maciej Borzecki <maciej.zenon.borzecki@canonical.com>

* overlord/state: use AbortUnreadyLanes when pruning

Signed-off-by: Maciej Borzecki <maciej.zenon.borzecki@canonical.com>

* overlord: managers test to verify self healing via abort-unready-lanes in prune

Signed-off-by: Maciej Borzecki <maciej.zenon.borzecki@canonical.com>

* overlord: leave a comment about the scenario being tested, test tweaks

Signed-off-by: Maciej Borzecki <maciej.zenon.borzecki@canonical.com>
2022-03-21 15:49:15 +01:00
2020-06-03 13:50:05 +01:00
2021-10-06 12:26:00 +01:00
2021-08-26 18:24:02 +01:00
2021-09-09 09:18:36 +02:00
2021-06-24 11:42:13 +02:00
2020-05-11 15:31:11 -05:00
2021-08-26 18:24:02 +01:00
2022-03-03 09:24:03 +03:00
2021-08-26 18:37:39 +01:00
2021-12-07 11:32:04 +01:00
2016-05-02 16:39:40 +02:00
2018-09-20 09:04:52 +02:00
2021-09-03 14:41:11 +03:00
2016-09-14 14:01:39 +02:00
2015-10-29 22:46:10 -06:00
2021-11-30 06:04:30 -06:00
2021-11-12 10:47:42 -03:00
2021-12-15 14:24:20 -03:00

Snapcraft

Welcome to snapd

This is the code repository for snapd, the background service that manages and maintains installed snaps.

Snaps are app packages for desktop, cloud and IoT that update automatically, are easy to install, secure, cross-platform and dependency-free. They're being used on millions of Linux systems every day.

Alongside its various service and management functions, snapd:

  • provides the snap command that's used to install and remove snaps and interact with the wider snap ecosystem
  • implements the confinement policies that isolate snaps from the base system and from each other
  • governs the interfaces that allow snaps to access specific system resources outside of their confinement

For general details, including installation and Getting started guides, head over to our Snap documentation. If you're looking for something to install, such as Spotify or Visual Studio Code, take a look at the Snap Store. And if you want to build your own snaps, start with our Creating a snap documentation.

Get involved

This is an open source project and we warmly welcome community contributions, suggestions, and constructive feedback. If you're interested in contributing, please take a look at our Code of Conduct first.

Get in touch

We're friendly! We have a community forum at https://forum.snapcraft.io where we discuss feature plans, development news, issues, updates and troubleshooting. You can chat in realtime with the snapd team and our wider community on the #snappy IRC channel on libera chat.

For news and updates, follow us on Twitter and on Facebook.

Project status

Service Status
Github Actions Build Status
GoReport Go Report Card
Codecov codecov
Description
No description provided
Readme 165 MiB
Languages
Go 93.9%
C 2.9%
Shell 2%
Python 0.7%
Makefile 0.4%