Public bug reported:

There are a number of situations where snapd needs to notify a snap that
something has happened. For example, when a snap is upgraded, the snap
may need to run some sort of migration on the previous version’s data in
order to make it consumable by the new version. This is possible today,
but it requires that the snap be smart enough to realize that it’s
running on old data, and there’s no way for the snap to inform snapd
that the upgrade failed.

A new global section should be added to the `snap.yaml` (alongside
`apps`), called "hooks." To continue with the example of an upgrade,
such a section would look something like this:

    hooks:
      upgrade: # Actual name TBD
        plugs: [network]

The name of the hook ("upgrade" in this example) directly corresponds to
its purpose, and must be one of the yet-to-be-determined hooks supported
by snapd. It also directly corresponds to the file name of the hook
executable, which by convention is to be placed into the `meta/hooks/`
directory within the snap. Similar to apps, the hooks may utilize plugs
in order to extend their capabilities. They may be written in any
language that is available to the snap. They will be called with no
parameters-- if hooks need information from snapd it can be obtained via
a yet-to-be-determined API call.

If the hook returns a non-zero exit code the hook is considered to have
failed, and snapd will take remedial action accordingly. The action
taken depends on system choices made for the hook being run. Potential
actions are retrying, or failure which would cause the whole change to
be undone per existing semantics.

** Affects: click-reviewers-tools
     Importance: Undecided
         Status: New

** Affects: snapcraft
     Importance: Wishlist
         Status: New

** Affects: snapd (Ubuntu)
     Importance: Wishlist
     Assignee: Kyle Fazzari (kyrofa)
         Status: In Progress

** Also affects: snapcraft
   Importance: Undecided
       Status: New

** Also affects: click-reviewers-tools
   Importance: Undecided
       Status: New

** Changed in: snapd (Ubuntu)
   Importance: Undecided => Wishlist

** Changed in: snapcraft
   Importance: Undecided => Wishlist

** Changed in: snapd (Ubuntu)
     Assignee: (unassigned) => Kyle Fazzari (kyrofa)

** Changed in: snapd (Ubuntu)
       Status: New => In Progress

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1586465

Title:
  Add support for hooks

To manage notifications about this bug go to:
https://bugs.launchpad.net/click-reviewers-tools/+bug/1586465/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to