<div dir="ltr">this is awesome. how can we contribute to this project :-) . I am already using LXC and building & deploying the rootfs via CI (go-cd+ chef). having lxd in place will make all those integration lot more thin and clear.<div><br></div><div>thanks for doing this :-)</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Nov 4, 2014 at 9:33 AM, Stéphane Graber <span dir="ltr"><<a href="mailto:stgraber@ubuntu.com" target="_blank">stgraber@ubuntu.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello,<br>
<br>
So some of you may have seen discussions here and there about an announcement<br>
which was made earlier today at the OpenStack Summit in Paris.<br>
<br>
The public description of the project is at:<br>
<a href="http://www.ubuntu.com/cloud/tools/lxd" target="_blank">http://www.ubuntu.com/cloud/tools/lxd</a><br>
<br>
<br>
Now all of this is pretty vague so I'll try to give some context and<br>
describe how things will be moving forward from there.<br>
<br>
Earlier this year, I started a discussion with some of you and some of<br>
our biggest users on improving the LXC user experience. This resulted in<br>
a bunch of good ideas, especially being able to transparently manage a<br>
bunch of hosts over the network, move containers around and do all of<br>
this safely.<br>
<br>
After some more discussions at conferences and internally within<br>
Canonical, what's announced today as LXD was born.<br>
<br>
The concept is relatively simple, it's a daemon exporting an<br>
authenticated REST API both locally over a unix socket and over the<br>
network using https.<br>
There are then two clients for this daemon, one is an OpenStack plugin,<br>
the other a standalone command line tool.<br>
<br>
The main features and I'm sure I'll be forgetting some are:<br>
 - Secure by default (unprivileged containers, apparmor, seccomp, ...)<br>
 - Image based workflow (no more locally built rootfs)<br>
 - Support for online snapshotting, including running state (with CRIU)<br>
 - Support for live migration<br>
 - A simpler command line experience<br>
<br>
This work will be done in Go, using the great go-lxc binding from S.Çağlar.<br>
<br>
<br>
Now as to what this means for LXC upstream:<br>
 - A new project will be setup at <a href="http://github.com/lxc/lxd" target="_blank">github.com/lxc/lxd</a>.<br>
 - Code to this project will be contributed under an Apache2 license, no<br>
   CLA is required but we will require contributors to Sign-off on their<br>
   commits as always (DCO).<br>
 - Discussions about lxd will happen on lxc-devel and lxc-users.<br>
 - Contributions to <a href="http://github.com/lxc/lxd" target="_blank">github.com/lxc/lxd</a> will happen through github pull<br>
   requests only and reviews will happen on github too.<br>
<br>
This is kept separate from the main tree because at least initially, I<br>
believe it best to have a separate release schedule for both of those<br>
and because it tends to be easier for Go-only projects to live in their<br>
own branch.<br>
<br>
<br>
This also isn't the end of the old lxc tools and templates. Those will<br>
keep being developed and maintained so long as there's interest in doing<br>
so by the LXC community.<br>
<br>
lxd will be a nice way to try and build a completely new, slicker user<br>
experience without having to care about backward compatibility, as a new<br>
project, it should also be much easier for newcomers to work on.<br>
<br>
<br>
In order to be a good hypervisor, we also need to make containers feel<br>
like they are their own system and so we'll be spending quite a bit of<br>
time figuring out how to improve the situation.<br>
Some of the work presented at Linux Plumbers is going to contribute to<br>
that, like cgmanagerfs to provide a reasonable view of /proc and a fake<br>
cgroupfs, Seth's unprivileged FUSE mounts and all the cool things<br>
mentioned in Serge's earlier post about<br>
<br>
<br>
Now as for the next steps. We will be creating the repository on github<br>
over the next few hours with Serge and I as the initial maintainers.<br>
Once the project is properly started and active, we will promote some of<br>
the most active contributors to commiters.<br>
<br>
The first few commits in there will be text versions of the<br>
specifications we came up with until now. This should also serve as a<br>
good todo list for people who want to get involved.<br>
<br>
Over the next few days/weeks, the existing code which was used for the<br>
demo at the OpenStack summit in Paris will be submitted through pull<br>
requests, reviewed and merge.<br>
<br>
<br>
<br>
I'm also working on a new version of <a href="http://linuxcontainers.org" target="_blank">linuxcontainers.org</a> which will end<br>
up covering all <a href="http://linuxcontainers.org" target="_blank">linuxcontainers.org</a> projects, that is at the moment,<br>
lxc, cgmanager and lxd, with clear descriptions, examples, news, ...<br>
<br>
<br>
Help with any of the above would be greatly appreciated, please get in<br>
touch, on the list or on IRC (#lxcontainers on Freenode)!<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Stéphane Graber<br>
Ubuntu developer<br>
<a href="http://www.ubuntu.com" target="_blank">http://www.ubuntu.com</a><br>
</font></span><br>_______________________________________________<br>
lxc-users mailing list<br>
<a href="mailto:lxc-users@lists.linuxcontainers.org">lxc-users@lists.linuxcontainers.org</a><br>
<a href="http://lists.linuxcontainers.org/listinfo/lxc-users" target="_blank">http://lists.linuxcontainers.org/listinfo/lxc-users</a><br></blockquote></div><br></div>