
May 14, 2012
I’ve just released OATHAuth 0.1 for MediaWiki. This is an HMAC based One Time Password (HOTP) implementation providing two factor authentication. This is the same technology used for Google’s two-factor authentication.
OATHAuth is an opt-in feature that adds more security accounts in a wiki. It provides two-factor authentication, using your phone as the something you have, and your username/password as the something you know. If you are using iPhone or Android, you can use the Google Authenticator app as a client. There are also clients for most other phones and desktops; Wikipedia has a good list of clients.
This is a preview of
Announcing OATHAuth, a two-factor authentication extension for MediaWiki
.
Read the full post (145 words, 4 images, estimated 35 secs reading time)

Apr 24, 2012
In Wikimedia Labs, we don’t manage authentication and authorization in the normal public cloud way. We don’t assume that an instance creator is managing auth for instances they create. Instead, all of Labs uses a single auth system for all projects and instances and a community manages project membership and auth.
In the original design, being a project member in specific projects would automatically give you root via sudo and being a project member in a global project would give you shell, but not root. We were handling this through puppet configuration. This was a fairly limiting system. Giving fine grained permissions wasn’t easy. The instances knew which users were a member of a project since the projects were also posix groups; however, they didn’t know which users were in the roles of that project, so there was no fined grained way to handle this.
This is a preview of
Per-project sudo policies using sudo-ldap and puppet
.
Read the full post (476 words, 2 images, estimated 1:54 mins reading time)

Apr 6, 2012
The OpenStackManager extension is a web interface for OpenStack, and a manager for a fully integrated test and development network being written primarily for Wikimedia Foundation use.
This release is mostly aimed at performance and usability. Here’s a list of changes:
- Added a project filter. Rather than showing all projects, only projects selected in the project filter will show in the management interfaces. This should make the interfaces contain far less text, and should make interfaces load much faster.

Jan 6, 2012
I had a situation recently where a number of live migrations failed in a truly nasty way. The live migration failed part way through, but didn’t properly back-out the changes. This left the instance running nowhere, but in a “migrate” state in the database. I tried to reboot the instance, which then left the instance in the “running” state.
Of course, the instance wasn’t actually running anywhere and the reboot command wouldn’t start the instance, because it thought it was running. The logs complained that the instance wasn’t running whether I tried to restart the migration, or reboot. What a full of fail situation.
This is a preview of
Fixing a very broken instance live migration manually
.
Read the full post (222 words, estimated 53 secs reading time)

Dec 22, 2011
The OpenStackManager extension is a web interface for OpenStack, and a manager for a fully integrated test and development network being written primarily for Wikimedia Foundation use.
I’ve been busy enough lately working on our OpenStack infrastructure that I haven’t made an OpenStackManager release in a while. Over the past seven months I’ve continued to make small changes to the software, and the past few weeks I’ve added features I feel deserve another release.
This is a bugfix and features release. Major changes include compatibility for cactus and diablo releases of nova, and 1.18 compatibility for MediaWiki. The changes in this release focused mainly on making workflow easier. Here’s a complete list of changes:

Nov 2, 2011
For the proper automation of a service using puppet, it’s necessary to ensure the service can be installed repeatedly, and that the service is fully up and ready when it is built. To ensure this, I’m using the following process, using nova:
- Create an instance and use it to do experimentation with the service.
- Document the service, along with the installation process on wikitech, after ensuring the service is working properly.
- Create a second instance. Following the documentation written, puppetize the service.
- Create a third instance. Ensure the puppetized service runs properly when initialized from scratch.
This is a preview of
A process for puppetization of a service using Nova
.
Read the full post (141 words, estimated 34 secs reading time)

Nov 1, 2011
As mentioned in an older post, I’m building a test and development environment using OpenStack. The environment is intended to be fairly integrated. Part of this integration is a consistent working environment between instances in a project. Providing home directories via NFS is the easiest way of ensuring this consistent working environment.
This is a preview of
Sharing home directories to instances within a project using puppet, LDAP, autofs, and Nova
.
Read the full post (1113 words, estimated 4:27 mins reading time)

Oct 10, 2011
The last day of the OpenStack Design Summit and Conference it was announced that OpenStack would now be run as a foundation, rather than as a corporate subsidiary of Rackspace. I believe this is an important step in the growth and stability of this project, and am very excited about the plans.

Sep 23, 2011
I recently added a Gerrit instance at Wikimedia for doing code review and git repository management for our puppet repository. Since I’m using a new tool, I need a new working environment to go with it.
Our puppet configuration is broken into two environments (production and labs), each environment having a public and private repository. Inside of these repositories our configuration is broken into three main directories: files, templates, manifests. I often jump between repositories, directories within repositories, and branches within different screen windows.
The information I need to know is this:
- The current working directory in each screen window
This is a preview of
Configuring a local environment for dealing with git
.
Read the full post (348 words, 1 image, estimated 1:24 mins reading time)

Sep 19, 2011
Really, I’ve been with the foundation for a year and a month, so this post is a little late. My first post on this was also a month late; so, at least this is an update of what I did for the past year.
Question is, did I meet the goals I set for last year? Here’s my goals from last year with the results:
- Learn how to deal with Wikimedia infrastructure during an emergency situation, so that we don’t have to constantly wake up the same folks
- Success. I handled a number of outages without needing to page anyone.
This is a preview of
I’ve been with the Wikimedia Foundation for a year. Have I met my goals?
.
Read the full post (814 words, estimated 3:15 mins reading time)