Langue: en

Version: 10 January 2009 (debian - 07/07/09)

Section: 7 (Divers)


ganeti-os-interface - specifications for guest OS types


The method of supporting guest operating systems in Ganeti is to have, for each guest OS type, a directory containing a number of required files.


There are five required files: create, import, export, rename (executables) and ganeti_api_version (text file).


create -i instance_name -b blockdev_sda -s blockdev_sdb

The create command is used for creating a new instance from scratch.

The argument to the -i option is the FQDN of the instance, which is guaranteed to resolve to an IP address. The create script should configure the instance according to this name. It can configure the IP statically or not, depending on the deployment environment.

The -b and -s options denote the block devices which will be visible in the instance as sda and sdb. The sda block device should be used for the root disk (and will be passed as the root device for Linux kernels). The sdb device should be setup for swap usage.


import -i instance_name -b blockdev_sda -s blockdev_sdb

The import command is used for restoring an instance from a backup as done by export. The arguments are the same as for create and the output of the export will be provided on stdin.


export -i instance_name -b blockdev_sda

This command is used in order to make a backup of the instance. The command should write to stdout a dump of the given block device. The output of this program will be passed to the import command.

The options have the same meaning as for create and import, with the exception that the argument to -i denotes an existing instance.


rename -o old_name -n new_name -b blockdev_sda -s blockdev_sdb

This command is used in order to perform a rename at the instance OS level, after the instance has been renamed in Ganeti. The command should do whatever steps are required to ensure that the instance is updated to use the new name, if the operating system supports it.

Note that it is acceptable for the rename script to do nothing at all, however be warned that in this case, there will be a desynchronization between what gnt-instance list shows you and the actual hostname of the instance.

A very simple rename script should at least change the hostname and IP address of the instance, leaving the administrator to update the other services.


The ganeti_api_version file is a plain text file containing the version of the guest OS api that this OS definition complies with. The version documented by this man page is 5, so this file must contain the number 5 followed by a newline.



All the scripts should display an usage message when called with a wrong number of arguments or when the first argument is -h or --help.



The rename script has been added. If you don't want to do any changes on the instances after a rename, you can migrate the OS definition to version 5 by creating the rename script simply as:

 exit 0

Note that the script must be executable.


Report bugs to or contact the developers using the ganeti mailing list <>.


Ganeti overview and specifications: ganeti(7) (general overview), ganeti-os-interface(7) (guest OS definitions).

Ganeti commands: gnt-cluster(8) (cluster-wide commands), gnt-node(8) (node-related commands), gnt-instance(8) (instance commands), gnt-os(8) (guest OS commands). gnt-backup(8) (instance import/export commands).

Ganeti daemons: ganeti-watcher(8) (automatic instance restarter), ganeti-noded(8) (node daemon), ganeti-master(8) (the master startup script), ganeti-rapi(8) (remote API daemon).

Copyright (C) 2006, 2007, 2008 Google Inc. Permission is granted to copy, distribute and/or modify under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

On Debian systems, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL.