X-Git-Url: https://code.grnet.gr/git/ganeti-local/blobdiff_plain/e0c9743d6d08d14be63977daf95b17761dd15d3e..7ba19f397098d69d4fbff3b34a2977e484838732:/NEWS diff --git a/NEWS b/NEWS index 1fc0f5e..2f5c561 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,492 @@ News ==== +Version 2.4.0 rc3 +----------------- + +*(Released Mon, 28 Feb 2011)* + +A critical fix for the ``prealloc_wipe_disks`` feature: it is possible +that this feature wiped the disks of the wrong instance, leading to loss +of data. + +Other changes: + +- Fixed title of query field containing instance name +- Expanded the glossary in the documentation +- Fixed one unittest (internal issue) + + +Version 2.4.0 rc2 +----------------- + +*(Released Mon, 21 Feb 2011)* + +A number of bug fixes plus just a couple functionality changes. + +On the user-visible side, the ``gnt-* list`` command output has changed +with respect to "special" field states. The current rc1 style of display +can be re-enabled by passing a new ``--verbose`` (``-v``) flag, but in +the default output mode special fields states are displayed as follows: + +- Offline resource: ``*`` +- Unavailable/not applicable: ``-`` +- Data missing (RPC failure): ``?`` +- Unknown field: ``??`` + +Another user-visible change is the addition of ``--force-join`` to +``gnt-node add``. + +As for bug fixes: + +- ``tools/cluster-merge`` has seen many fixes and is now enabled again +- Fixed regression in RAPI/instance reinstall where all parameters were + required (instead of optional) +- Fixed ``gnt-cluster repair-disk-sizes``, was broken since Ganeti 2.2 +- Fixed iallocator usage (offline nodes were not considered offline) +- Fixed ``gnt-node list`` with respect to non-vm_capable nodes +- Fixed hypervisor and OS parameter validation with respect to + non-vm_capable nodes +- Fixed ``gnt-cluster verify`` with respect to offline nodes (mostly + cosmetic) +- Fixed ``tools/listrunner`` with respect to agent-based usage + + +Version 2.4.0 rc1 +----------------- + +*(Released Fri, 4 Feb 2011)* + +Many changes and fixes since the beta1 release. While there were some +internal changes, the code has been mostly stabilised for the RC +release. + +Note: the dumb allocator was removed in this release, as it was not kept +up-to-date with the IAllocator protocol changes. It is recommended to +use the ``hail`` command from the ganeti-htools package. + +Note: the 2.4 and up versions of Ganeti are not compatible with the +0.2.x branch of ganeti-htools. You need to upgrade to +ganeti-htools-0.3.0 (or later). + +Regressions fixed from 2.3 +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- Fixed the ``gnt-cluster verify-disks`` command +- Made ``gnt-cluster verify-disks`` work in parallel (as opposed to + serially on nodes) +- Fixed disk adoption breakage +- Fixed wrong headers in instance listing for field aliases + +Other bugs fixed +~~~~~~~~~~~~~~~~ + +- Fixed corner case in KVM handling of NICs +- Fixed many cases of wrong handling of non-vm_capable nodes +- Fixed a bug where a missing instance symlink was not possible to + recreate with any ``gnt-*`` command (now ``gnt-instance + activate-disks`` does it) +- Fixed the volume group name as reported by ``gnt-cluster + verify-disks`` +- Increased timeouts for the import-export code, hopefully leading to + fewer aborts due network or instance timeouts +- Fixed bug in ``gnt-node list-storage`` +- Fixed bug where not all daemons were started on cluster + initialisation, but only at the first watcher run +- Fixed many bugs in the OOB implementation +- Fixed watcher behaviour in presence of instances with offline + secondaries +- Fixed instance list output for instances running on the wrong node +- a few fixes to the cluster-merge tool, but it still cannot merge + multi-node groups (currently it is not recommended to use this tool) + + +Improvements +~~~~~~~~~~~~ + +- Improved network configuration for the KVM hypervisor +- Added e1000 as a supported NIC for Xen-HVM +- Improved the lvmstrap tool to also be able to use partitions, as + opposed to full disks +- Improved speed of disk wiping (the cluster parameter + ``prealloc_wipe_disks``, so that it has a low impact on the total time + of instance creations +- Added documentation for the OS parameters +- Changed ``gnt-instance deactivate-disks`` so that it can work if the + hypervisor is not responding +- Added display of blacklisted and hidden OS information in + ``gnt-cluster info`` +- Extended ``gnt-cluster verify`` to also validate hypervisor, backend, + NIC and node parameters, which might create problems with currently + invalid (but undetected) configuration files, but prevents validation + failures when unrelated parameters are modified +- Changed cluster initialisation to wait for the master daemon to become + available +- Expanded the RAPI interface: + + - Added config redistribution resource + - Added activation/deactivation of instance disks + - Added export of console information + +- Implemented log file reopening on SIGHUP, which allows using + logrotate(8) for the Ganeti log files +- Added a basic OOB helper script as an example + + +Version 2.4.0 beta1 +------------------- + +*(Released Fri, 14 Jan 2011)* + +User-visible +~~~~~~~~~~~~ + +- Fixed timezone issues when formatting timestamps +- Added support for node groups, available via ``gnt-group`` and other + commands +- Added out-of-band framework and management, see :doc:`design + document ` +- Removed support for roman numbers from ``gnt-node list`` and + ``gnt-instance list``. +- Allowed modification of master network interface via ``gnt-cluster + modify --master-netdev`` +- Accept offline secondaries while shutting down instance disks +- Added ``blockdev_prefix`` parameter to Xen PVM and HVM hypervisors +- Added support for multiple LVM volume groups +- Avoid sorting nodes for ``gnt-node list`` if specific nodes are + requested +- Added commands to list available fields: + + - ``gnt-node list-fields`` + - ``gnt-group list-fields`` + - ``gnt-instance list-fields`` + +- Updated documentation and man pages + +Integration +~~~~~~~~~~~ + +- Moved ``rapi_users`` file into separate directory, now named + ``.../ganeti/rapi/users``, ``cfgupgrade`` moves the file and creates a + symlink +- Added new tool for running commands on many machines, + ``tools/ganeti-listrunner`` +- Implemented more verbose result in ``OpInstanceConsole`` opcode, also + improving the ``gnt-instance console`` output +- Allowed customisation of disk index separator at ``configure`` time +- Export node group allocation policy to :doc:`iallocator ` +- Added support for non-partitioned md disks in ``lvmstrap`` +- Added script to gracefully power off KVM instances +- Split ``utils`` module into smaller parts +- Changed query operations to return more detailed information, e.g. + whether an information is unavailable due to an offline node. To use + this new functionality, the LUXI call ``Query`` must be used. Field + information is now stored by the master daemon and can be retrieved + using ``QueryFields``. Instances, nodes and groups can also be queried + using the new opcodes ``OpQuery`` and ``OpQueryFields`` (not yet + exposed via RAPI). The following commands make use of this + infrastructure change: + + - ``gnt-group list`` + - ``gnt-group list-fields`` + - ``gnt-node list`` + - ``gnt-node list-fields`` + - ``gnt-instance list`` + - ``gnt-instance list-fields`` + - ``gnt-debug locks`` + +Remote API +~~~~~~~~~~ + +- New RAPI resources (see :doc:`rapi`): + + - ``/2/modify`` + - ``/2/groups`` + - ``/2/groups/[group_name]`` + - ``/2/groups/[group_name]/assign-nodes`` + - ``/2/groups/[group_name]/modify`` + - ``/2/groups/[group_name]/rename`` + - ``/2/instances/[instance_name]/disk/[disk_index]/grow`` + +- RAPI changes: + + - Implemented ``no_install`` for instance creation + - Implemented OS parameters for instance reinstallation, allowing + use of special settings on reinstallation (e.g. for preserving data) + +Misc +~~~~ + +- Added IPv6 support in import/export +- Pause DRBD synchronization while wiping disks on instance creation +- Updated unittests and QA scripts +- Improved network parameters passed to KVM +- Converted man pages from docbook to reStructuredText + + +Version 2.3.1 +------------- + +*(Released Mon, 20 Dec 2010)* + +Released version 2.3.1~rc1 without any changes. + + +Version 2.3.1 rc1 +----------------- + +*(Released Wed, 1 Dec 2010)* + +- impexpd: Disable OpenSSL compression in socat if possible (backport + from master, commit e90739d625b, see :doc:`installation guide + ` for details) +- Changed unittest coverage report to exclude test scripts +- Added script to check version format + + +Version 2.3.0 +------------- + +*(Released Wed, 1 Dec 2010)* + +Released version 2.3.0~rc1 without any changes. + + +Version 2.3.0 rc1 +----------------- + +*(Released Fri, 19 Nov 2010)* + +A number of bugfixes and documentation updates: + +- Update ganeti-os-interface documentation +- Fixed a bug related to duplicate MACs or similar items which should be + unique +- Fix breakage in OS state modify +- Reinstall instance: disallow offline secondaries (fixes bug related to + OS changing but reinstall failing) +- plus all the other fixes between 2.2.1 and 2.2.2 + + +Version 2.3.0 rc0 +----------------- + +*(Released Tue, 2 Nov 2010)* + +- Fixed clearing of the default iallocator using ``gnt-cluster modify`` +- Fixed master failover race with watcher +- Fixed a bug in ``gnt-node modify`` which could lead to an inconsistent + configuration +- Accept previously stopped instance for export with instance removal +- Simplify and extend the environment variables for instance OS scripts +- Added new node flags, ``master_capable`` and ``vm_capable`` +- Added optional instance disk wiping prior during allocation. This is a + cluster-wide option and can be set/modified using + ``gnt-cluster {init,modify} --prealloc-wipe-disks``. +- Added IPv6 support, see :doc:`design document ` and + :doc:`install-quick` +- Added a new watcher option (``--ignore-pause``) +- Added option to ignore offline node on instance start/stop + (``--ignore-offline``) +- Allow overriding OS parameters with ``gnt-instance reinstall`` +- Added ability to change node's secondary IP address using ``gnt-node + modify`` +- Implemented privilege separation for all daemons except + ``ganeti-noded``, see ``configure`` options +- Complain if an instance's disk is marked faulty in ``gnt-cluster + verify`` +- Implemented job priorities (see ``ganeti(7)`` manpage) +- Ignore failures while shutting down instances during failover from + offline node +- Exit daemon's bootstrap process only once daemon is ready +- Export more information via ``LUInstanceQuery``/remote API +- Improved documentation, QA and unittests +- RAPI daemon now watches ``rapi_users`` all the time and doesn't need a + restart if the file was created or changed +- Added LUXI protocol version sent with each request and response, + allowing detection of server/client mismatches +- Moved the Python scripts among gnt-* and ganeti-* into modules +- Moved all code related to setting up SSH to an external script, + ``setup-ssh`` +- Infrastructure changes for node group support in future versions + + +Version 2.2.2 +------------- + +*(Released Fri, 19 Nov 2010)* + +A few small bugs fixed, and some improvements to the build system: + +- Fix documentation regarding conversion to drbd +- Fix validation of parameters in cluster modify (``gnt-cluster modify + -B``) +- Fix error handling in node modify with multiple changes +- Allow remote imports without checked names + + +Version 2.2.1 +------------- + +*(Released Tue, 19 Oct 2010)* + +- Disable SSL session ID cache in RPC client + + +Version 2.2.1 rc1 +----------------- + +*(Released Thu, 14 Oct 2010)* + +- Fix interaction between Curl/GnuTLS and the Python's HTTP server + (thanks Apollon Oikonomopoulos!), finally allowing the use of Curl + with GnuTLS +- Fix problems with interaction between Curl and Python's HTTP server, + resulting in increased speed in many RPC calls +- Improve our release script to prevent breakage with older aclocal and + Python 2.6 + + +Version 2.2.1 rc0 +----------------- + +*(Released Thu, 7 Oct 2010)* + +- Fixed issue 125, replace hardcoded "xenvg" in ``gnt-cluster`` with + value retrieved from master +- Added support for blacklisted or hidden OS definitions +- Added simple lock monitor (accessible via (``gnt-debug locks``) +- Added support for -mem-path in KVM hypervisor abstraction layer +- Allow overriding instance parameters in tool for inter-cluster + instance moves (``tools/move-instance``) +- Improved opcode summaries (e.g. in ``gnt-job list``) +- Improve consistency of OS listing by sorting it +- Documentation updates + + +Version 2.2.0.1 +--------------- + +*(Released Fri, 8 Oct 2010)* + +- Rebuild with a newer autotools version, to fix python 2.6 compatibility + + +Version 2.2.0 +------------- + +*(Released Mon, 4 Oct 2010)* + +- Fixed regression in ``gnt-instance rename`` + + +Version 2.2.0 rc2 +----------------- + +*(Released Wed, 22 Sep 2010)* + +- Fixed OS_VARIANT variable for OS scripts +- Fixed cluster tag operations via RAPI +- Made ``setup-ssh`` exit with non-zero code if an error occurred +- Disabled RAPI CA checks in watcher + + +Version 2.2.0 rc1 +----------------- + +*(Released Mon, 23 Aug 2010)* + +- Support DRBD versions of the format "a.b.c.d" +- Updated manpages +- Re-introduce support for usage from multiple threads in RAPI client +- Instance renames and modify via RAPI +- Work around race condition between processing and archival in job + queue +- Mark opcodes following failed one as failed, too +- Job field ``lock_status`` was removed due to difficulties making it + work with the changed job queue in Ganeti 2.2; a better way to monitor + locks is expected for a later 2.2.x release +- Fixed dry-run behaviour with many commands +- Support ``ssh-agent`` again when adding nodes +- Many additional bugfixes + + +Version 2.2.0 rc0 +----------------- + +*(Released Fri, 30 Jul 2010)* + +Important change: the internal RPC mechanism between Ganeti nodes has +changed from using a home-grown http library (based on the Python base +libraries) to use the PycURL library. This requires that PycURL is +installed on nodes. Please note that on Debian/Ubuntu, PycURL is linked +against GnuTLS by default. cURL's support for GnuTLS had known issues +before cURL 7.21.0 and we recommend using the latest cURL release or +linking against OpenSSL. Most other distributions already link PycURL +and cURL against OpenSSL. The command:: + + python -c 'import pycurl; print pycurl.version' + +can be used to determine the libraries PycURL and cURL are linked +against. + +Other significant changes: + +- Rewrote much of the internals of the job queue, in order to achieve + better parallelism; this decouples job query operations from the job + processing, and it should allow much nicer behaviour of the master + daemon under load, and it also has uncovered some long-standing bugs + related to the job serialisation (now fixed) +- Added a default iallocator setting to the cluster parameters, + eliminating the need to always pass nodes or an iallocator for + operations that require selection of new node(s) +- Added experimental support for the LXC virtualization method +- Added support for OS parameters, which allows the installation of + instances to pass parameter to OS scripts in order to customise the + instance +- Added a hypervisor parameter controlling the migration type (live or + non-live), since hypervisors have various levels of reliability; this + has renamed the 'live' parameter to 'mode' +- Added a cluster parameter ``reserved_lvs`` that denotes reserved + logical volumes, meaning that cluster verify will ignore them and not + flag their presence as errors +- The watcher will now reset the error count for failed instances after + 8 hours, thus allowing self-healing if the problem that caused the + instances to be down/fail to start has cleared in the meantime +- Added a cluster parameter ``drbd_usermode_helper`` that makes Ganeti + check for, and warn, if the drbd module parameter ``usermode_helper`` + is not consistent with the cluster-wide setting; this is needed to + make diagnose easier of failed drbd creations +- Started adding base IPv6 support, but this is not yet + enabled/available for use +- Rename operations (cluster, instance) will now return the new name, + which is especially useful if a short name was passed in +- Added support for instance migration in RAPI +- Added a tool to pre-configure nodes for the SSH setup, before joining + them to the cluster; this will allow in the future a simplified model + for node joining (but not yet fully enabled in 2.2); this needs the + paramiko python library +- Fixed handling of name-resolving errors +- Fixed consistency of job results on the error path +- Fixed master-failover race condition when executed multiple times in + sequence +- Fixed many bugs related to the job queue (mostly introduced during the + 2.2 development cycle, so not all are impacting 2.1) +- Fixed instance migration with missing disk symlinks +- Fixed handling of unknown jobs in ``gnt-job archive`` +- And many other small fixes/improvements + +Internal changes: + +- Enhanced both the unittest and the QA coverage +- Switched the opcode validation to a generic model, and extended the + validation to all opcode parameters +- Changed more parts of the code that write shell scripts to use the + same class for this +- Switched the master daemon to use the asyncore library for the Luxi + server endpoint + + Version 2.2.0 beta 0 -------------------- @@ -12,7 +498,7 @@ Version 2.2.0 beta 0 - Added per-request RPC timeout - RAPI now requires a Content-Type header for requests with a body (e.g. ``PUT`` or ``POST``) which must be set to ``application/json`` (see - RFC2616 (HTTP/1.1), section 7.2.1) + :rfc:`2616` (HTTP/1.1), section 7.2.1) - ``ganeti-watcher`` attempts to restart ``ganeti-rapi`` if RAPI is not reachable - Implemented initial support for running Ganeti daemons as separate @@ -30,6 +516,37 @@ Version 2.2.0 beta 0 ``EXP_SIZE_FD`` +Version 2.1.8 +------------- + +*(Released Tue, 16 Nov 2010)* + +Some more bugfixes. Unless critical bugs occur, this will be the last +2.1 release: + +- Fix case of MAC special-values +- Fix mac checker regex +- backend: Fix typo causing "out of range" error +- Add missing --units in gnt-instance list man page + + +Version 2.1.7 +------------- + +*(Released Tue, 24 Aug 2010)* + +Bugfixes only: + - Don't ignore secondary node silently on non-mirrored disk templates + (issue 113) + - Fix --master-netdev arg name in gnt-cluster(8) (issue 114) + - Fix usb_mouse parameter breaking with vnc_console (issue 109) + - Properly document the usb_mouse parameter + - Fix path in ganeti-rapi(8) (issue 116) + - Adjust error message when the ganeti user's .ssh directory is + missing + - Add same-node-check when changing the disk template to drbd + + Version 2.1.6 ------------- @@ -306,7 +823,7 @@ Bug fixes 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” + 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 @@ -335,7 +852,7 @@ Bug fixes New features ~~~~~~~~~~~~ -- Added an “early_release” more for instance replace disks and node +- 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 @@ -975,7 +1492,7 @@ Version 1.2b2 post-configuration update hook) - Other small bugfixes -.. vim: set textwidth=72 : +.. vim: set textwidth=72 syntax=rst : .. Local Variables: .. mode: rst .. fill-column: 72