Ubuntu Server Development – Weekly Dunk – Week 28 (2013)

The Ubuntu Server Team is constantly working on some really exciting areas.  We try to collate the best of open source to deliver a distribution suitable for cloud, scale out and traditional server workloads.  We try to provide agile granite foundations for users to build their workload on.  Most of the work we do is for no cost to the user, maximising value.

On a weekly basis, we hold an IRC meeting, where we discuss blueprints and development, but I do think we could probably do better at sharing some of the great stuff we are doing.

To achieve this, i’m setting a target of trying to give a weekly insight into the highlights of the work that the Ubuntu Server team is doing.  So join me on my mission and prepare for your dunked digest into the giant cup of Server.

Juju is a key Ubuntu Server technology.  it is typically called a service orchestration management tool, rather than a server management tool.  Many of the deliverables of the server team are either built upon Juju, or underpins Juju itself.  In return, Juju underpins greatness.

Juju supports writing a charm in any language (or even compiled binary!), that can be executed or interpreted by the machine.  I believe the most complex charms in the store are the Openstack ones.  Some of the original charms were written in shell/bash, but it has become apparent that a richer higher level such as python can be massively useful.  Therefore, we decided to rewrite some of the earlier charms in python.  The Cinder charm was rewritten by Adam in python and Andres has been on the same for Glance. The real key part of this is that the deployments can have a seamless upgrade, without realising that the underlying charm language has changed.

We’ve also found that many of the charms contain significant overlap, therefore we have been trying to push much of the common code into charm-helpers.  This is vital for any DRhY methodology, which helps with maintainability – but also allowing us to be more effective.  James found that he could rework the Ceph charms to use charm-helper and push some extra features back to charm-helpers.

The velocity of development means that Quality is a constant concern.  The only way we can raise our capacity and have a good level of confidence in what we deliever is to have frequent testing.  To scale this, we’ve been putting significant work into automating areas where we can.  DEP-8 (autopkgtest) is a format for describing test requirements, setup and the actual test case.  Adam implemented DEP-8 package testing into the Openstack packaging, using juju, jenkins and a special internal Openstack deployment we’ve codenamed ServerStack.

Adam also worked on some Ubuntu Cloud Archive tooling to make it easier to submit packages and cleaner package release reporting that make it easier to identify workflow status.

Andres uploaded latest version of MAAS to Saucy. Diogo who is helping to drive quality in the server team worked on resolving some MAAS jenkins test failures under Saucy and setup tarmac (code lander) for juju-gui.

Chuck uploaded new versions of python-keystoneclient, python-ceilometer, python-swiftclient.  In addition he also backported Qemu 1.5.0 to the Ubuntu Cloud Archive, enabling the latest Qemu features on the stable base that 12.04 LTS provides.

Chuck has also been leading the way for python3 compatibility, including some work on making python-novaclient python3 compatible.  He also worked on a bunch of upstream openstack patches.

As part of the hardware enablement stack, 3.10 kernel is being brought back to the 12.04 Precise.  This means that a bunch of these need to be made 3.10 compatible.  James worked on resolving a failure with with iscsitarget, and pushed it upstream.

James uploaded a new snapshot of OpenvSwitch 1.10.1 to Saucy.  working on Nicira NVP support for the OpenStack charms

Robie did some great work on enabling multiple tests (DEP8/autopkgtest) for LXC, which was discussed on the ubuntu-server mailing list.

Scott decided it would be a good idea to hike to the top of Mount Democrat, and whilst doing some cloud-init enablement and simplestreams development.

Serge, who has been pushing LXC developments in Ubuntu built a custom Saucy kernel with Dwight’s xfs userns patchset (final set needed before we can ask kernel team for enablement!) and also investigated signalfd/epoll/sigchld race which was reproducible with LXC.

Yolanda worked on writing a charm to deploy your own Gerrit code review tool, a pretty nasty ipxe assembly rebuild bug (upstream believe it to be a GCC bug!), and solving a bind9 issue.

Oh, and this week Andy Murray also won the tennis championship, Wimbledon – which I for one, attribute his success to Week 28 of Ubuntu Server development.  The most interesting part of this, is that he is the first British man to win who wasn’t wearing full length trousers.  I’ve heard, but it’s yet to be confirmed – that he used juju during his training, but this is yet to be confirmed.

Leave a Reply