RFC: Comfy - a CLI framework to bring the Ubuntu cloud feeling to snappy Ubuntu Core

Steve Langasek steve.langasek at canonical.com
Mon Feb 2 10:11:32 UTC 2015

Hi Scott,

We discussed this on IRC, but putting it on the list here for others'

On Wed, Jan 28, 2015 at 05:13:08PM -0500, Scott Moser wrote:
> On Tue, 13 Jan 2015, Alexander Sack wrote:

> Replying to the top message in the thread, because I'm suggesting
> something that might take this in a different way entirely.

> I absolutely agree with the motivation behind 'comfy'.  I have a set of
> cloud-init user-data that runs on all new instances and gives me some sane
> set of tools.

> It seems to me that the question:
>   what function is comfy?
> Is not all together much different from:
>   what should be in Ubuntu Server by default.

> After selecting this set of packages, we then have to manage to "snappify"
> them all, and I don't think we have a magic bullet for that yet.  As
> this package list grows, we all think "oh my... another package that we
> have to maintain a relocatable build for".

You're correct that we don't have a magic bullet for that yet; but I think
the key word here is "yet".  It's important for us to be able to take
arbitrary sets of .deb packages and turn them into snappy packages.  The
proposed mechanism for this is the use of overlayfs in a per-snap namespace.

With this bit of magic, there's no requirement to implement relocatable
builds for any packages.  There is more up front work before we can start
making use of this, but it works for all arbitrary sets of packages.  The
only thing that an overlay wouldn't be able to do is remove a file from the
system underlay; this is something to be aware of, but it's an extreme
corner case that this would ever cause a problem in practice, and if it did
it could be addressed by rather small changes to the source in the snap

> Essentially, we have a *small* set of packages in Ubuntu Core (basically the
> minimum we can get by with), and a *huge* set of packages in Ubuntu that
> we'd like to magically be able to use whenever we need them.  We also have
> a nice way of getting the package and its dependencies in 'apt-get' or
> 'debootstrap'.

> We've assumed that packages have to be re-built to run on top of a snappy
> base.  They have to relocate themselves to no longer access files in / but
> rather /apps/<app-name>/<version>/.

To be clear, I have not been assuming this at all.  I understand that the
goal is to be able to generate a snap package from existing Debian packages
without any requirement for source modification.

Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
Ubuntu Developer                                    http://www.debian.org/
slangasek at ubuntu.com                                     vorlon at debian.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <https://lists.ubuntu.com/archives/snappy-devel/attachments/20150202/95f90501/attachment.pgp>

More information about the snappy-devel mailing list