X-Git-Url: https://code.grnet.gr/git/ganeti-local/blobdiff_plain/aff49a15a7ecf3be1d3b1c2ebfe18d7e48924601..17cda747f443ab8910e098c1978e68d00354c6f6:/NEWS diff --git a/NEWS b/NEWS index 57b0704..7f9766f 100644 --- a/NEWS +++ b/NEWS @@ -2,10 +2,482 @@ News ==== -Version 2.6.0 beta1 +Version 2.9.0 beta1 +------------------- + +*(unreleased)* + +- DRBD 8.4 support. Depending on the installed DRBD version, Ganeti now uses + the correct command syntax. It is possible to use different DRBD versions + on different nodes as long as they are compatible to each other. This + enables rolling upgrades of DRBD with no downtime. As permanent operation + of different DRBD versions within a node group is discouraged, + ``gnt-cluster verify`` will emit a warning if it detects such a situation. +- hroller now also plans for capacity to move non-redundant instances off + any node to be rebooted; the old behavior of completely ignoring any + non-redundant instances can be restored by adding the --ignore-non-redundant + option. +- The cluster option '--no-lvm-storage' was removed in favor of the new option + '--enabled-disk-templates'. +- On instance creation, disk templates no longer need to be specified + with '-t'. The default disk template will be taken from the list of + enabled disk templates. +- New "inst-status-xen" data collector for the monitoring daemon, providing + information about the state of the xen instances on the nodes. +- New "lv" data collector for the monitoring daemon, collecting data about the + logical volumes on the nodes, and pairing them with the name of the instances + they belong to. +- New "diskstats" data collector, collecting the data from /proc/diskstats and + presenting them over the monitoring daemon interface. +- The monitoring daemon is now running as root, in order to be able to collect + information only available to root (such as the state of Xen instances). +- The ConfD client is now IPv6 compatible. +- File storage is no longer dis/enabled at configure time, but using the + option '--enabled-disk-templates' at cluster initialization and + modification. +- The default directory for file storage is not anymore specified at + configure time, but taken from the cluster's configuration. It can be + set at cluster initialization and modification with '--file-storage-dir'. +- Cluster verification now includes stricter checks regarding the + default file storage dir. It now checks that the file storage + directory is explicitely allowed in the 'file-storage-paths' file and + that the directory exists on all nodes. + + +Version 2.8.0 beta1 +------------------- + +*(Released Mon, 24 Jun 2013)* + +Incompatible/important changes +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- Instance policy can contain multiple instance specs, as described in + the “Constrained instance sizes” section of :doc:`Partitioned Ganeti + `. As a consequence, it's not possible to partially change + or override instance specs. Bounding specs (min and max) can be specified as a + whole using the new option ``--ipolicy-bounds-specs``, while standard + specs use the new option ``--ipolicy-std-specs``. +- The output of the info command of gnt-cluster, gnt-group, gnt-node, + gnt-instance is a valid YAML object. +- hail now honors network restrictions when allocating nodes. This led to an + update of the IAllocator protocol. See the IAllocator documentation for + details. + +New features +~~~~~~~~~~~~ + +- The :doc:`Remote API ` daemon now supports a command line flag + to always require authentication, ``--require-authentication``. It can + be specified in ``$sysconfdir/default/ganeti``. +- A new cluster attribute 'enabled_disk_templates' is introduced. It will + be used to manage the disk templates to be used by instances in the cluster. + Initially, it will be set to a list that includes plain, drbd, if they were + enabled by specifying a volume group name, and file and sharedfile, if those + were enabled at configure time. Additionally, it will include all disk + templates that are currently used by instances. The order of disk templates + will be based on Ganeti's history of supporting them. In the future, the + first entry of the list will be used as a default disk template on instance + creation. +- ``cfgupgrade`` now supports a ``--downgrade`` option to bring the + configuration back to the previous stable version. +- Disk templates in group ipolicy can be restored to the default value. +- Initial support for diskless instances and virtual clusters in QA. +- More QA and unit tests for instance policies. +- Every opcode now contains a reason trail (visible through ``gnt-job info``) + describing why the opcode itself was executed. +- The monitoring daemon is now available. It allows users to query the cluster + for obtaining information about the status of the system. The daemon is only + responsible for providing the information over the network: the actual data + gathering is performed by data collectors (currently, only the DRBD status + collector is available). +- In order to help developers work on Ganeti, a new script + (``devel/build_chroot``) is provided, for building a chroot that contains all + the required development libraries and tools for compiling Ganeti on a Debian + Squeeze system. +- A new tool, ``harep``, for performing self-repair and recreation of instances + in Ganeti has been added. +- Split queries are enabled for tags, network, exports, cluster info, groups, + jobs, nodes. +- New command ``show-ispecs-cmd`` for ``gnt-cluster`` and ``gnt-group``. + It prints the command line to set the current policies, to ease + changing them. + +New dependencies +~~~~~~~~~~~~~~~~ +The following new dependencies have been added: + +For Haskell: +- The ``curl`` library is not optional anymore for compiling the Haskell code. +- ``snap-server`` library (if monitoring is enabled). + +For Python: +- The minimum Python version needed to run Ganeti is now 2.6. +- ``yaml`` library (only for running the QA). + + +Version 2.7.1 +------------- + +*(Released Thu, 25 Jul 2013)* + +- Add logrotate functionality in daemon-util +- Add logrotate example file +- Add missing fields to network queries over rapi +- Fix network object timestamps +- Add support for querying network timestamps +- Fix a typo in the example crontab +- Fix a documentation typo + + +Version 2.7.0 +------------- + +*(Released Thu, 04 Jul 2013)* + +Incompatible/important changes +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- Instance policies for disk size were documented to be on a per-disk + basis, but hail applied them to the sum of all disks. This has been + fixed. +- ``hbal`` will now exit with status 0 if, during job execution over + LUXI, early exit has been requested and all jobs are successful; + before, exit status 1 was used, which cannot be differentiated from + "job error" case +- Compatibility with newer versions of rbd has been fixed +- ``gnt-instance batch-create`` has been changed to use the bulk create + opcode from Ganeti. This lead to incompatible changes in the format of + the JSON file. It's now not a custom dict anymore but a dict + compatible with the ``OpInstanceCreate`` opcode. +- Parent directories for file storage need to be listed in + ``$sysconfdir/ganeti/file-storage-paths`` now. ``cfgupgrade`` will + write the file automatically based on old configuration values, but it + can not distribute it across all nodes and the file contents should be + verified. Use ``gnt-cluster copyfile + $sysconfdir/ganeti/file-storage-paths`` once the cluster has been + upgraded. The reason for requiring this list of paths now is that + before it would have been possible to inject new paths via RPC, + allowing files to be created in arbitrary locations. The RPC protocol + is protected using SSL/X.509 certificates, but as a design principle + Ganeti does not permit arbitrary paths to be passed. +- The parsing of the variants file for OSes (see + :manpage:`ganeti-os-interface(7)`) has been slightly changed: now empty + lines and comment lines (starting with ``#``) are ignored for better + readability. +- The ``setup-ssh`` tool added in Ganeti 2.2 has been replaced and is no + longer available. ``gnt-node add`` now invokes a new tool on the + destination node, named ``prepare-node-join``, to configure the SSH + daemon. Paramiko is no longer necessary to configure nodes' SSH + daemons via ``gnt-node add``. +- Draining (``gnt-cluster queue drain``) and un-draining the job queue + (``gnt-cluster queue undrain``) now affects all nodes in a cluster and + the flag is not reset after a master failover. +- Python 2.4 has *not* been tested with this release. Using 2.6 or above + is recommended. 2.6 will be mandatory from the 2.8 series. + + +New features +~~~~~~~~~~~~ + +- New network management functionality to support automatic allocation + of IP addresses and managing of network parameters. See + :manpage:`gnt-network(8)` for more details. +- New external storage backend, to allow managing arbitrary storage + systems external to the cluster. See + :manpage:`ganeti-extstorage-interface(7)`. +- New ``exclusive-storage`` node parameter added, restricted to + nodegroup level. When it's set to true, physical disks are assigned in + an exclusive fashion to instances, as documented in :doc:`Partitioned + Ganeti `. Currently, only instances using the + ``plain`` disk template are supported. +- The KVM hypervisor has been updated with many new hypervisor + parameters, including a generic one for passing arbitrary command line + values. See a complete list in :manpage:`gnt-instance(8)`. It is now + compatible up to qemu 1.4. +- A new tool, called ``mon-collector``, is the stand-alone executor of + the data collectors for a monitoring system. As of this version, it + just includes the DRBD data collector, that can be executed by calling + ``mon-collector`` using the ``drbd`` parameter. See + :manpage:`mon-collector(7)`. +- A new user option, :pyeval:`rapi.RAPI_ACCESS_READ`, has been added + for RAPI users. It allows granting permissions to query for + information to a specific user without giving + :pyeval:`rapi.RAPI_ACCESS_WRITE` permissions. +- A new tool named ``node-cleanup`` has been added. It cleans remains of + a cluster from a machine by stopping all daemons, removing + certificates and ssconf files. Unless the ``--no-backup`` option is + given, copies of the certificates are made. +- Instance creations now support the use of opportunistic locking, + potentially speeding up the (parallel) creation of multiple instances. + This feature is currently only available via the :doc:`RAPI + ` interface and when an instance allocator is used. If the + ``opportunistic_locking`` parameter is set the opcode will try to + acquire as many locks as possible, but will not wait for any locks + held by other opcodes. If not enough resources can be found to + allocate the instance, the temporary error code + :pyeval:`errors.ECODE_TEMP_NORES` is returned. The operation can be + retried thereafter, with or without opportunistic locking. +- New experimental linux-ha resource scripts. +- Restricted-commands support: ganeti can now be asked (via command line + or rapi) to perform commands on a node. These are passed via ganeti + RPC rather than ssh. This functionality is restricted to commands + specified on the ``$sysconfdir/ganeti/restricted-commands`` for security + reasons. The file is not copied automatically. + + +Misc changes +~~~~~~~~~~~~ + +- Diskless instances are now externally mirrored (Issue 237). This for + now has only been tested in conjunction with explicit target nodes for + migration/failover. +- Queries not needing locks or RPC access to the node can now be + performed by the confd daemon, making them independent from jobs, and + thus faster to execute. This is selectable at configure time. +- The functionality for allocating multiple instances at once has been + overhauled and is now also available through :doc:`RAPI `. + +There are no significant changes from version 2.7.0~rc3. + + +Version 2.7.0 rc3 +----------------- + +*(Released Tue, 25 Jun 2013)* + +- Fix permissions on the confd query socket (Issue 477) +- Fix permissions on the job archive dir (Issue 498) +- Fix handling of an internal exception in replace-disks (Issue 472) +- Fix gnt-node info handling of shortened names (Issue 497) +- Fix gnt-instance grow-disk when wiping is enabled +- Documentation improvements, and support for newer pandoc +- Fix hspace honoring ipolicy for disks (Issue 484) +- Improve handling of the ``kvm_extra`` HV parameter + + +Version 2.7.0 rc2 +----------------- + +*(Released Fri, 24 May 2013)* + +- ``devel/upload`` now works when ``/var/run`` on the target nodes is a + symlink. +- Disks added through ``gnt-instance modify`` or created through + ``gnt-instance recreate-disks`` are wiped, if the + ``prealloc_wipe_disks`` flag is set. +- If wiping newly created disks fails, the disks are removed. Also, + partial failures in creating disks through ``gnt-instance modify`` + triggers a cleanup of the partially-created disks. +- Removing the master IP address doesn't fail if the address has been + already removed. +- Fix ownership of the OS log dir +- Workaround missing SO_PEERCRED constant (Issue 191) + + +Version 2.7.0 rc1 +----------------- + +*(Released Fri, 3 May 2013)* + +This was the first release candidate of the 2.7 series. Since beta3: + +- Fix kvm compatibility with qemu 1.4 (Issue 389) +- Documentation updates (admin guide, upgrade notes, install + instructions) (Issue 372) +- Fix gnt-group list nodes and instances count (Issue 436) +- Fix compilation without non-mandatory libraries (Issue 441) +- Fix xen-hvm hypervisor forcing nics to type 'ioemu' (Issue 247) +- Make confd logging more verbose at INFO level (Issue 435) +- Improve "networks" documentation in :manpage:`gnt-instance(8)` +- Fix failure path for instance storage type conversion (Issue 229) +- Update htools text backend documentation +- Improve the renew-crypto section of :manpage:`gnt-cluster(8)` +- Disable inter-cluster instance move for file-based instances, because + it is dependant on instance export, which is not supported for + file-based instances. (Issue 414) +- Fix gnt-job crashes on non-ascii characters (Issue 427) +- Fix volume group checks on non-vm-capable nodes (Issue 432) + + +Version 2.7.0 beta3 +------------------- + +*(Released Mon, 22 Apr 2013)* + +This was the third beta release of the 2.7 series. Since beta2: + +- Fix hail to verify disk instance policies on a per-disk basis (Issue 418). +- Fix data loss on wrong usage of ``gnt-instance move`` +- Properly export errors in confd-based job queries +- Add ``users-setup`` tool +- Fix iallocator protocol to report 0 as a disk size for diskless + instances. This avoids hail breaking when a diskless instance is + present. +- Fix job queue directory permission problem that made confd job queries + fail. This requires running an ``ensure-dirs --full-run`` on upgrade + for access to archived jobs (Issue 406). +- Limit the sizes of networks supported by ``gnt-network`` to something + between a ``/16`` and a ``/30`` to prevent memory bloat and crashes. +- Fix bugs in instance disk template conversion +- Fix GHC 7 compatibility +- Fix ``burnin`` install path (Issue 426). +- Allow very small disk grows (Issue 347). +- Fix a ``ganeti-noded`` memory bloat introduced in 2.5, by making sure + that noded doesn't import masterd code (Issue 419). +- Make sure the default metavg at cluster init is the same as the vg, if + unspecified (Issue 358). +- Fix cleanup of partially created disks (part of Issue 416) + + +Version 2.7.0 beta2 +------------------- + +*(Released Tue, 2 Apr 2013)* + +This was the second beta release of the 2.7 series. Since beta1: + +- Networks no longer have a "type" slot, since this information was + unused in Ganeti: instead of it tags should be used. +- The rapi client now has a ``target_node`` option to MigrateInstance. +- Fix early exit return code for hbal (Issue 386). +- Fix ``gnt-instance migrate/failover -n`` (Issue 396). +- Fix ``rbd showmapped`` output parsing (Issue 312). +- Networks are now referenced indexed by UUID, rather than name. This + will require running cfgupgrade, from 2.7.0beta1, if networks are in + use. +- The OS environment now includes network information. +- Deleting of a network is now disallowed if any instance nic is using + it, to prevent dangling references. +- External storage is now documented in man pages. +- The exclusive_storage flag can now only be set at nodegroup level. +- Hbal can now submit an explicit priority with its jobs. +- Many network related locking fixes. +- Bump up the required pylint version to 0.25.1. +- Fix the ``no_remember`` option in RAPI client. +- Many ipolicy related tests, qa, and fixes. +- Many documentation improvements and fixes. +- Fix building with ``--disable-file-storage``. +- Fix ``-q`` option in htools, which was broken if passed more than + once. +- Some haskell/python interaction improvements and fixes. +- Fix iallocator in case of missing LVM storage. +- Fix confd config load in case of ``--no-lvm-storage``. +- The confd/query functionality is now mentioned in the security + documentation. + + +Version 2.7.0 beta1 ------------------- -*(Released Wed, 23 Mar 2011)* +*(Released Wed, 6 Feb 2013)* + +This was the first beta release of the 2.7 series. All important changes +are listed in the latest 2.7 entry. + + +Version 2.6.2 +------------- + +*(Released Fri, 21 Dec 2012)* + +Important behaviour change: hbal won't rebalance anymore instances which +have the ``auto_balance`` attribute set to false. This was the intention +all along, but until now it only skipped those from the N+1 memory +reservation (DRBD-specific). + +A significant number of bug fixes in this release: + +- Fixed disk adoption interaction with ipolicy checks. +- Fixed networking issues when instances are started, stopped or + migrated, by forcing the tap device's MAC prefix to "fe" (issue 217). +- Fixed the warning in cluster verify for shared storage instances not + being redundant. +- Fixed removal of storage directory on shared file storage (issue 262). +- Fixed validation of LVM volume group name in OpClusterSetParams + (``gnt-cluster modify``) (issue 285). +- Fixed runtime memory increases (``gnt-instance modify -m``). +- Fixed live migration under Xen's ``xl`` mode. +- Fixed ``gnt-instance console`` with ``xl``. +- Fixed building with newer Haskell compiler/libraries. +- Fixed PID file writing in Haskell daemons (confd); this prevents + restart issues if confd was launched manually (outside of + ``daemon-util``) while another copy of it was running +- Fixed a type error when doing live migrations with KVM (issue 297) and + the error messages for failing migrations have been improved. +- Fixed opcode validation for the out-of-band commands (``gnt-node + power``). +- Fixed a type error when unsetting OS hypervisor parameters (issue + 311); now it's possible to unset all OS-specific hypervisor + parameters. +- Fixed the ``dry-run`` mode for many operations: verification of + results was over-zealous but didn't take into account the ``dry-run`` + operation, resulting in "wrong" failures. +- Fixed bash completion in ``gnt-job list`` when the job queue has + hundreds of entries; especially with older ``bash`` versions, this + results in significant CPU usage. + +And lastly, a few other improvements have been made: + +- Added option to force master-failover without voting (issue 282). +- Clarified error message on lock conflict (issue 287). +- Logging of newly submitted jobs has been improved (issue 290). +- Hostname checks have been made uniform between instance rename and + create (issue 291). +- The ``--submit`` option is now supported by ``gnt-debug delay``. +- Shutting down the master daemon by sending SIGTERM now stops it from + processing jobs waiting for locks; instead, those jobs will be started + once again after the master daemon is started the next time (issue + 296). +- Support for Xen's ``xl`` program has been improved (besides the fixes + above). +- Reduced logging noise in the Haskell confd daemon (only show one log + entry for each config reload, instead of two). +- Several man page updates and typo fixes. + + +Version 2.6.1 +------------- + +*(Released Fri, 12 Oct 2012)* + +A small bugfix release. Among the bugs fixed: + +- Fixed double use of ``PRIORITY_OPT`` in ``gnt-node migrate``, that + made the command unusable. +- Commands that issue many jobs don't fail anymore just because some jobs + take so long that other jobs are archived. +- Failures during ``gnt-instance reinstall`` are reflected by the exit + status. +- Issue 190 fixed. Check for DRBD in cluster verify is enabled only when + DRBD is enabled. +- When ``always_failover`` is set, ``--allow-failover`` is not required + in migrate commands anymore. +- ``bash_completion`` works even if extglob is disabled. +- Fixed bug with locks that made failover for RDB-based instances fail. +- Fixed bug in non-mirrored instance allocation that made Ganeti choose + a random node instead of one based on the allocator metric. +- Support for newer versions of pylint and pep8. +- Hail doesn't fail anymore when trying to add an instance of type + ``file``, ``sharedfile`` or ``rbd``. +- Added new Makefile target to rebuild the whole distribution, so that + all files are included. + + +Version 2.6.0 +------------- + +*(Released Fri, 27 Jul 2012)* + + +.. attention:: The ``LUXI`` protocol has been made more consistent + regarding its handling of command arguments. This, however, leads to + incompatibility issues with previous versions. Please ensure that you + restart Ganeti daemons soon after the upgrade, otherwise most + ``LUXI`` calls (job submission, setting/resetting the drain flag, + pausing/resuming the watcher, cancelling and archiving jobs, querying + the cluster configuration) will fail. + New features ~~~~~~~~~~~~ @@ -222,6 +694,9 @@ daemon will result in a smaller footprint; for larger systems, we welcome feedback on the Haskell version which might become the default in future versions. +If you want to use ``gnt-node list-drbd`` you need to have the Haskell +daemon running. The Python version doesn't implement the new call. + User interface changes ~~~~~~~~~~~~~~~~~~~~~~ @@ -240,6 +715,14 @@ accept the target size of the disk, instead of the delta; this can be more safe since two runs in absolute mode will be idempotent, and sometimes it's also easier to specify the desired size directly. +Also the handling of instances with regard to offline secondaries has +been improved. Instance operations should not fail because one of it's +secondary nodes is offline, even though it's safe to proceed. + +A new command ``list-drbd`` has been added to the ``gnt-node`` script to +support debugging of DRBD issues on nodes. It provides a mapping of DRBD +minors to instance name. + API changes ~~~~~~~~~~~ @@ -256,6 +739,10 @@ Python 2.7 is better supported, and after Ganeti 2.6 we will investigate whether to still support Python 2.4 or move to Python 2.6 as minimum required version. +Support for Fedora has been slightly improved; the provided example +init.d script should work better on it and the INSTALL file should +document the needed dependencies. + Internal changes ~~~~~~~~~~~~~~~~ @@ -291,6 +778,143 @@ verification. This will remove some rare but hard to diagnose errors in import-export. +Version 2.6.0 rc4 +----------------- + +*(Released Thu, 19 Jul 2012)* + +Very few changes from rc4 to the final release, only bugfixes: + +- integrated fixes from release 2.5.2 (fix general boot flag for KVM + instance, fix CDROM booting for KVM instances) +- fixed node group modification of node parameters +- fixed issue in LUClusterVerifyGroup with multi-group clusters +- fixed generation of bash completion to ensure a stable ordering +- fixed a few typos + + +Version 2.6.0 rc3 +----------------- + +*(Released Fri, 13 Jul 2012)* + +Third release candidate for 2.6. The following changes were done from +rc3 to rc4: + +- Fixed ``UpgradeConfig`` w.r.t. to disk parameters on disk objects. +- Fixed an inconsistency in the LUXI protocol with the provided + arguments (NOT backwards compatible) +- Fixed a bug with node groups ipolicy where ``min`` was greater than + the cluster ``std`` value +- Implemented a new ``gnt-node list-drbd`` call to list DRBD minors for + easier instance debugging on nodes (requires ``hconfd`` to work) + + +Version 2.6.0 rc2 +----------------- + +*(Released Tue, 03 Jul 2012)* + +Second release candidate for 2.6. The following changes were done from +rc2 to rc3: + +- Fixed ``gnt-cluster verify`` regarding ``master-ip-script`` on non + master candidates +- Fixed a RAPI regression on missing beparams/memory +- Fixed redistribution of files on offline nodes +- Added possibility to run activate-disks even though secondaries are + offline. With this change it relaxes also the strictness on some other + commands which use activate disks internally: + * ``gnt-instance start|reboot|rename|backup|export`` +- Made it possible to remove safely an instance if its secondaries are + offline +- Made it possible to reinstall even though secondaries are offline + + +Version 2.6.0 rc1 +----------------- + +*(Released Mon, 25 Jun 2012)* + +First release candidate for 2.6. The following changes were done from +rc1 to rc2: + +- Fixed bugs with disk parameters and ``rbd`` templates as well as + ``instance_os_add`` +- Made ``gnt-instance modify`` more consistent regarding new NIC/Disk + behaviour. It supports now the modify operation +- ``hcheck`` implemented to analyze cluster health and possibility of + improving health by rebalance +- ``hbal`` has been improved in dealing with split instances + + +Version 2.6.0 beta2 +------------------- + +*(Released Mon, 11 Jun 2012)* + +Second beta release of 2.6. The following changes were done from beta2 +to rc1: + +- Fixed ``daemon-util`` with non-root user models +- Fixed creation of plain instances with ``--no-wait-for-sync`` +- Fix wrong iv_names when running ``cfgupgrade`` +- Export more information in RAPI group queries +- Fixed bug when changing instance network interfaces +- Extended burnin to do NIC changes +- query: Added ``<``, ``>``, ``<=``, ``>=`` comparison operators +- Changed default for DRBD barriers +- Fixed DRBD error reporting for syncer rate +- Verify the options on disk parameters + +And of course various fixes to documentation and improved unittests and +QA. + + +Version 2.6.0 beta1 +------------------- + +*(Released Wed, 23 May 2012)* + +First beta release of 2.6. The following changes were done from beta1 to +beta2: + +- integrated patch for distributions without ``start-stop-daemon`` +- adapted example init.d script to work on Fedora +- fixed log handling in Haskell daemons +- adapted checks in the watcher for pycurl linked against libnss +- add partial support for ``xl`` instead of ``xm`` for Xen +- fixed a type issue in cluster verification +- fixed ssconf handling in the Haskell code (was breaking confd in IPv6 + clusters) + +Plus integrated fixes from the 2.5 branch: + +- fixed ``kvm-ifup`` to use ``/bin/bash`` +- fixed parallel build failures +- KVM live migration when using a custom keymap + + +Version 2.5.2 +------------- + +*(Released Tue, 24 Jul 2012)* + +A small bugfix release, with no new features: + +- fixed bash-isms in kvm-ifup, for compatibility with systems which use a + different default shell (e.g. Debian, Ubuntu) +- fixed KVM startup and live migration with a custom keymap (fixes Issue + 243 and Debian bug #650664) +- fixed compatibility with KVM versions that don't support multiple boot + devices (fixes Issue 230 and Debian bug #624256) + +Additionally, a few fixes were done to the build system (fixed parallel +build failures) and to the unittests (fixed race condition in test for +FileID functions, and the default enable/disable mode for QA test is now +customisable). + + Version 2.5.1 ------------- @@ -401,7 +1025,7 @@ New features - Instance migration can fall back to failover if instance is not running. - Filters can be used when listing nodes, instances, groups and locks; - see *ganeti(7)* manpage. + see :manpage:`ganeti(7)` manpage. - Added post-execution status as variables to :doc:`hooks ` environment. - Instance tags are exported/imported together with the instance.