Skip to main content
Stéphane Graber

Stéphane Graber

63 posts

LXD Weekly Status #13: Snap data migration, Open Source Summit & more

Weekly status for the week of the 28th to the 3rd of September 2017. Introduction The main focus for this past week has been the preparation for LXC 2.1. We’ve now issued a call for testing and expect it to release tomorrow (Tuesday). On the LXD side of things, we’ve been working through bug reports quite a

LXD Weekly Status 12

This article originally appeared at the Linux Containers forum Introduction This week saw the release of LXD 2.17 and it’s now quickly rolling out to our users. We’re still very busy with preparation work for LXC 2.1 with a tentative release date of Monday next week. A lot of work has gone into our snap package, including

LXD 2.17 has been released

The changes in this release include New features: Add support for specifying the ceph user (using the “ceph.user.name” property) Implement “instance types” as an easy way to specify limits (e.g. “lxc launch ubuntu:16.04 -t t2.micro”) Add a new “lxc query” command as a low level query tool for the LXD API (similar to curl but

LXD: Weekly status #11

Introduction This week has been pretty busy, with the most time consuming work being: More preparation for the upcoming LXC 2.1 release (getting very close now). Dealing with a massive (500+) backlog of patches for the LXC 1.0 and 2.0 stable branches. Quite a bit of refactoring in LXD around the daemon struct and database

LXD: Weekly Status #10

Debconf17 Christian Brauner (@brauner) and Stéphane Graber (@stgraber) were attending Debconf17 in Montreal.We had the opportunity to catch up with colleagues, friends and users. Stéphane gave a talk about LXD and system containers on Debian, a recording is available: http://gemmei.ftp.acc.umu.se/pub/debian-meetings/2017/debconf17/an-intr

Custom user mappings in LXD containers

Introduction As you may know, LXD uses unprivileged containers by default. The difference between an unprivileged container and a privileged one is whether the root user in the container is the “real” root user (uid 0 at the kernel level). The way unprivileged containers are created is by taking a set of normal UIDs and

Custom user mappings in LXD containers

Introduction As you may know, LXD uses unprivileged containers by default. The difference between an unprivileged container and a privileged one is whether the root user in the container is the “real” root user (uid 0 at the kernel level). … Continue reading →

USB hotplug with LXD containers

USB devices in containersIt can be pretty useful to pass USB devices to a container. Be that some measurement equipment in a lab or maybe more commonly, an Android phone or some IoT device that you need to interact with.Similar to what I wrote recently about GPUs, LXD supports passing USB devices into containers. Again, similarly to the G

NVidia CUDA inside a LXD container

GPU inside a container LXD supports GPU passthrough but this is implemented in a very different way than what you would expect from a virtual machine. With containers, rather than passing a raw PCI device and have the container deal … Continue reading →

Run your own LXD demo server

The LXD demo serverThe LXD demo server is the service behind https://linuxcontainers.org/lxd/try-it.We use it to showcase LXD by leading visitors through an interactive tour of LXD’s features.Rather than use some javascript simulation of LXD and its client tool, we give our visitors a real root shell using a LXD container with nesting ena

LXD client on Windows and macOS

LXD on other operating systems? While LXD and especially its API have been designed in a mostly OS-agnostic way, the only OS supported for the daemon right now is Linux (and a rather recent Linux at that). However since all … Continue reading →

LXD 2.0: Debugging and contributing to LXD [12/12]

This is the twelfth and last blog post in this series about LXD 2.0. Introduction This is finally it! The last blog post in this series of 12 that started almost a year ago. If you followed the series from the beginning, … Continue reading →

Ubuntu Core in LXD containers

What’s Ubuntu Core? Ubuntu Core is a version of Ubuntu that’s fully transactional and entirely based on snap packages. Most of the system is read-only. All installed applications come from snap packages and all updates are done using transactions. Meaning … Continue reading →

LXD on Debian (using snapd)

Introduction So far all my blog posts about LXD have been assuming an Ubuntu host with LXD installed from packages, as a snap or from source. But LXD is perfectly happy to run on any Linux distribution which has the … Continue reading →

Running Kubernetes inside LXD

Introduction For those who haven’t heard of Kubernetes before, it’s defined by the upstream project as: Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications. It groups containers that make up an application into logical … Continue reading →

Network management with LXD (2.3+)

Introduction When LXD 2.0 shipped with Ubuntu 16.04, LXD networking was pretty simple. You could either use that “lxdbr0” bridge that “lxd init” would have you configure, provide your own or just use an existing physical interface for your containers. … Continue reading →