Fix type of 'node_whitelist' request parameter
[ganeti-local] / NEWS
diff --git a/NEWS b/NEWS
index 25b4548..352a2a8 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -2,10 +2,164 @@ News
 ====
 
 
-Version 2.6.0 rc2
------------------
+Version 2.7.0 beta1
+-------------------
+
+*(unreleased)*
+
+- ``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``.
+- 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.
+- 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.
+- 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
+  <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 the 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.
+- Man pages can now be included when the documentation is built, in
+  which case the output is in ``doc/man-html``. The configure-time
+  option is ``--enable-manpages-in-doc``. Sphinx 1.0 or higher is
+  required.
+
+
+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.
 
-*(Released Tue, 03 Jul 2012)*
 
 New features
 ~~~~~~~~~~~~
@@ -222,6 +376,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 +397,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
 ~~~~~~~~~~~
 
@@ -295,6 +460,59 @@ 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
 -----------------
 
@@ -305,7 +523,7 @@ rc1 to rc2:
 
 - Fixed bugs with disk parameters and ``rbd`` templates as well as
   ``instance_os_add``
-- Made ``gnt-instance modify`` with more consistent regard new NIC/Disk
+- 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
@@ -359,6 +577,26 @@ Plus integrated fixes from the 2.5 branch:
 - 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
 -------------
 
@@ -469,7 +707,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 <hooks>`
   environment.
 - Instance tags are exported/imported together with the instance.