Linux Symposium 2009

Montreal, Canada, July 13-17 2009

It’s a third time OpenVZ takes part in Linux Symposium, and a first time it’s being held in Montreal! The project will present a tutorial on installing/using OpenVZ, and a BoF for OpenVZ users and developers.


plone vs. mediawiki

I promised to write more non-OpenVZ specific stuff. Here we go.

About 3 years ago I wrote about my experiences with Plone and Mediawiki. I just reread it this morning because someone left a comment there and it went into my email.

So I briefly visited plone.org to see what are they up to. Insteresting, they fixed some of what I was moaning about in that old post (the part about Joe the user). Apparently Plone 3 has wiki syntax support, versioning and history, and I guess a bunch of other cool features.

I’m not sure if it is any faster now, and whether it’s easier to tweak and modify. I hope it is.

But oh no, I don’t have enough courage to try it. Although Mediawiki lacks a few features of “the proper CMS” like Plone which I miss, although I prefer Python to PHP, I am still pretty happy using Mediawiki for openvz.org. So I let well enough alone.

Fear no KLOC

From time to time, somebody critisizes OpenVZ kernel patch for its intrusiveness and size. Right, it is big and intrusive — it adds a whole lot of new features into the kernel. But how big is it?

Our engineer prepared some stats on three different kernels:
1. OpenVZ stable kernel (based on 2.6.18-RHEL5);
2. OpenVZ development kernel (based on 2.6.27);
3. RHEL5.3 kernel (based on 2.6.18).
You can see the results by clicking the image at the right.

Some notes for the graph. For OpenVZ kernels, we distinguish between core kernel changes and the stuff that is built as modules. For RHEL kernel, we break the patchset down into a few categories, such as drivers, Xen, GFS, ext4 and so on; “other” means everything not covered by any other category. The numbers are thousands lines of code added and deleted, combined. A table below the graph has some more details, like how many files were changed, how many lines added and deleted.

Now to the conclusions. Two major points can be made:
1. Even without drivers, RHEL5 kernel patches add/delete 434 KLOCs*, which is 8.5x times bigger then OpenVZ kernel modifications (51 KLOC). So, yes, OpenVZ patch set is big, but not that big.
2. OpenVZ based on mainstream 2.6.27 kernel requires 40% less** modifications to the kernel due to on-going effort to integrate the functionality into mainstream.

* KLOC is a thousand lines of source code.
** we only count the core changes, omitting the modules.

live from SCALE7x

Greetings from SCALE7x! Today will be the second (and the last) day of the show. Yesterday I did a presentation titled “Recent Advances in the Linux Kernel resource management”. The scope of the talk is much more technical and narrow than my usual talk about containers. More to say, I was focusing more on mainstream Linux kernel (i.e. cgroups and memory controller) than on OpenVZ kernel (i.e. user beancounters).

I think the talk was well received and I had about 10 different interesting questions, one is puzzling enough so I was not able to provide a good answer. This is definitely a sign of a good audience.

If anyone is interested in slides from my presentation, they are available: OpenOffice ODP (276K), PDF (409K), PPT (437K).

if (time() == 1234567890) celebrate();

Disclaimer:This post is not really related to OpenVZ, but who cares? I don’t… :) So from now on I will be writing more here, on just about everything.

In UNIX systems, system time is accounted as a number of seconds since so-called “UNIX epoch” — 1 January 1970 00:00:00 UTC. This number of seconds is returned by system call time(), plus there are library routines to convert it to more human-appealing formats.

You can guess the number is pretty big nowdays, incrementing every second. In fact, it’s already over a million seconds, and in about 1 hour it will be equal to 1234567890. For some people this is a good enough reason to have a beer or two in a good company. Check http://www.1234567890day.com/ for 1234567890 parties around the globe. As for myself, I will just watch the number growing. Some kind of a meditation, similar to staring at an open fire, or flowing water, or people at work… I can do that for hours! Just kidding…

On Linux, you can see the current time() using date +%s command. Enjoy.

Getting ready for SCALE7x

In about a week I will be in Los Angeles for the annual Southern California Linux Expo, a.k.a. SCALE. It is quite a big event. Well, not quite as big as LinuxWorld or Linux Symposium, but still big enough and growing bigger each year. I’d like to say this conference is of good spirit, whatever that means.

