Awesome Conferences

Recently in Ganeti Category

If you run private or public clouds (or want to) here is a list of talks, workshops, and tutorials that you should attend at Usenix LISA 2013.

[I apologize in advance for any typo or errors. Please report any problems in the comments. The conference website has the latest information. Other lists of presentations: DevOps, Programming, Unix/Linux administration technical skills, and Women at Usenix LISA.]

Synnefo has announced the first Google Ganeti Conference: GanetiCon 2013.  They will be co-organizers.  The announcement was first made on the Synnefo blog.

The conference will take place between 3-5 September 2013 in Athens, Greece. The venue and program will be announced soon. Most developers of the Ganeti and Synnefo team will be attending.

The first GanetiCon will be a developer oriented conference. Sessions will be a mix of design talks and discussions about new features and future plans. It will also probably feature an advanced Ganeti workshop, depending on user demand.

The conference is geared towards people interested in:

  • learning how other companies/institutions use Ganeti
  • checking out how large scale Ganeti deployments look like
  • glimpsing the product roadmap of Ganeti
  • contributing to future design of Ganeti
  • obtaining help with specific Ganeti issues

The organizers do not yet have a website. To be kept informed of information as it is available please fill out this form.

I wish them the best of luck!  It sounds like a great conference!

Posted by Tom Limoncelli in Ganeti

The next Xen Hackathon will be hosted by the Ganeti team at Google and takes place on May 16-17, 2013 at Google's offices in Dublin Ireland.

I can't make it but many of my coworkers on the Ganeti project will be there. If you use the open source version of Xen and want to get your hack on, please sign up!

Posted by Tom Limoncelli in Ganeti

If you use the Ganeti command line you probably have used gnt-instance list and gnt-node list. In fact, most of the gnt-* commands have a list subcommand. Here's some things you probably didn't know.

Part 1: Change what "list" outputs

Unhappy with how verbose gnt-instance list is? The -o option lets you pick which fields are output. Try this to just see the name:

gnt-instance list -o name

I used to use awk and tail and other Unix commands to extract just the name or just the status. Now I use -o name,status to get exactly the information I need.

I'm quite partial to this set of fields:

gnt-instance list --no-headers -o name,pnode,snodes,admin_state,oper_state,oper_ram

The --no-headers flag means just output the data, no column headings.

What if you like the default fields that are output but want to add others to them? Prepend a + to the option:

gnt-node list --no-headers -o +group,drained,offline,master_candidate 

This will print the default fields plus the node group, and the three main status flags nodes havee: is it drained (no instances can move onto it), offline (the node is essentially removed from the cluster), and whether or not the node can be a master.

How does one find the list of all the fields one can output? Use the list-fields subcommand. For each gnt-* command it lists the fields that are available with that list command. That is, gnt-instance list-fields shows a different set of names than gnt-node list-fields.

Putting all this together I've come up with three bash aliases that make my life easier. They print a lot of information but (usually) fit it all on an 80-character wide terminal:

alias i='gnt-instance list --no-headers -o name,pnode,snodes,admin_state,oper_state,oper_ram | sed -e '\''s/.MY.DOMAIN.NAME//g'\'''
alias n='gnt-node list --no-headers -o +group,drained,offline,master_candidate | sed -e '\''s/.MY.DOMAIN.NAME//g'\'''
alias j='gnt-job list | tail -n 90 | egrep --color=always '\''^|waiting|running'\'''

(Change MY.DOMAIN.NAME to the name of your domain.)

Part 2: Filter what's output

The -F option has got to be the least-known about feature of the Ganeti command line tools. It lets you restrict what nodes or instances are listed.

List the instances that are using more than 3 virtual CPUs:

gnt-instance list -F 'oper_vcpus > 3'

List the instances that have more than 6G of RAM (otherwise known as "6144 megabytes"):

 gnt-instance list -F 'be/memory > 6144'

The filtering language can handle complex expressions. It understands and, or , ==, <, > and all the operations you'd expect. The ganeti(7) man page explains it all.

Which nodes have zero primary instances? Which have none at all?

gnt-node list --filter 'pinst_cnt 0' gnt-node list -F 'pinst_cnt 0 and sinst_cnt == 0'

Strings must be quoted with double-quotes. Since the entire formula is in single-quotes this looks a bit odd but you'll get used to it quickly.

Which instances have node "fred" as their primary?

gnt-instance list --no-header -o name  -F  'pnode == "fred" '

(I included a space between " and ' to make it easier to read. It isn't needed otherwise.)

Which nodes are master candidates?

gnt-node list --no-headers -o name -F 'role == "C" '

Do you find typing gnt-cluster getmaster too quick and easy? Try this command to find out who the master is:

gnt-node list --no-headers -o name -F 'role == "M" '

Like most gnt-* commands it must be run on the master, so be sure to use gnt-cluster getmaster to find out who the master is and run the command there.

If you use the "node group" feature of Ganeti (and you probably don't) you can find out which nodes are in node group foo:

gnt-node list -o name -F 'group == "foo" '

and which instances have primaries that are in group foo:

 gnt-instance list --no-header -o name  -F  " == "foo"'

It took me forever to realize that, since snodes is a list, one has to use in instead of ==. Here's a list of all the instances whose secondary is in node group "bar":

gnt-instance list --no-header -o name  -F '"bar" in'

("snodes" is plural, "pnode" is singular")

To recap:

  1. The following commands have a list-fields subcommand and list accepts -o and -F options: gnt-node , gnt-instance , gnt-job , gnt-group , gnt-backup .
  2. -o controls which fields are output when using the list subcommand.
  3. -F specifies a filter that controls which items are listed.
  4. The field names used with -o and -F are different for each gnt-* command.
  5. Use the list-fields subcommand to find out what fields are available for a command.
  6. The filtering language is documented in ganeti(7). i.e. view with: man 7 ganeti
  7. The man pages for the individual gnt-* commands give longer explanations of what each field means.
  8. In bash , filters have to be in single quotes so that the shell doesn't interpret <, >, double-quotes, and other symbols as bash operators.


Posted by Tom Limoncelli in GanetiTechnical Tips

As many of you know, I work at Google supporting the Ganeti open source project use within Google. I'm on the New York team that does certain functions and the Munich team is responsible for the open source project itself. Both are hiring, but this post is about Munich.

The developers in Munich are taking on some new and exciting work related to the Ganeti open source project. We have a vision of where Ganeti can go and need experienced developers to make it happen. If you are interested in working in Munich on an exciting and important open source project, please check out this job advert:

Google hiring Ganeti software developers in Munich

Most of the Ganeti project is in Python with some Haskell. Experience with C, C++ are also listed in the advert.

Posted by Tom Limoncelli in Ganeti

I'll be speaking at LOPSA-NJ's May meeting about Ganeti, the open source project I'm involved in. The title is "Ganeti Virtualization Management: Improving the Utilization of Your Hardware and Your Time".

For more information check out the LOPSA NJ web site.

I'll be giving a talk about Ganeti, the open source virtual cluster manager April 10th @ 8:00pm at the Woodbury Campus of Cold Spring Harbor Lab, in the Woodbury Auditorium.

For more information visit:

See you there!

I'll be speaking at LOPSA-NYC Tuesday, June 14, 7pm. Please pre-register to speed your way through security.

Come here me speak about the Ganeti open source project. Think virtualization clusters have to cost big bucks? Think virtualization isn't useful for a small site? Come and find out why a person that usually talks about Time Management thinks virtualization is his new favorite time management trick.

Here is the official announcement.

  • Topic: Ganeti: Open source virtualization (like VMWare ESX + VMotion but open source)
  • Speaker: Tom Limoncelli, Google, Inc
  • When: Tuesday, June 14, 7pm - 9:30pm

  • Description: Ganeti is a cluster virtual server management software tool built on top of existing virtualization technologies such as Xen or KVM and other Open Source software. Ganeti takes care of disk creation, migration, OS installation, shutdown, startup, and can be used to preemptively move a virtual machine off a physical machine that is starting to get sick. It doesn't require a big expensive SAN, complicated networking, or a lot of money. The project is used around the world by many organizations; it is sponsored by Google and hosted at

  • Registration:

Please make sure to register on the page to avoid any issues with DE Shaw security and entering the building.

As previously mentioned, I'll be the speaker at LOPSA-NYC.

Come here me speak about the Ganeti open source project. Think virtualization clusters have to cost big bucks? Think virtualization isn't useful for a small site? Come and find out why a person that usually talks about Time Management thinks virtualization is his new favorite time management trick.

Hope to see you there!

(Please pre-register so you can get through security quickly.)

Posted by Tom Limoncelli in GanetiLOPSANYCSpeakingTime Management

System Administration Soft Skills: How can system administrators reduce stress and conflict in the workplace? by Christina Lear
Christina is a co-author of The Practice of System and Network Administration. The article is a great overview of the soft skills needed by system administrators and for non-sysadmins it is an interesting peek into sysadmin life. Check it out! (If you didn't recognize her name, that's because it changed when she married this guy.)

Handling HDD failures with Ganeti by Lance Albertson
Lance uses the Ganeti virtual cluster manager (think: VMWare ESX with Vmotion but completely open source) and has written another great post about how it is making his life easier. I work on the team that develops Ganeti.

Testable System Administration: Models of indeterminism are changing IT management. by Mark Burgess
Mark is the author of cfengine and explains the new thinking in system administration. If you've heard terms like "Configuration Management", "cfengine", "Puppet", or "Chef"( and weren't sure what they're about, this article will give you the theory behind it all.

Tom will be speaking about the Ganeti open-source project (manages virtual server clusters). More info at

Two talks in one: