Watcher: fix some doc typos
[ganeti-local] / NEWS
diff --git a/NEWS b/NEWS
index b0cbac9..6f004db 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,238 @@
 News
 ====
+
+
+Version 2.1.1
+-------------
+
+During the 2.1.0 long release candidate cycle, a lot of improvements and
+changes have accumulated with were released later as 2.1.1.
+
+Major changes
+~~~~~~~~~~~~~
+
+The node evacuate command (``gnt-node evacuate``) was significantly
+rewritten, and as such the IAllocator protocol was changed - a new
+request type has been added. This unfortunate change during a stable
+series is designed to improve performance of node evacuations; on
+clusters with more than about five nodes and which are well-balanced,
+evacuation should proceed in parallel for all instances of the node
+being evacuated. As such, any existing IAllocator scripts need to be
+updated, otherwise the above command will fail due to the unknown
+request. The provided "dumb" allocator has not been updated; but the
+ganeti-htools package supports the new protocol since version 0.2.4.
+
+Another important change is increased validation of node and instance
+names. This might create problems in special cases, if invalid host
+names are being used.
+
+Also, a new layer of hypervisor parameters has been added, that sits at
+OS level between the cluster defaults and the instance ones. This allows
+customisation of virtualization parameters depending on the installed
+OS. For example instances with OS 'X' may have a different KVM kernel
+(or any other parameter) than the cluster defaults. This is intended to
+help managing a multiple OSes on the same cluster, without manual
+modification of each instance's parameters.
+
+A tool for merging clusters, ``cluster-merge``, has been added in the
+tools sub-directory.
+
+Bug fixes
+~~~~~~~~~
+
+- Improved the int/float conversions that should make the code more
+  robust in face of errors from the node daemons
+- Fixed the remove node code in case of internal configuration errors
+- Fixed the node daemon behaviour in face of inconsistent queue
+  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”
+  parameter, will automatically promote other nodes as needed
+- Fixed compatibility with (unreleased yet) Python 2.6.5 that would
+  completely prevent Ganeti from working
+- Fixed bug for instance export when not all disks were successfully
+  exported
+- Fixed behaviour of node add when the new node is slow in starting up
+  the node daemon
+- Fixed handling of signals in the LUXI client, which should improve
+  behaviour of command-line scripts
+- Added checks for invalid node/instance names in the configuration (now
+  flagged during cluster verify)
+- Fixed watcher behaviour for disk activation errors
+- Fixed two potentially endless loops in http library, which led to the
+  RAPI daemon hanging and consuming 100% CPU in some cases
+- Fixed bug in RAPI daemon related to hashed passwords
+- Fixed bug for unintended qemu-level bridging of multi-NIC KVM
+  instances
+- Enhanced compatibility with non-Debian OSes, but not using absolute
+  path in some commands and allowing customisation of the ssh
+  configuration directory
+- Fixed possible future issue with new Python versions by abiding to the
+  proper use of ``__slots__`` attribute on classes
+- Added checks that should prevent directory traversal attacks
+- Many documentation fixes based on feedback from users
+
+New features
+~~~~~~~~~~~~
+
+- 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
+  daemons (e.g. from the ganeti-nbma project), but they can be used of
+  course for any other purpose
+- Added a compile-time disable for DRBD barriers, to increase
+  performance if the administrator trusts the power supply or the
+  storage system to not lose writes
+- Added the option of using syslog for logging instead of, or in
+  addition to, Ganeti's own log files
+- Removed boot restriction for paravirtual NICs for KVM, recent versions
+  can indeed boot from a paravirtual NIC
+- Added a generic debug level for many operations; while this is not
+  used widely yet, it allows one to pass the debug value all the way to
+  the OS scripts
+- Enhanced the hooks environment for instance moves (failovers,
+  migrations) where the primary/secondary nodes changed during the
+  operation, by adding {NEW,OLD}_{PRIMARY,SECONDARY} vars
+- Enhanced data validations for many user-supplied values; one important
+  item is the restrictions imposed on instance and node names, which
+  might reject some (invalid) host names
+- Add a configure-time option to disable file-based storage, if it's not
+  needed; this allows greater security separation between the master
+  node and the other nodes from the point of view of the inter-node RPC
+  protocol
+- Added user notification in interactive tools if job is waiting in the
+  job queue or trying to acquire locks
+- Added log messages when a job is waiting for locks
+- Added filtering by node tags in instance operations which admit
+  multiple instances (start, stop, reboot, reinstall)
+- Added a new tool for cluster mergers, ``cluster-merge``
+- Parameters from command line which are of the form ``a=b,c=d`` can now
+  use backslash escapes to pass in values which contain commas,
+  e.g. ``a=b\\c,d=e`` where the 'a' parameter would get the value
+  ``b,c``
+- For KVM, the instance name is the first parameter passed to KVM, so
+  that it's more visible in the process list
+
+
+Version 2.1.0
+-------------
+
+Ganeti 2.1 brings many improvements with it. Major changes:
+
+- Added infrastructure to ease automated disk repairs
+- Added new daemon to export configuration data in a cheaper way than
+  using the remote API
+- Instance NICs can now be routed instead of being associated with a
+  networking bridge
+- Improved job locking logic to reduce impact of jobs acquiring multiple
+  locks waiting for other long-running jobs
+
+In-depth implementation details can be found in the Ganeti 2.1 design
+document.
+
+Details
+~~~~~~~
+
+- Added chroot hypervisor
+- Added more options to xen-hvm hypervisor (``kernel_path`` and
+  ``device_model``)
+- Added more options to xen-pvm hypervisor (``use_bootloader``,
+  ``bootloader_path`` and ``bootloader_args``)
+- Added the ``use_localtime`` option for the xen-hvm and kvm
+  hypervisors, and the default value for this has changed to false (in
+  2.0 xen-hvm always enabled it)
+- Added luxi call to submit multiple jobs in one go
+- Added cluster initialization option to not modify ``/etc/hosts``
+  file on nodes
+- Added network interface parameters
+- Added dry run mode to some LUs
+- Added RAPI resources:
+
+  - ``/2/instances/[instance_name]/info``
+  - ``/2/instances/[instance_name]/replace-disks``
+  - ``/2/nodes/[node_name]/evacuate``
+  - ``/2/nodes/[node_name]/migrate``
+  - ``/2/nodes/[node_name]/role``
+  - ``/2/nodes/[node_name]/storage``
+  - ``/2/nodes/[node_name]/storage/modify``
+  - ``/2/nodes/[node_name]/storage/repair``
+
+- Added OpCodes to evacuate or migrate all instances on a node
+- Added new command to list storage elements on nodes (``gnt-node
+  list-storage``) and modify them (``gnt-node modify-storage``)
+- Added new ssconf files with master candidate IP address
+  (``ssconf_master_candidates_ips``), node primary IP address
+  (``ssconf_node_primary_ips``) and node secondary IP address
+  (``ssconf_node_secondary_ips``)
+- Added ``ganeti-confd`` and a client library to query the Ganeti
+  configuration via UDP
+- Added ability to run hooks after cluster initialization and before
+  cluster destruction
+- Added automatic mode for disk replace (``gnt-instance replace-disks
+  --auto``)
+- Added ``gnt-instance recreate-disks`` to re-create (empty) disks
+  after catastrophic data-loss
+- Added ``gnt-node repair-storage`` command to repair damaged LVM volume
+  groups
+- Added ``gnt-instance move`` command to move instances
+- Added ``gnt-cluster watcher`` command to control watcher
+- Added ``gnt-node powercycle`` command to powercycle nodes
+- Added new job status field ``lock_status``
+- Added parseable error codes to cluster verification (``gnt-cluster
+  verify --error-codes``) and made output less verbose (use
+  ``--verbose`` to restore previous behaviour)
+- Added UUIDs to the main config entities (cluster, nodes, instances)
+- Added support for OS variants
+- Added support for hashed passwords in the Ganeti remote API users file
+  (``rapi_users``)
+- Added option to specify maximum timeout on instance shutdown
+- Added ``--no-ssh-init`` option to ``gnt-cluster init``
+- Added new helper script to start and stop Ganeti daemons
+  (``daemon-util``), with the intent to reduce the work necessary to
+  adjust Ganeti for non-Debian distributions and to start/stop daemons
+  from one place
+- Added more unittests
+- Fixed critical bug in ganeti-masterd startup
+- Removed the configure-time ``kvm-migration-port`` parameter, this is
+  now customisable at the cluster level for both the KVM and Xen
+  hypervisors using the new ``migration_port`` parameter
+- Pass ``INSTANCE_REINSTALL`` variable to OS installation script when
+  reinstalling an instance
+- Allowed ``@`` in tag names
+- Migrated to Sphinx (http://sphinx.pocoo.org/) for documentation
+- Many documentation updates
+- Distribute hypervisor files on ``gnt-cluster redist-conf``
+- ``gnt-instance reinstall`` can now reinstall multiple instances
+- Updated many command line parameters
+- Introduced new OS API version 15
+- No longer support a default hypervisor
+- Treat virtual LVs as inexistent
+- Improved job locking logic to reduce lock contention
+- Match instance and node names case insensitively
+- Reimplemented bash completion script to be more complete
+- Improved burnin
+
+
+Version 2.0.6
+-------------
+
+- Fix cleaner behaviour on nodes not in a cluster (Debian bug 568105)
+- Fix a string formatting bug
+- Improve safety of the code in some error paths
+- Improve data validation in the master of values returned from nodes
+
+
+Version 2.0.5
+-------------
+
+- Fix security issue due to missing validation of iallocator names; this
+  allows local and remote execution of arbitrary executables
+- Fix failure of gnt-node list during instance removal
+- Ship the RAPI documentation in the archive
+
+
 Version 2.0.4
 -------------
 
@@ -434,3 +667,7 @@ Version 1.2b2
 - Other small bugfixes
 
 .. vim: set textwidth=72 :
+.. Local Variables:
+.. mode: rst
+.. fill-column: 72
+.. End: