I was initially going to just do a writeup on this blog, but I asked the folks at LWN if they were interested.. and they were! This is my first article for LWN. I’ve followed the site and the excellent content for a really long time, and now I’m very thrilled to also be an author.
We recently celebrated 25 years of Linux on the 25th anniversary of the famous email Linus sent to announce the start of the Linux project. Going by the same yardstick, today marks the 10th anniversary of the KVM project — Avi Kivity first announced the project on the 19th Oct, 2006 by this posting on LKML:
KVM was subsequently merged in the upstream kernel on the 10th December 2006 (commit 6aa8b732ca01c3d7a54e93f4d701b8aabbe60fb7). Linux 2.6.20, released on 4 Feb 2007 was the first kernel release to include KVM.
KVM has come a long way in these 10 years. I’m writing a detailed post about some of the history of the KVM project — stay tuned for that. [Update 3 Nov 2016: I’ve written that article now at LWN.net: https://lwn.net/Articles/705160/]
One of my aims for this talk was to introduce people to the concepts behind virtualization and containers, explain that these aren’t really new technologies, and why there’s so much interest in them of late.
I also think there’s a lot of misinformation spread around these topics, so this was also an attempt to set some facts straight.
The slides are here, and I will post an update with the link to the video.
The talk introduced the KVM stack (Linux, KVM, QEMU, libvirt) and live migration; introduced ways the higher layers (especially oVirt and OpenStack) use KVM and migration, and what challenges the KVM team faces in working with varying use-cases and new features added to make migration work, and work faster.
There was a video recording, I will post the link to it in a separate post.
The talk introduced the KVM stack (Linux, KVM, QEMU, libvirt); briefly went over some features and the communities around the projects, and discussed some of the new features added to the KVM stack in the last year.
Next up is my talk on live migration of VMs at FOSDEM in Belgium.
Hot on the heels of the QEMU 2.4 release, we have QEMU version 2.5 releasing today.
QEMU creates the virtual machine which guest operating systems run on top off. QEMU also handles host-specific things, like the storage and networking on the host.
Given the wide scope of this project, there are several changes that many contributors add to each release. To repeat the success with the 2.4 release video, I asked maintainers to record segments for the 2.5 release as well. A few maintainers and contributors chipped in with videos, and a few updated the ChangeLog page, and added new feature pages. Thanks to all who pitched in!
In the video, we have Michael Tsirkin speaking on new security features, virtio 1, vhost and vhost-user and some guest enhancements for PCI and PCI-E; Juan Quintela about live migration enhancements (like the new autoconverge implementation); Dave Gilbert about the new postcopy migration feature; Eric Blake on QMP introspection; Stefano Stabellini on Xen; Stefan Hajnoczi on enhancements in the block layer; and Alberto Garcia expanding on a few block layer enhancements.
Side note: if you notice, the new feature pages linked above are quite detailed. They’re based on a template which was prepared based on feedback from quite a few people, including Docs and Quality Engineering folks from Red Hat, the Fedora Changes template, and my experience with answering questions for my features. I included as many items and questions in the template as possible so it’s easier for users to get as much information on a feature from the feature page before they ask the developer for more information. In the coming days, I hope to point out the new template to more people, and perhaps make it a requirement for new features landing in QEMU.
As with the last time, I used OpenShot to create the video, and Audacity for some noise reduction on the audio track of one of the videos. Unfortunately, this time, OpenShot on Fedora 23 crashed a lot – approx. once for each action I performed. Enabling the autsave functionality helped a lot; I lost several edits before I did that
Let’s Encrypt have lauched their public beta, and they’re now offering SSL certificates to everyone. The process is very easy and quite easy to automate. However, there’s a catch: these certificates expire in a few days (90 days as of now), so they have to be renewed often. That’s where having the process be simple and automatable helps.
OpenShift doesn’t yet have a way to automate SSL certificate installs; so adding an SSL cert to this blog is going to be a manual process every few days. I’m on the OpenShift silver tier (not yet available in my region, but it’s a perk available to Red Hat employees), so I get to attach a custom cert to my site.
Here’s what I did to get an SSL cert for this blog and enable it: installed the letsencrypt package from the Fedora repos, and ran this command:
It’s 30 years of GNU — 30 years of freedom and 30 years of owning one’s computers. I can’t imagine a life where I don’t have control over the software I run. I’m going to be eternally thankful to RMS and Linus for starting the mass movements that have not only transformed an entire industry, but also shaped my thinking and my career.
A few Red Hatters (including yours truly) have shared stories of their first brush with free software here — give it a read, it’s a good trip down the memory lane, as well as some inspiring anecdotes from people who have been involved with free software for a really long time.
Here’s wishing everyone a liberating Software Freedom Day (Sep 19th), and many more years of freedom to everyone!