News
====
+Version 2.4.0 rc1
+-----------------
+
+*(unreleased)*
+
+- Moved ``rapi_users`` file into separate directory, now named
+ ``…/ganeti/rapi/users``.
+- 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 and nodes can also be queried using
+ the new opcodes ``OpQuery`` and ``OpQueryFields``.
+- Removed support for roman numbers from ``gnt-node list`` and
+ ``gnt-instance list``.
+
+
+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
+ <install-quick>` 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 <design-2.3>` 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 ``LUQueryInstances``/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
+--------------------
+
+*(Released Thu, 17 Jun 2010)*
+
+- Added tool (``move-instance``) and infrastructure to move instances
+ between separate clusters (see :doc:`separate documentation
+ <move-instance>` and :doc:`design document <design-2.2>`)
+- 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
+ users, see configure-time flags ``--with-user-prefix`` and
+ ``--with-group-prefix`` (only ``ganeti-rapi`` is supported at this
+ time)
+- Instances can be removed after export (``gnt-backup export
+ --remove-instance``)
+- Self-signed certificates generated by Ganeti now use a 2048 bit RSA
+ key (instead of 1024 bit)
+- Added new cluster configuration file for cluster domain secret
+- Import/export now use SSL instead of SSH
+- Added support for showing estimated time when exporting an instance,
+ see the ``ganeti-os-interface(7)`` manpage and look for
+ ``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
+-------------
+
+*(Released Fri, 16 Jul 2010)*
+
+Bugfixes only:
+ - Add an option to only select some reboot types during qa/burnin.
+ (on some hypervisors consequent reboots are not supported)
+ - Fix infrequent race condition in master failover. Sometimes the old
+ master ip address would be still detected as up for a short time
+ after it was removed, causing failover to fail.
+ - Decrease mlockall warnings when the ctypes module is missing. On
+ Python 2.4 we support running even if no ctypes module is installed,
+ but we were too verbose about this issue.
+ - Fix building on old distributions, on which man doesn't have a
+ --warnings option.
+ - Fix RAPI not to ignore the MAC address on instance creation
+ - Implement the old instance creation format in the RAPI client.
+
+
+Version 2.1.5
+-------------
+
+*(Released Thu, 01 Jul 2010)*
+
+A small bugfix release:
+ - Fix disk adoption: broken by strict --disk option checking in 2.1.4
+ - Fix batch-create: broken in the whole 2.1 series due to a lookup on
+ a non-existing option
+ - Fix instance create: the --force-variant option was ignored
+ - Improve pylint 0.21 compatibility and warnings with Python 2.6
+ - Fix modify node storage with non-FQDN arguments
+ - Fix RAPI client to authenticate under Python 2.6 when used
+ for more than 5 requests needing authentication
+ - Fix gnt-instance modify -t (storage) giving a wrong error message
+ when converting a non-shutdown drbd instance to plain
+
+
+Version 2.1.4
+-------------
+
+*(Released Fri, 18 Jun 2010)*
+
+A small bugfix release:
+
+ - Fix live migration of KVM instances started with older Ganeti
+ versions which had fewer hypervisor parameters
+ - Fix gnt-instance grow-disk on down instances
+ - Fix an error-reporting bug during instance migration
+ - Better checking of the ``--net`` and ``--disk`` values, to avoid
+ silently ignoring broken ones
+ - Fix an RPC error reporting bug affecting, for example, RAPI client
+ users
+ - Fix bug triggered by different API version os-es on different nodes
+ - Fix a bug in instance startup with custom hvparams: OS level
+ parameters would fail to be applied.
+ - Fix the RAPI client under Python 2.6 (but more work is needed to
+ make it work completely well with OpenSSL)
+ - Fix handling of errors when resolving names from DNS
Version 2.1.3
-------------
-*(Unreleased)*
+*(Released Thu, 3 Jun 2010)*
A medium sized development cycle. Some new features, and some
fixes/small improvements/cleanups.
its logs, and falls back to console logging. This allows emergency
features such as ``gnt-node powercycle`` to work even in the event of a
broken node disk (tested offlining the disk hosting the node's
-filesystem and dropping its memory caches. don't try this at home)
+filesystem and dropping its memory caches; don't try this at home)
KVM: add vhost-net acceleration support. It can be tested with a new
enough version of the kernel and of qemu-kvm.
``features`` RAPI resource.
Now with ancient latin support. Try it passing the ``--roman`` option to
-``gnt-instance info, gnt-cluster info or gnt-node list`` (requires the
-python-roman module to be installed, in order to work).
+``gnt-instance info``, ``gnt-cluster info`` or ``gnt-node list``
+(requires the python-roman module to be installed, in order to work).
Other changes
~~~~~~~~~~~~~
post-configuration update hook)
- Other small bugfixes
-.. vim: set textwidth=72 :
+.. vim: set textwidth=72 syntax=rst :
.. Local Variables:
.. mode: rst
.. fill-column: 72