Start NEWS entry for 2.9.0 rc2
[ganeti-local] / NEWS
diff --git a/NEWS b/NEWS
index cf2abac..d07b590 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -2,25 +2,130 @@ News
 ====
 
 
-Version 2.9.0 beta1
--------------------
+Version 2.9.0 rc2
+-----------------
 
 *(unreleased)*
 
+Incompatible/important changes
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+- 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.
+- 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 and shared file storage is no longer dis/enabled at configure time,
+  but using the option '--enabled-disk-templates' at cluster initialization and
+  modification.
+- The default directories for file and shared file storage are not anymore
+  specified at configure time, but taken from the cluster's configuration.
+  They can be set at cluster initialization and modification with
+  '--file-storage-dir' and '--shared-file-storage-dir'.
+- Cluster verification now includes stricter checks regarding the
+  default file and shared file storage directories. It now checks that
+  the directories are explicitely allowed in the 'file-storage-paths' file and
+  that the directories exist on all nodes.
+- The list of allowed disk templates in the instance policy and the list
+  of cluster-wide enabled disk templates is now checked for consistency
+  on cluster or group modification. On cluster initialization, the ipolicy
+  disk templates are ensured to be a subset of the cluster-wide enabled
+  disk templates.
+
+New features
+~~~~~~~~~~~~
+
 - 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.
+- 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 ConfD client is now IPv6 compatible.
+
+New dependencies
+~~~~~~~~~~~~~~~~
+The following new dependencies have been added.
 
+Python
 
-Version 2.8.0 beta1
+- ``python-mock`` (http://www.voidspace.org.uk/python/mock/) is now a required
+  for the unit tests (and only used for testing).
+
+Haskell
+
+- ``hslogger`` (http://software.complete.org/hslogger) is now always
+  required, even if confd is not enabled.
+
+Since 2.9.0 rc1
+~~~~~~~~~~~~~~~
+
+- Fix bug in cfgupgrade that led to failure when upgrading from 2.8 with
+  at least one DRBD instance.
+
+
+Version 2.9.0 rc1
+-----------------
+
+*(Released Tue, 1 Oct 2013)*
+
+The first release candidate in the 2.9 series. Since 2.9.0 beta1:
+
+- various bug fixes
+- update of the documentation, in particular installation instructions
+- merging of LD_* constants into DT_* constants
+- python style changes to be compatible with newer versions of pylint
+
+
+Version 2.9.0 beta1
 -------------------
 
-*(unreleased)*
+*(Released Thu, 29 Aug 2013)*
+
+This was the first beta release of the 2.9 series. All important changes
+are listed in the latest 2.9 entry.
+
+
+Version 2.8.0
+-------------
+
+*(Released Mon, 30 Sep 2013)*
+
+Incompatible/important changes
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+- Instance policy can contain multiple instance specs, as described in
+  the “Constrained instance sizes” section of :doc:`Partitioned Ganeti
+  <design-partitioned>`. 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.
+- confd now only answers static configuration request over the network. luxid
+  was extracted, listens on the local LUXI socket and responds to live queries.
+  This allows finer grained permissions if using separate users.
+
+New features
+~~~~~~~~~~~~
 
-- The minimum Python version needed to run Ganeti is now 2.6.
 - The :doc:`Remote API <rapi>` daemon now supports a command line flag
   to always require authentication, ``--require-authentication``. It can
   be specified in ``$sysconfdir/default/ganeti``.
@@ -35,14 +140,165 @@ Version 2.8.0 beta1
   creation.
 - ``cfgupgrade`` now supports a ``--downgrade`` option to bring the
   configuration back to the previous stable version.
-- The cluster option '--no-lvm-storage' was removed in favor of the new option
-  '--enabled-disk-templates'.
+- 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.
+- Add the ``vnet_hdr`` HV parameter for KVM, to control whether the tap
+  devices for KVM virtio-net interfaces will get created with VNET_HDR
+  (IFF_VNET_HDR) support. If set to false, it disables offloading on the
+  virtio-net interfaces, which prevents host kernel tainting and log
+  flooding, when dealing with broken or malicious virtio-net drivers.
+  It's set to true by default.
+- Instance failover now supports a ``--cleanup`` parameter for fixing previous
+  failures.
+- Support 'viridian' parameter in Xen HVM
+- Support DSA SSH keys in bootstrap
+- To simplify the work of packaging frameworks that want to add the needed users
+  and groups in a split-user setup themselves, at build time three files in
+  ``doc/users`` will be generated. The ``groups`` files contains, one per line,
+  the groups to be generated, the ``users`` file contains, one per line, the
+  users to be generated, optionally followed by their primary group, where
+  important. The ``groupmemberships`` file contains, one per line, additional
+  user-group membership relations that need to be established. The syntax of
+  these files will remain stable in all future versions.
+
+
+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).
 
-Version 2.7.0 rc1
+For Python:
+- The minimum Python version needed to run Ganeti is now 2.6.
+- ``yaml`` library (only for running the QA).
+
+Since 2.8.0 rc3
+~~~~~~~~~~~~~~~
+- Perform proper cleanup on termination of Haskell daemons
+- Fix corner-case in handling of remaining retry time
+
+
+Version 2.8.0 rc3
 -----------------
 
-*(unreleased)*
+*(Released Tue, 17 Sep 2013)*
+
+- To simplify the work of packaging frameworks that want to add the needed users
+  and groups in a split-user setup themselves, at build time three files in
+  ``doc/users`` will be generated. The ``groups`` files contains, one per line,
+  the groups to be generated, the ``users`` file contains, one per line, the
+  users to be generated, optionally followed by their primary group, where
+  important. The ``groupmemberships`` file contains, one per line, additional
+  user-group membership relations that need to be established. The syntax of
+  these files will remain stable in all future versions.
+- Add a default to file-driver when unspecified over RAPI (Issue 571)
+- Mark the DSA host pubkey as optional, and remove it during config downgrade
+  (Issue 560)
+- Some documentation fixes
+
+
+Version 2.8.0 rc2
+-----------------
+
+*(Released Tue, 27 Aug 2013)*
+
+The second release candidate of the 2.8 series. Since 2.8.0. rc1:
+
+- Support 'viridian' parameter in Xen HVM (Issue 233)
+- Include VCS version in ``gnt-cluster version``
+- Support DSA SSH keys in bootstrap (Issue 338)
+- Fix batch creation of instances
+- Use FQDN to check master node status (Issue 551)
+- Make the DRBD collector more failure-resilient
+
+
+Version 2.8.0 rc1
+-----------------
+
+*(Released Fri, 2 Aug 2013)*
+
+The first release candidate of the 2.8 series. Since 2.8.0 beta1:
+
+- Fix upgrading/downgrading from 2.7
+- Increase maximum RAPI message size
+- Documentation updates
+- Split ``confd`` between ``luxid`` and ``confd``
+- Merge 2.7 series up to the 2.7.1 release
+- Allow the ``modify_etc_hosts`` option to be changed
+- Add better debugging for ``luxid`` queries
+- Expose bulk parameter for GetJobs in RAPI client
+- Expose missing ``network`` fields in RAPI
+- Add some ``cluster verify`` tests
+- Some unittest fixes
+- Fix a malfunction in ``hspace``'s tiered allocation
+- Fix query compatibility between haskell and python implementations
+- Add the ``vnet_hdr`` HV parameter for KVM
+- Add ``--cleanup`` to instance failover
+- Change the connected groups format in ``gnt-network info`` output; it
+  was previously displayed as a raw list by mistake. (Merged from 2.7)
+
+
+Version 2.8.0 beta1
+-------------------
+
+*(Released Mon, 24 Jun 2013)*
+
+This was the first beta release of the 2.8 series. All important changes
+are listed in the latest 2.8 entry.
+
+
+Version 2.7.2
+-------------
+
+*(Released Thu, 26 Sep 2013)*
+
+- Change the connected groups format in ``gnt-network info`` output; it
+  was previously displayed as a raw list by mistake
+- Check disk template in right dict when copying
+- Support multi-instance allocs without iallocator
+- Fix some errors in the documentation
+- Fix formatting of tuple in an error message
+
+
+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
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -147,8 +403,49 @@ Misc changes
 - The functionality for allocating multiple instances at once has been
   overhauled and is now also available through :doc:`RAPI <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)*
 
-Since beta3:
+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
@@ -164,6 +461,8 @@ Since beta3:
 - 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