Like the last year, we were granted a booth in the dot-org area (#63), plus I will be giving a talk titled “Recent advances in the Linux resource management“, talking about cgroups, memory controller and stuff. Because of the booth I am not coming along — Lesya Novaselskaya will hostess the booth. Lesya is working for Parallels as a Quality Assurance engineer, her job is to test various software including OpenVZ in order to make it bullet-proof and rock solid.

We still have lots of things to do to be fully prepared for the event. I have already created a brand new OpenVZ t-shirt design codenamed “kernel classics” which you can see on the right (also, here is the back design in hi-res). It plays around the fact that we name our 2.6.26- and 2.6.27-based kernels after famous Russian writers and painters, respectively. If you will be at the conference and tell us your OpenVZ story, you get your t-shirt. If you are not going to visit SCALE but eager to get such a t-shirt (not the same since I’m ordering from a different place, but with the very same graphics) you can buy it from cafepress (previous “container lifecycle” t-shirt is also available).

I hope I will also prepare the new DVD images containing a live CD OpenVZ distro which could be used to get a feeling of what OpenVZ is without installing it, plus all the latest kernels, tools and templates.

‘dab’ Debian/Ubuntu Appliance Builder released!

We just published our Debian/Ubuntu appliance builder for OpenVZ (of course perfectly usable on Proxmox VE).

Short description

Creating high quality appliances is a difficult task and requires deep knowledge of the underlying operating system. So we created the ‘Debian Appliance Builder’ to simplify that task. ‘dab’ is a script to automate the creation of OpenVZ appliances. It is basically a rewrite of debootstrap in perl, but uses OpenVZ instead of chroot and generates OpenVZ templates. Another difference is that it supports multi-stage building of templates. That way you can execute arbitrary scripts between package installation steps to accomplish what you want.

Furthermore, some common tasks are fully automated – like setting up a database server (mysql or postgres). To accomplish minimal template creation time, packages are cached to a local directory, so you do not need a local Debian/Ubuntu mirror (although this would speed up the first run). All generated templates includes an appliance description file. Those can be used to build appliance repositories.

Virtual appliances are a well known and quite successful way to demonstrate and run server software. But till now, no high quality appliance builder for OpenVZ was available.

Anybody is talking about the economic and financial crisis – a good chance to bring powerful open source software to the enterprise customer – start now using OpenVZ for virtual appliances!

All details:
http://pve.proxmox.com/wiki/Debian_Appliance_Builder

Best Regards,

Martin Maurer

martin@proxmox.com
http://www.proxmox.com
____________________________________________________________________
Proxmox Server Solutions GmbH
Kohlgasse 51/10, 1050 Vienna, Austria

Southern California Linux Expo 2008

Los Angeles, USA, February 20-22, 2009
Scale7x.gif
OpenVZ project will have a booth, plus Kir Kolyshking will deliver a talk titled “Recent Advances in the Linux Kernel Resource Management”


2.6.27 kernel and Russian painters

A new 2.6.27-based OpenVZ branch is opened, and the first 2.6.27-based OpenVZ is released.

An idea of using names instead of numbers for kernel releases is working for 2.6.26, and we decided to have some fun with 2.6.27 kernels, too. These kernels are [to be] named after famous Russian painters, of course in the alphabetical order.

First 2.6.27 OpenVZ kernel is named after Ivan Konstantinovich Aivazovsky. Aivazovsky is a great painter and I’d love to add a link to some of his masterpieces here, but while trying to find a good reproduction of “The Ninth Wave” I realized that a typical notebook/PC is incapable of displaying such art. Then you try to fit a 2×3 meters painting into a 22″ computer screen, nothing good is to be expected. Even in case of high resolution copy stored in a lossless format you either see a full picture but details are lost, or you see some part of it with all the details but then you don’t see the full picture. So be aware that a painting that you see online is a pathetic shadow of what you can enjoy in a real (i.e. offline) museum or art gallery.

The 2.6.27-aivazovsky kernel, on the other side, is perfect for you PC, so enjoy.

New year, new stuff

Consider this as a new year gifts from Father Frost, or Dad Moroz, or Santa Clous, or me, if you so prefer.

First gift is a new fresh set of precreated templates, which spent quite some time in beta before. Those are the same templates, but updated couple of days ago, plus there is Ubuntu-8.10 added. I hope I will update those monthly or so, since now I have some automation in place. A ‘date’ column was added to list of template files on wiki so you can easily see how old are those.

Second one is new shiny SSL certificates for https://wiki.openvz.org/ and https://bugzilla.openvz.org/. I call it shiny because they are neither self-signed nor bough from a commercial certificate authority. As you can see they are CAcert.org certificates. CAcert is an organisation which is building so-called web of trust, and acts as a certificate authority for its members. If you need free certificates, you are welcome to join. And, if you decide to trust CAcert as a certificate authority and your browser isn’t configured for it yet, you have to import their root certificate.

Finally, a new 2.6.24 kernel is coming out later today. Others will follow. Update: here it is, 2.6.24-ovz007.1.