kvm: Use -display none rather than -nographic
[ganeti-local] / NEWS
diff --git a/NEWS b/NEWS
index 1141561..868ea44 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -2,10 +2,286 @@ News
 ====
 
 
-Version 2.6.0 rc4
------------------
+Version 2.7.0 beta3
+-------------------
+
+*(Released Mon, 22 Apr 2013)*
+
+Incompatible/important changes
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+- Instance policies for disk size were documented to be on a per-disk
+  basis, but hail applied them to the sum of all disks. This has been
+  fixed.
+- ``hbal`` will now exit with status 0 if, during job execution over
+  LUXI, early exit has been requested and all jobs are successful;
+  before, exit status 1 was used, which cannot be differentiated from
+  "job error" case
+- Compatibility with newer versions of rbd has been fixed
+- ``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``.
+- 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.
+- Python 2.4 has *not* been tested with this release. Using 2.6 or above
+  is recommended. 2.6 will be mandatory from the 2.8 series.
+
+
+New features
+~~~~~~~~~~~~
+
+- New network management functionality to support automatic allocation
+  of IP addresses and managing of network parameters. See
+  :manpage:`gnt-network(8)` for more details.
+- New external storage backend, to allow managing arbitrary storage
+  systems external to the cluster. See
+  :manpage:`ganeti-extstorage-interface(7)`.
+- New ``exclusive-storage`` node parameter added, restricted to
+  nodegroup level. When it's set to true, physical disks are assigned in
+  an exclusive fashion to instances, as documented in :doc:`Partitioned
+  Ganeti <design-partitioned>`.  Currently, only instances using the
+  ``plain`` disk template are supported.
+- The KVM hypervisor has been updated with many new hypervisor
+  parameters, including a generic one for passing arbitrary command line
+  values. See a complete list in :manpage:`gnt-instance(8)`.
+- A new tool, called ``mon-collector``, is the stand-alone executor of
+  the data collectors for a monitoring system. As of this version, it
+  just includes the DRBD data collector, that can be executed by calling
+  ``mon-collector`` using the ``drbd`` parameter. See
+  :manpage:`mon-collector(7)`.
+- 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.
+- 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 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.
+- New experimental linux-ha resource scripts.
+- Restricted-commands support: ganeti can now be asked (via command line
+  or rapi) to perform commands on a node. These are passed via ganeti
+  RPC rather than ssh. This functionality is restricted to commands
+  specified on the ``$sysconfdir/ganeti/restricted-commands`` for security
+  reasons. The file is not copied automatically.
+
+
+Misc changes
+~~~~~~~~~~~~
+
+- Diskless instances are now externally mirrored (Issue 237). This for
+  now has only been tested in conjunction with explicit target nodes for
+  migration/failover.
+- Queries not needing locks or RPC access to the node can now be
+  performed by the confd daemon, making them independent from jobs, and
+  thus faster to execute. This is selectable at configure time.
+- The functionality for allocating multiple instances at once has been
+  overhauled and is now also available through :doc:`RAPI <rapi>`.
+
+Since beta2:
+
+- Fix hail to verify disk instance policies on a per-disk basis (Issue 418).
+- Fix data loss on wrong usage of ``gnt-instance move``
+- Properly export errors in confd-based job queries
+- Add ``users-setup`` tool
+- Fix iallocator protocol to report 0 as a disk size for diskless
+  instances. This avoids hail breaking when a diskless instance is
+  present.
+- Fix job queue directory permission problem that made confd job queries
+  fail. This requires running an ``ensure-dirs --full-run`` on upgrade
+  for access to archived jobs (Issue 406).
+- Limit the sizes of networks supported by ``gnt-network`` to something
+  between a ``/16`` and a ``/30`` to prevent memory bloat and crashes.
+- Fix bugs in instance disk template conversion
+- Fix GHC 7 compatibility
+- Fix ``burnin`` install path (Issue 426).
+- Allow very small disk grows (Issue 347).
+- Fix a ``ganeti-noded`` memory bloat introduced in 2.5, by making sure
+  that noded doesn't import masterd code (Issue 419).
+- Make sure the default metavg at cluster init is the same as the vg, if
+  unspecified (Issue 358).
+- Fix cleanup of partially created disks (part of Issue 416)
+
+
+Version 2.7.0 beta2
+-------------------
+
+*(Released Tue, 2 Apr 2013)*
+
+This was the second beta release of the 2.7 series. Since beta1:
+
+- Networks no longer have a "type" slot, since this information was
+  unused in Ganeti: instead of it tags should be used.
+- The rapi client now has a ``target_node`` option to MigrateInstance.
+- Fix early exit return code for hbal (Issue 386).
+- Fix ``gnt-instance migrate/failover -n`` (Issue 396).
+- Fix ``rbd showmapped`` output parsing (Issue 312).
+- Networks are now referenced indexed by UUID, rather than name. This
+  will require running cfgupgrade, from 2.7.0beta1, if networks are in
+  use.
+- The OS environment now includes network information.
+- Deleting of a network is now disallowed if any instance nic is using
+  it, to prevent dangling references.
+- External storage is now documented in man pages.
+- The exclusive_storage flag can now only be set at nodegroup level.
+- Hbal can now submit an explicit priority with its jobs.
+- Many network related locking fixes.
+- Bump up the required pylint version to 0.25.1.
+- Fix the ``no_remember`` option in RAPI client.
+- Many ipolicy related tests, qa, and fixes.
+- Many documentation improvements and fixes.
+- Fix building with ``--disable-file-storage``.
+- Fix ``-q`` option in htools, which was broken if passed more than
+  once.
+- Some haskell/python interaction improvements and fixes.
+- Fix iallocator in case of missing LVM storage.
+- Fix confd config load in case of ``--no-lvm-storage``.
+- The confd/query functionality is now mentioned in the security
+  documentation.
+
+
+Version 2.7.0 beta1
+-------------------
+
+*(Released Wed, 6 Feb 2013)*
+
+This was the first beta release of the 2.7 series. All important changes
+are listed in the latest 2.7 entry.
+
+
+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 Thu, 19 Jul 2012)*
 
 New features
 ~~~~~~~~~~~~
@@ -305,10 +581,20 @@ changed to allow the same clock skew as permitted by the cluster
 verification. This will remove some rare but hard to diagnose errors in
 import-export.
 
-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 after the upgrade, otherwise job submission will fail.
+
+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
@@ -543,7 +829,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.