X-Git-Url: https://code.grnet.gr/git/ganeti-local/blobdiff_plain/558fd122b9fa096f78a771f6d355a8dfdbe68a14..ba53881650c5788112e29276bec2f3896f9f7c8d:/NEWS diff --git a/NEWS b/NEWS index 20290a0..2ef8963 100644 --- a/NEWS +++ b/NEWS @@ -1,17 +1,402 @@ News ==== +Version 2.1.2 +------------- + +*(Unreleased)* + +Another release with a long development cycle, during which many +different features were added. + +Significant features +~~~~~~~~~~~~~~~~~~~~ + +The KVM hypervisor now can run the individual instances as non-root, to +reduce the impact of a VM being hijacked due to bugs in the +hypervisor. It is possible to run all instances as a single (non-root) +user, to manually specify a user for each instance, or to dynamically +allocate a user out of a cluster-wide pool to each instance, with the +guarantee that no two instances will run under the same user ID on any +given node. + +An experimental RAPI client library, that can be used standalone +(without the other Ganeti libraries), is provided in the source tree as +``lib/rapi/client.py``. Note this client might change its interface in +the future, as we iterate on its capabilities. + +A new command, ``gnt-cluster renew-crypto`` has been added to easily +replace the cluster's certificates and crypto keys. This might help in +case they have been compromised, or have simply expired. + +A new disk option for instance creation has been added that allows one +to "adopt" currently existing logical volumes, with data +preservation. This should allow easier migration to Ganeti from +unmanaged (or managed via other software) instances. + +Another disk improvement is the possibility to convert between redundant +(DRBD) and plain (LVM) disk configuration for an instance. This should +allow better scalability (starting with one node and growing the +cluster, or shrinking a two-node cluster to one node). + +A new feature that could help with automated node failovers has been +implemented: if a node sees itself as offline (by querying the master +candidates), it will try to shutdown (hard) all instances and any active +DRBD devices. This reduces the risk of duplicate instances if an +external script automatically failovers the instances on such nodes. To +enable this, the cluster parameter ``maintain_node_health`` should be +enabled; in the future this option (per the name) will enable other +automatic maintenance features. + +Instance export/import now will reuse the original instance +specifications for all parameters; that means exporting an instance, +deleting it and the importing it back should give an almost identical +instance. Note that the default import behaviour has changed from +before, where it created only one NIC; now it recreates the original +number of NICs. + +Cluster verify has added a few new checks: SSL certificates validity, +/etc/hosts consistency across the cluster, etc. + +Other changes +~~~~~~~~~~~~~ + +As usual, many internal changes were done, documentation fixes, +etc. Among others: + +- Fixed cluster initialization with disabled cluster storage (regression + introduced in 2.1.1) +- File-based storage supports growing the disks +- Fixed behaviour of node role changes +- Fixed cluster verify for some corner cases, plus a general rewrite of + cluster verify to allow future extension with more checks +- Fixed log spamming by watcher and node daemon (regression introduced + in 2.1.1) +- Fixed possible validation issues when changing the list of enabled + hypervisors +- Fixed cleanup of /etc/hosts during node removal +- Fixed RAPI response for invalid methods +- Fixed bug with hashed passwords in ``ganeti-rapi`` daemon +- Multiple small improvements to the KVM hypervisor (VNC usage, booting + from ide disks, etc.) +- Allow OS changes without re-installation (to record a changed OS + outside of Ganeti, or to allow OS renames) +- Allow instance creation without OS installation (useful for example if + the OS will be installed manually, or restored from a backup not in + Ganeti format) +- Implemented option to make cluster ``copyfile`` use the replication + network +- Added list of enabled hypervisors to ssconf (possibly useful for + external scripts) +- Added a new tool (``tools/cfgupgrade12``) that allows upgrading from + 1.2 clusters +- A partial form of node re-IP is possible via node readd, which now + allows changed node primary IP +- Command line utilities now show an informational message if the job is + waiting for a lock +- The logs of the master daemon now show the PID/UID/GID of the + connected client + + + +Version 2.1.1 +------------- + +*(Released Fri, 12 Mar 2010)* + +During the 2.1.0 long release candidate cycle, a lot of improvements and +changes have accumulated with were released later as 2.1.1. + +Major changes +~~~~~~~~~~~~~ + +The node evacuate command (``gnt-node evacuate``) was significantly +rewritten, and as such the IAllocator protocol was changed - a new +request type has been added. This unfortunate change during a stable +series is designed to improve performance of node evacuations; on +clusters with more than about five nodes and which are well-balanced, +evacuation should proceed in parallel for all instances of the node +being evacuated. As such, any existing IAllocator scripts need to be +updated, otherwise the above command will fail due to the unknown +request. The provided "dumb" allocator has not been updated; but the +ganeti-htools package supports the new protocol since version 0.2.4. + +Another important change is increased validation of node and instance +names. This might create problems in special cases, if invalid host +names are being used. + +Also, a new layer of hypervisor parameters has been added, that sits at +OS level between the cluster defaults and the instance ones. This allows +customisation of virtualization parameters depending on the installed +OS. For example instances with OS 'X' may have a different KVM kernel +(or any other parameter) than the cluster defaults. This is intended to +help managing a multiple OSes on the same cluster, without manual +modification of each instance's parameters. + +A tool for merging clusters, ``cluster-merge``, has been added in the +tools sub-directory. + +Bug fixes +~~~~~~~~~ + +- Improved the int/float conversions that should make the code more + robust in face of errors from the node daemons +- Fixed the remove node code in case of internal configuration errors +- Fixed the node daemon behaviour in face of inconsistent queue + directory (e.g. read-only file-system where we can't open the files + read-write, etc.) +- Fixed the behaviour of gnt-node modify for master candidate demotion; + now it either aborts cleanly or, if given the new “auto_promote” + parameter, will automatically promote other nodes as needed +- Fixed compatibility with (unreleased yet) Python 2.6.5 that would + completely prevent Ganeti from working +- Fixed bug for instance export when not all disks were successfully + exported +- Fixed behaviour of node add when the new node is slow in starting up + the node daemon +- Fixed handling of signals in the LUXI client, which should improve + behaviour of command-line scripts +- Added checks for invalid node/instance names in the configuration (now + flagged during cluster verify) +- Fixed watcher behaviour for disk activation errors +- Fixed two potentially endless loops in http library, which led to the + RAPI daemon hanging and consuming 100% CPU in some cases +- Fixed bug in RAPI daemon related to hashed passwords +- Fixed bug for unintended qemu-level bridging of multi-NIC KVM + instances +- Enhanced compatibility with non-Debian OSes, but not using absolute + path in some commands and allowing customisation of the ssh + configuration directory +- Fixed possible future issue with new Python versions by abiding to the + proper use of ``__slots__`` attribute on classes +- Added checks that should prevent directory traversal attacks +- Many documentation fixes based on feedback from users + +New features +~~~~~~~~~~~~ + +- Added an “early_release” more for instance replace disks and node + evacuate, where we release locks earlier and thus allow higher + parallelism within the cluster +- Added watcher hooks, intended to allow the watcher to restart other + daemons (e.g. from the ganeti-nbma project), but they can be used of + course for any other purpose +- Added a compile-time disable for DRBD barriers, to increase + performance if the administrator trusts the power supply or the + storage system to not lose writes +- Added the option of using syslog for logging instead of, or in + addition to, Ganeti's own log files +- Removed boot restriction for paravirtual NICs for KVM, recent versions + can indeed boot from a paravirtual NIC +- Added a generic debug level for many operations; while this is not + used widely yet, it allows one to pass the debug value all the way to + the OS scripts +- Enhanced the hooks environment for instance moves (failovers, + migrations) where the primary/secondary nodes changed during the + operation, by adding {NEW,OLD}_{PRIMARY,SECONDARY} vars +- Enhanced data validations for many user-supplied values; one important + item is the restrictions imposed on instance and node names, which + might reject some (invalid) host names +- Add a configure-time option to disable file-based storage, if it's not + needed; this allows greater security separation between the master + node and the other nodes from the point of view of the inter-node RPC + protocol +- Added user notification in interactive tools if job is waiting in the + job queue or trying to acquire locks +- Added log messages when a job is waiting for locks +- Added filtering by node tags in instance operations which admit + multiple instances (start, stop, reboot, reinstall) +- Added a new tool for cluster mergers, ``cluster-merge`` +- Parameters from command line which are of the form ``a=b,c=d`` can now + use backslash escapes to pass in values which contain commas, + e.g. ``a=b\\c,d=e`` where the 'a' parameter would get the value + ``b,c`` +- For KVM, the instance name is the first parameter passed to KVM, so + that it's more visible in the process list + + +Version 2.1.0 +------------- + +*(Released Tue, 2 Mar 2010)* + +Ganeti 2.1 brings many improvements with it. Major changes: + +- Added infrastructure to ease automated disk repairs +- Added new daemon to export configuration data in a cheaper way than + using the remote API +- Instance NICs can now be routed instead of being associated with a + networking bridge +- Improved job locking logic to reduce impact of jobs acquiring multiple + locks waiting for other long-running jobs + +In-depth implementation details can be found in the Ganeti 2.1 design +document. + +Details +~~~~~~~ + +- Added chroot hypervisor +- Added more options to xen-hvm hypervisor (``kernel_path`` and + ``device_model``) +- Added more options to xen-pvm hypervisor (``use_bootloader``, + ``bootloader_path`` and ``bootloader_args``) +- Added the ``use_localtime`` option for the xen-hvm and kvm + hypervisors, and the default value for this has changed to false (in + 2.0 xen-hvm always enabled it) +- Added luxi call to submit multiple jobs in one go +- Added cluster initialization option to not modify ``/etc/hosts`` + file on nodes +- Added network interface parameters +- Added dry run mode to some LUs +- Added RAPI resources: + + - ``/2/instances/[instance_name]/info`` + - ``/2/instances/[instance_name]/replace-disks`` + - ``/2/nodes/[node_name]/evacuate`` + - ``/2/nodes/[node_name]/migrate`` + - ``/2/nodes/[node_name]/role`` + - ``/2/nodes/[node_name]/storage`` + - ``/2/nodes/[node_name]/storage/modify`` + - ``/2/nodes/[node_name]/storage/repair`` + +- Added OpCodes to evacuate or migrate all instances on a node +- Added new command to list storage elements on nodes (``gnt-node + list-storage``) and modify them (``gnt-node modify-storage``) +- Added new ssconf files with master candidate IP address + (``ssconf_master_candidates_ips``), node primary IP address + (``ssconf_node_primary_ips``) and node secondary IP address + (``ssconf_node_secondary_ips``) +- Added ``ganeti-confd`` and a client library to query the Ganeti + configuration via UDP +- Added ability to run hooks after cluster initialization and before + cluster destruction +- Added automatic mode for disk replace (``gnt-instance replace-disks + --auto``) +- Added ``gnt-instance recreate-disks`` to re-create (empty) disks + after catastrophic data-loss +- Added ``gnt-node repair-storage`` command to repair damaged LVM volume + groups +- Added ``gnt-instance move`` command to move instances +- Added ``gnt-cluster watcher`` command to control watcher +- Added ``gnt-node powercycle`` command to powercycle nodes +- Added new job status field ``lock_status`` +- Added parseable error codes to cluster verification (``gnt-cluster + verify --error-codes``) and made output less verbose (use + ``--verbose`` to restore previous behaviour) +- Added UUIDs to the main config entities (cluster, nodes, instances) +- Added support for OS variants +- Added support for hashed passwords in the Ganeti remote API users file + (``rapi_users``) +- Added option to specify maximum timeout on instance shutdown +- Added ``--no-ssh-init`` option to ``gnt-cluster init`` +- Added new helper script to start and stop Ganeti daemons + (``daemon-util``), with the intent to reduce the work necessary to + adjust Ganeti for non-Debian distributions and to start/stop daemons + from one place +- Added more unittests +- Fixed critical bug in ganeti-masterd startup +- Removed the configure-time ``kvm-migration-port`` parameter, this is + now customisable at the cluster level for both the KVM and Xen + hypervisors using the new ``migration_port`` parameter +- Pass ``INSTANCE_REINSTALL`` variable to OS installation script when + reinstalling an instance +- Allowed ``@`` in tag names +- Migrated to Sphinx (http://sphinx.pocoo.org/) for documentation +- Many documentation updates +- Distribute hypervisor files on ``gnt-cluster redist-conf`` +- ``gnt-instance reinstall`` can now reinstall multiple instances +- Updated many command line parameters +- Introduced new OS API version 15 +- No longer support a default hypervisor +- Treat virtual LVs as inexistent +- Improved job locking logic to reduce lock contention +- Match instance and node names case insensitively +- Reimplemented bash completion script to be more complete +- Improved burnin + + +Version 2.0.6 +------------- + +*(Released Thu, 4 Feb 2010)* + +- Fix cleaner behaviour on nodes not in a cluster (Debian bug 568105) +- Fix a string formatting bug +- Improve safety of the code in some error paths +- Improve data validation in the master of values returned from nodes + + +Version 2.0.5 +------------- + +*(Released Thu, 17 Dec 2009)* + +- Fix security issue due to missing validation of iallocator names; this + allows local and remote execution of arbitrary executables +- Fix failure of gnt-node list during instance removal +- Ship the RAPI documentation in the archive + + +Version 2.0.4 +------------- + +*(Released Wed, 30 Sep 2009)* + +- Fixed many wrong messages +- Fixed a few bugs related to the locking library +- Fixed MAC checking at instance creation time +- Fixed a DRBD parsing bug related to gaps in /proc/drbd +- Fixed a few issues related to signal handling in both daemons and + scripts +- Fixed the example startup script provided +- Fixed insserv dependencies in the example startup script (patch from + Debian) +- Fixed handling of drained nodes in the iallocator framework +- Fixed handling of KERNEL_PATH parameter for xen-hvm (Debian bug + #528618) +- Fixed error related to invalid job IDs in job polling +- Fixed job/opcode persistence on unclean master shutdown +- Fixed handling of partial job processing after unclean master + shutdown +- Fixed error reporting from LUs, previously all errors were converted + into execution errors +- Fixed error reporting from burnin +- Decreased significantly the memory usage of the job queue +- Optimised slightly multi-job submission +- Optimised slightly opcode loading +- Backported the multi-job submit framework from the development + branch; multi-instance start and stop should be faster +- Added script to clean archived jobs after 21 days; this will reduce + the size of the queue directory +- Added some extra checks in disk size tracking +- Added an example ethers hook script +- Added a cluster parameter that prevents Ganeti from modifying of + /etc/hosts +- Added more node information to RAPI responses +- Added a ``gnt-job watch`` command that allows following the ouput of a + job +- Added a bind-address option to ganeti-rapi +- Added more checks to the configuration verify +- Enhanced the burnin script such that some operations can be retried + automatically +- Converted instance reinstall to multi-instance model + + Version 2.0.3 ------------- +*(Released Fri, 7 Aug 2009)* + - Added ``--ignore-size`` to the ``gnt-instance activate-disks`` command to allow using the pre-2.0.2 behaviour in activation, if any existing instances have mismatched disk sizes in the configuration -- Added ``gnt-cluster repair-disk-sizes`` command to check and update any - configuration mismatches for disk sizes +- Added ``gnt-cluster repair-disk-sizes`` command to check and update + any configuration mismatches for disk sizes - Added ``gnt-master cluste-failover --no-voting`` to allow master failover to work on two-node clusters -- Fixed the ‘--net’ option of ``gnt-backup import``, which was unusable +- Fixed the ``--net`` option of ``gnt-backup import``, which was + unusable - Fixed detection of OS script errors in ``gnt-backup export`` - Fixed exit code of ``gnt-backup export`` @@ -19,6 +404,8 @@ Version 2.0.3 Version 2.0.2 ------------- +*(Released Fri, 17 Jul 2009)* + - Added experimental support for stripped logical volumes; this should enhance performance but comes with a higher complexity in the block device handling; stripping is only enabled when passing @@ -30,27 +417,29 @@ Version 2.0.2 - Fixed a couple of issues in instance listing - Added display of the disk size in ``gnt-instance info`` - Fixed checking for valid OSes in instance creation -- Fixed handling of the ‘vcpus’ parameter in instance listing and in +- Fixed handling of the "vcpus" parameter in instance listing and in general of invalid parameters - Fixed http server library, and thus RAPI, to handle invalid username/password combinations correctly; this means that now they report unauthorized for queries too, not only for modifications, allowing earlier detect of configuration problems -- Added a new ‘role’ node list field, equivalent to the master/master +- Added a new "role" node list field, equivalent to the master/master candidate/drained/offline flags combinations - Fixed cluster modify and changes of candidate pool size - Fixed cluster verify error messages for wrong files on regular nodes - Fixed a couple of issues with node demotion from master candidate role - Fixed node readd issues - Added non-interactive mode for ``ganeti-masterd --no-voting`` startup -- Added a new ‘--no-voting’ option for masterfailover to fix failover on - two-nodes clusters when the former master node is unreachable +- Added a new ``--no-voting`` option for masterfailover to fix failover + on two-nodes clusters when the former master node is unreachable - Added instance reinstall over RAPI Version 2.0.1 ------------- +*(Released Tue, 16 Jun 2009)* + - added ``-H``/``-B`` startup parameters to ``gnt-instance``, which will allow re-adding the start in single-user option (regression from 1.2) - the watcher writes the instance status to a file, to allow monitoring @@ -61,9 +450,9 @@ Version 2.0.1 - the watcher now also restarts the node daemon and the rapi daemon if they died - fixed the watcher to handle full and drained queue cases -- hooks export more instance data in the environment, which helps if hook - scripts need to take action based on the instance's properties (no - longer need to query back into ganeti) +- hooks export more instance data in the environment, which helps if + hook scripts need to take action based on the instance's properties + (no longer need to query back into ganeti) - instance failovers when the instance is stopped do not check for free RAM, so that failing over a stopped instance is possible in low memory situations @@ -81,12 +470,16 @@ Version 2.0.1 Version 2.0.0 final ------------------- +*(Released Wed, 27 May 2009)* + - no changes from rc5 Version 2.0 release candidate 5 ------------------------------- +*(Released Wed, 20 May 2009)* + - fix a couple of bugs (validation, argument checks) - fix ``gnt-cluster getmaster`` on non-master nodes (regression) - some small improvements to RAPI and IAllocator @@ -96,6 +489,8 @@ Version 2.0 release candidate 5 Version 2.0 release candidate 4 ------------------------------- +*(Released Mon, 27 Apr 2009)* + - change the OS list to not require locks; this helps with big clusters - fix ``gnt-cluster verify`` and ``gnt-cluster verify-disks`` when the volume group is broken @@ -109,6 +504,8 @@ Version 2.0 release candidate 4 Version 2.0 release candidate 3 ------------------------------- +*(Released Wed, 8 Apr 2009)* + - Change the internal locking model of some ``gnt-node`` commands, in order to reduce contention (and blocking of master daemon) when batching many creation/reinstall jobs @@ -121,6 +518,8 @@ Version 2.0 release candidate 3 Version 2.0 release candidate 2 ------------------------------- +*(Released Fri, 27 Mar 2009)* + - Now the cfgupgrade scripts works and can upgrade 1.2.7 clusters to 2.0 - Fix watcher startup sequence, improves the behaviour of busy clusters - Some other fixes in ``gnt-cluster verify``, ``gnt-instance @@ -132,6 +531,8 @@ Version 2.0 release candidate 2 Version 2.0 release candidate 1 ------------------------------- +*(Released Mon, 2 Mar 2009)* + - More documentation updates, now all docs should be more-or-less up-to-date - A couple of small fixes (mixed hypervisor clusters, offline nodes, @@ -144,6 +545,8 @@ Version 2.0 release candidate 1 Version 2.0 beta 2 ------------------ +*(Released Thu, 19 Feb 2009)* + - Xen PVM and KVM have switched the default value for the instance root disk to the first partition on the first drive, instead of the whole drive; this means that the OS installation scripts must be changed @@ -160,6 +563,8 @@ Version 2.0 beta 2 Version 2.0 beta 1 ------------------ +*(Released Mon, 26 Jan 2009)* + - Version 2 is a general rewrite of the code and therefore the differences are too many to list, see the design document for 2.0 in the ``doc/`` subdirectory for more details @@ -169,10 +574,10 @@ Version 2.0 beta 1 - all commands are executed by a daemon (``ganeti-masterd``) and the various ``gnt-*`` commands are just front-ends to it - - all the commands are entered into, and executed from a job queue, see - the ``gnt-job(8)`` manpage - - the RAPI daemon supports read-write operations, secured by basic HTTP - authentication on top of HTTPS + - all the commands are entered into, and executed from a job queue, + see the ``gnt-job(8)`` manpage + - the RAPI daemon supports read-write operations, secured by basic + HTTP authentication on top of HTTPS - DRBD version 0.7 support has been removed, DRBD 8 is the only supported version (when migrating from Ganeti 1.2 to 2.0, you need to migrate to DRBD 8 first while still running Ganeti 1.2) @@ -190,11 +595,13 @@ Version 2.0 beta 1 Version 1.2.7 ------------- +*(Released Tue, 13 Jan 2009)* + - Change the default reboot type in ``gnt-instance reboot`` to "hard" - Reuse the old instance mac address by default on instance import, if the instance name is the same. -- Handle situations in which the node info rpc returns incomplete results - (issue 46) +- Handle situations in which the node info rpc returns incomplete + results (issue 46) - Add checks for tcp/udp ports collisions in ``gnt-cluster verify`` - Improved version of batcher: @@ -215,13 +622,15 @@ Version 1.2.7 Version 1.2.6 ------------- +*(Released Wed, 24 Sep 2008)* + - new ``--hvm-nic-type`` and ``--hvm-disk-type`` flags to control the type of disk exported to fully virtualized instances. - provide access to the serial console of HVM instances -- instance auto_balance flag, set by default. If turned off it will avoid - warnings on cluster verify if there is not enough memory to fail over - an instance. in the future it will prevent automatically failing it - over when we will support that. +- instance auto_balance flag, set by default. If turned off it will + avoid warnings on cluster verify if there is not enough memory to fail + over an instance. in the future it will prevent automatically failing + it over when we will support that. - batcher tool for instance creation, see ``tools/README.batcher`` - ``gnt-instance reinstall --select-os`` to interactively select a new operating system when reinstalling an instance. @@ -238,6 +647,8 @@ Version 1.2.6 Version 1.2.5 ------------- +*(Released Tue, 22 Jul 2008)* + - note: the allowed size and number of tags per object were reduced - fix a bug in ``gnt-cluster verify`` with inconsistent volume groups - fixed twisted 8.x compatibility @@ -255,6 +666,8 @@ Version 1.2.5 Version 1.2.4 ------------- +*(Released Fri, 13 Jun 2008)* + - Experimental readonly, REST-based remote API implementation; automatically started on master node, TCP port 5080, if enabled by ``--enable-rapi`` parameter to configure script. @@ -298,6 +711,8 @@ Version 1.2.4 Version 1.2.3 ------------- +*(Released Mon, 18 Feb 2008)* + - more tweaks to the disk activation code (especially helpful for DRBD) - change the default ``gnt-instance list`` output format, now there is one combined status field (see the manpage for the exact values this @@ -312,6 +727,8 @@ Version 1.2.3 Version 1.2.2 ------------- +*(Released Wed, 30 Jan 2008)* + - fix ``gnt-instance modify`` breakage introduced in 1.2.1 with the HVM support (issue 23) - add command aliases infrastructure and a few aliases @@ -329,6 +746,8 @@ Version 1.2.2 Version 1.2.1 ------------- +*(Released Wed, 16 Jan 2008)* + - experimental HVM support, read the install document, section "Initializing the cluster" - allow for the PVM hypervisor per-instance kernel and initrd paths @@ -347,8 +766,10 @@ Version 1.2.1 Version 1.2.0 ------------- -- Log the ``xm create`` output to the node daemon log on failure (to help - diagnosing the error) +*(Released Tue, 4 Dec 2007)* + +- Log the ``xm create`` output to the node daemon log on failure (to + help diagnosing the error) - In debug mode, log all external commands output if failed to the logs - Change parsing of lvm commands to ignore stderr @@ -356,6 +777,8 @@ Version 1.2.0 Version 1.2b3 ------------- +*(Released Wed, 28 Nov 2007)* + - Another round of updates to the DRBD 8 code to deal with more failures in the replace secondary node operation - Some more logging of failures in disk operations (lvm, drbd) @@ -366,6 +789,8 @@ Version 1.2b3 Version 1.2b2 ------------- +*(Released Tue, 13 Nov 2007)* + - Change configuration file format from Python's Pickle to JSON. Upgrading is possible using the cfgupgrade utility. - Add support for DRBD 8.0 (new disk template ``drbd``) which allows for @@ -384,10 +809,14 @@ Version 1.2b2 reboots - Removed dependency on debian's patched fping that uses the non-standard ``-S`` option -- Now the OS definitions are searched for in multiple, configurable paths - (easier for distros to package) +- Now the OS definitions are searched for in multiple, configurable + paths (easier for distros to package) - Some changes to the hooks infrastructure (especially the new post-configuration update hook) - Other small bugfixes .. vim: set textwidth=72 : +.. Local Variables: +.. mode: rst +.. fill-column: 72 +.. End: