Merge branch 'stable-2.11' into stable-2.12
authorHrvoje Ribicic <riba@google.com>
Mon, 14 Dec 2015 16:15:14 +0000 (17:15 +0100)
committerHrvoje Ribicic <riba@google.com>
Mon, 14 Dec 2015 16:24:04 +0000 (17:24 +0100)
* stable-2.11
  Revision bump for 2.11.8
  Update NEWS file for 2.11.8

* stable-2.10
  Version bump for 2.10.8
  Update NEWS file for 2.10.8

* stable-2.9
  Bump revision number
  Update NEWS file for 2.9.7 release
  Improve RAPI section on security

Conflicts:
  NEWS - Merged entries
  configure.ac - Took 2.12 version numbers

Signed-off-by: Hrvoje Ribicic <riba@google.com>
Reviewed-by: Lisa Velden <velden@google.com>

1  2 
NEWS
doc/security.rst

diff --cc NEWS
--- 1/NEWS
--- 2/NEWS
+++ b/NEWS
@@@ -2,364 -2,66 +2,424 @@@ New
  ====
  
  
 +Version 2.12.5
 +--------------
 +
 +*(Released Mon, 13 Jul 2015)*
 +
 +Incompatible/important changes
 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 +
 +- This release contains a fix for the problem that different encodings in
 +  SSL certificates can break RPC communication (issue 1094). The fix makes
 +  it necessary to rerun 'gnt-cluster renew-crypto --new-node-certificates'
 +  after the cluster is fully upgraded to 2.12.5.
 +
 +Fixed and improvements
 +~~~~~~~~~~~~~~~~~~~~~~
 +
 +- Fixed Issue #1030: GlusterFS support breaks at upgrade to 2.12 -
 +  switches back to shared-file
 +- Fixed Issue #1094 (see the notice in Incompatible/important changes):
 +  Differences in encodings of SSL certificates can render a cluster
 +  uncommunicative after a master-failover
 +- Fixed Issue #1098: Support for ECDSA SSH keys
 +- Fixed Issue #1100: Filter-evaluation for run-time data filter
 +- Fixed Issue #1101: Modifying the storage directory for the shared-file
 +  disk template doesn't work
 +- Fixed Issue #1108: Spurious "NIC name already used" errors during
 +  instance creation
 +- Fixed Issue #1114: Binding RAPI to a specific IP makes the watcher
 +  restart the RAPI
 +- Fixed Issue #1115: Race between starting WConfD and updating the config
 +- Better handling of the "crashed" Xen state
 +- The ``htools`` now properly work also on shared-storage clusters
 +- Various improvements to the documentation have been added
 +
 +Inherited from the 2.11 branch:
 +
 +- Fixed Issue #1113: Reduce amount of logging on successful requests
 +
 +Known issues
 +~~~~~~~~~~~~
 +
 +- Issue #1104: gnt-backup: dh key too small
 +
 +
 +Version 2.12.4
 +--------------
 +
 +*(Released Tue, 12 May 2015)*
 +
 +- Fixed Issue #1082: RAPI is unresponsive after master-failover
 +- Fixed Issue #1083: Cluster verify reports existing instance disks on
 +  non-default VGs as missing
 +- Fixed a possible file descriptor leak when forking jobs
 +- Fixed missing private parameters in the environment for OS scripts
 +- Fixed a performance regression when handling configuration
 +  (only upgrade it if it changes)
 +- Adapt for compilation with GHC7.8 (compiles with warnings;
 +  cherrypicked from 2.14)
 +
 +Known issues
 +~~~~~~~~~~~~
 +
 +Pending since 2.12.2:
 +
 +- Under certain conditions instance doesn't get unpaused after live
 +  migration (issue #1050)
 +- GlusterFS support breaks at upgrade to 2.12 - switches back to
 +  shared-file (issue #1030)
 +
 +
 +Version 2.12.3
 +--------------
 +
 +*(Released Wed, 29 Apr 2015)*
 +
 +- Fixed Issue #1019: upgrade from 2.6.2 to 2.12 fails. cfgupgrade
 +  doesn't migrate the config.data file properly
 +- Fixed Issue 1023: Master master-capable option bug
 +- Fixed Issue 1068: gnt-network info outputs wrong external reservations
 +- Fixed Issue 1070: Upgrade of Ganeti 2.5.2 to 2.12.0 fails due to
 +  missing UUIDs for disks
 +- Fixed Issue 1073: ssconf_hvparams_* not distributed with ssconf
 +
 +Inherited from the 2.11 branch:
 +
 +- Fixed Issue 1032: Renew-crypto --new-node-certificates sometimes does not
 +  complete.
 +  The operation 'gnt-cluster renew-crypto --new-node-certificates' is
 +  now more robust against intermitten reachability errors. Nodes that
 +  are temporarily not reachable, are contacted with several retries.
 +  Nodes which are marked as offline are omitted right away.
 +
 +Inherited from the 2.10 branch:
 +
 +- Fixed Issue 1057: master-failover succeeds, but IP remains assigned to
 +  old master
 +- Fixed Issue 1058: Python's os.minor() does not support devices with
 +  high minor numbers
 +- Fixed Issue 1059: Luxid fails if DNS returns an IPv6 address that does
 +  not reverse resolve
 +
 +Known issues
 +~~~~~~~~~~~~
 +
 +Pending since 2.12.2:
 +
 +- GHC 7.8 introduced some incompatible changes, so currently Ganeti
 +  2.12. doesn't compile on GHC 7.8
 +- Under certain conditions instance doesn't get unpaused after live
 +  migration (issue #1050)
 +- GlusterFS support breaks at upgrade to 2.12 - switches back to
 +  shared-file (issue #1030)
 +
 +
 +Version 2.12.2
 +--------------
 +
 +*(Released Wed, 25 Mar 2015)*
 +
 +- Support for the lens Haskell library up to version 4.7 (issue #1028)
 +- SSH keys are now distributed only to master and master candidates
 +  (issue #377)
 +- Improved performance for operations that frequently read the
 +  cluster configuration
 +- Improved robustness of spawning job processes that occasionally caused
 +  newly-started jobs to timeout
 +- Fixed race condition during cluster verify which occasionally caused
 +  it to fail
 +
 +Inherited from the 2.11 branch:
 +
 +- Fix failing automatic glusterfs mounts (issue #984)
 +- Fix watcher failing to read its status file after an upgrade
 +  (issue #1022)
 +- Improve Xen instance state handling, in particular of somewhat exotic
 +  transitional states
 +
 +Inherited from the 2.10 branch:
 +
 +- Fix failing to change a diskless drbd instance to plain
 +  (issue #1036)
 +- Fixed issues with auto-upgrades from pre-2.6
 +  (hv_state_static and disk_state_static)
 +- Fix memory leak in the monitoring daemon
 +
 +Inherited from the 2.9 branch:
 +
 +- Fix file descriptor leak in Confd client
 +
 +Known issues
 +~~~~~~~~~~~~
 +
 +- GHC 7.8 introduced some incompatible changes, so currently Ganeti
 +  2.12. doesn't compile on GHC 7.8
 +- Under certain conditions instance doesn't get unpaused after live
 +  migration (issue #1050)
 +- GlusterFS support breaks at upgrade to 2.12 - switches back to
 +  shared-file (issue #1030)
 +
 +
 +Version 2.12.1
 +--------------
 +
 +*(Released Wed, 14 Jan 2015)*
 +
 +- Fix users under which the wconfd and metad daemons run (issue #976)
 +- Clean up stale livelock files (issue #865)
 +- Fix setting up the metadata daemon's network interface for Xen
 +- Make watcher identify itself on disk activation
 +- Add "ignore-ipolicy" option to gnt-instance grow-disk
 +- Check disk size ipolicy during "gnt-instance grow-disk" (issue #995)
 +
 +Inherited from the 2.11 branch:
 +
 +- Fix counting votes when doing master failover (issue #962)
 +- Fix broken haskell dependencies (issues #758 and #912)
 +- Check if IPv6 is used directly when running SSH (issue #892)
 +
 +Inherited from the 2.10 branch:
 +
 +- Fix typo in gnt_cluster output (issue #1015)
 +- Use the Python path detected at configure time in the top-level Python
 +  scripts.
 +- Fix check for sphinx-build from python2-sphinx
 +- Properly check if an instance exists in 'gnt-instance console'
 +
 +
 +Version 2.12.0
 +--------------
 +
 +*(Released Fri, 10 Oct 2014)*
 +
 +Incompatible/important changes
 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 +
 +- Ganeti is now distributed under the 2-clause BSD license.
 +  See the COPYING file.
 +- Do not use debug mode in production. Certain daemons will issue warnings
 +  when launched in debug mode. Some debug logging violates some of the new
 +  invariants in the system (see "New features"). The logging has been kept as
 +  it aids diagnostics and development.
 +
 +New features
 +~~~~~~~~~~~~
 +
 +- OS install script parameters now come in public, private and secret
 +  varieties:
 +
 +  - Public parameters are like all other parameters in Ganeti.
 +  - Ganeti will not log private and secret parameters, *unless* it is running
 +    in debug mode.
 +  - Ganeti will not save secret parameters to configuration. Secret parameters
 +    must be supplied every time you install, or reinstall, an instance.
 +  - Attempting to override public parameters with private or secret parameters
 +    results in an error. Similarly, you may not use secret parameters to
 +    override private parameters.
 +
 +- The move-instance tool can now attempt to allocate an instance by using
 +  opportunistic locking when an iallocator is used.
 +- The build system creates sample systemd unit files, available under
 +  doc/examples/systemd. These unit files allow systemd to natively
 +  manage and supervise all Ganeti processes.
 +- Different types of compression can be applied during instance moves, including
 +  user-specified ones.
 +- Ganeti jobs now run as separate processes. The jobs are coordinated by
 +  a new daemon "WConfd" that manages cluster's configuration and locks
 +  for individual jobs. A consequence is that more jobs can run in parallel;
 +  the number is run-time configurable, see "New features" entry
 +  of 2.11.0. To avoid luxid being overloaded with tracking running jobs, it
 +  backs of and only occasionally, in a sequential way, checks if jobs have
 +  finished and schedules new ones. In this way, luxid keeps responsive under
 +  high cluster load. The limit as when to start backing of is also run-time
 +  configurable.
 +- The metadata daemon is now optionally available, as part of the
 +  partial implementation of the OS-installs design. It allows pass
 +  information to OS install scripts or to instances.
 +  It is also possible to run Ganeti without the daemon, if desired.
 +- Detection of user shutdown of instances has been implemented for Xen
 +  as well.
 +
 +New dependencies
 +~~~~~~~~~~~~~~~~
 +
 +- The KVM CPU pinning no longer uses the affinity python package, but psutil
 +  instead. The package is still optional and needed only if the feature is to
 +  be used.
 +
 +Incomplete features
 +~~~~~~~~~~~~~~~~~~~
 +
 +The following issues are related to features which are not completely
 +implemented in 2.12:
 +
 +- Issue 885: Network hotplugging on KVM sometimes makes an instance
 +  unresponsive
 +- Issues 708 and 602: The secret parameters are currently still written
 +  to disk in the job queue.
 +- Setting up the metadata network interface under Xen isn't fully
 +  implemented yet.
 +
 +Known issues
 +~~~~~~~~~~~~
 +
 +- *Wrong UDP checksums in DHCP network packets:*
 +  If an instance communicates with the metadata daemon and uses DHCP to
 +  obtain its IP address on the provided virtual network interface,
 +  it can happen that UDP packets have a wrong checksum, due to
 +  a bug in virtio. See for example https://bugs.launchpad.net/bugs/930962
 +
 +  Ganeti works around this bug by disabling the UDP checksums on the way
 +  from a host to instances (only on the special metadata communication
 +  network interface) using the ethtool command. Therefore if using
 +  the metadata daemon the host nodes should have this tool available.
 +- The metadata daemon is run as root in the split-user mode, to be able
 +  to bind to port 80.
 +  This should be improved in future versions, see issue #949.
 +
 +Since 2.12.0 rc2
 +~~~~~~~~~~~~~~~~
 +
 +The following issues have been fixed:
 +
 +- Fixed passing additional parameters to RecreateInstanceDisks over
 +  RAPI.
 +- Fixed the permissions of WConfd when running in the split-user mode.
 +  As WConfd takes over the previous master daemon to manage the
 +  configuration, it currently runs under the masterd user.
 +- Fixed the permissions of the metadata daemon  wn running in the
 +  split-user mode (see Known issues).
 +- Watcher now properly adds a reason trail entry when initiating disk
 +  checks.
 +- Fixed removing KVM parameters introduced in 2.12 when downgrading a
 +  cluster to 2.11: "migration_caps", "disk_aio" and "virtio_net_queues".
 +- Improved retrying of RPC calls that fail due to network errors.
 +
 +
 +Version 2.12.0 rc2
 +------------------
 +
 +*(Released Mon, 22 Sep 2014)*
 +
 +This was the second release candidate of the 2.12 series.
 +All important changes are listed in the latest 2.12 entry.
 +
 +Since 2.12.0 rc1
 +~~~~~~~~~~~~~~~~
 +
 +The following issues have been fixed:
 +
 +- Watcher now checks if WConfd is running and functional.
 +- Watcher now properly adds reason trail entries.
 +- Fixed NIC options in Xen's config files.
 +
 +Inherited from the 2.10 branch:
 +
 +- Fixed handling of the --online option
 +- Add warning against hvparam changes with live migrations, which might
 +  lead to dangerous situations for instances.
 +- Only the LVs in the configured VG are checked during cluster verify.
 +
 +
 +Version 2.12.0 rc1
 +------------------
 +
 +*(Released Wed, 20 Aug 2014)*
 +
 +This was the first release candidate of the 2.12 series.
 +All important changes are listed in the latest 2.12 entry.
 +
 +Since 2.12.0 beta1
 +~~~~~~~~~~~~~~~~~~
 +
 +The following issues have been fixed:
 +
 +- Issue 881: Handle communication errors in mcpu
 +- Issue 883: WConfd leaks memory for some long operations
 +- Issue 884: Under heavy load the IAllocator fails with a "missing
 +  instance" error
 +
 +Inherited from the 2.10 branch:
 +
 +- Improve the recognition of Xen domU states
 +- Automatic upgrades:
 +  - Create the config backup archive in a safe way
 +  - On upgrades, check for upgrades to resume first
 +  - Pause watcher during upgrade
 +- Allow instance disks to be added with --no-wait-for-sync
 +
 +
 +Version 2.12.0 beta1
 +--------------------
 +
 +*(Released Mon, 21 Jul 2014)*
 +
 +This was the first beta release of the 2.12 series. All important changes
 +are listed in the latest 2.12 entry.
 +
 +
+ Version 2.11.8
+ --------------
+ *(Released Mon, 14 Dec 2015)*
+ Important changes and security notes
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Security release.
+ CVE-2015-7944
+ Ganeti provides a RESTful control interface called the RAPI. Its HTTPS
+ implementation is vulnerable to DoS attacks via client-initiated SSL
+ parameter renegotiation. While the interface is not meant to be exposed
+ publicly, due to the fact that it binds to all interfaces, we believe
+ some users might be exposing it unintentionally and are vulnerable. A
+ DoS attack can consume resources meant for Ganeti daemons and instances
+ running on the master node, making both perform badly.
+ Fixes are not feasible due to the OpenSSL Python library not exposing
+ functionality needed to disable client-side renegotiation. Instead, we
+ offer instructions on how to control RAPI's exposure, along with info
+ on how RAPI can be setup alongside an HTTPS proxy in case users still
+ want or need to expose the RAPI interface. The instructions are
+ outlined in Ganeti's security document: doc/html/security.html
+ CVE-2015-7945
+ Ganeti leaks the DRBD secret through the RAPI interface. Examining job
+ results after an instance information job reveals the secret. With the
+ DRBD secret, access to the local cluster network, and ARP poisoning,
+ an attacker can impersonate a Ganeti node and clone the disks of a
+ DRBD-based instance. While an attacker with access to the cluster
+ network is already capable of accessing any data written as DRBD
+ traffic is unencrypted, having the secret expedites the process and
+ allows access to the entire disk.
+ Fixes contained in this release prevent the secret from being exposed
+ via the RAPI. The DRBD secret can be changed by converting an instance
+ to plain and back to DRBD, generating a new secret, but redundancy will
+ be lost until the process completes.
+ Since attackers with node access are capable of accessing some and
+ potentially all data even without the secret, we do not recommend that
+ the secret be changed for existing instances.
+ Minor changes
+ ~~~~~~~~~~~~~
+ - Make htools tolerate missing "dtotal" and "dfree" on luxi
+ - Fix default for --default-iallocator-params
+ - At IAlloc backend guess state from admin state
+ - replace-disks: fix --ignore-ipolicy
+ - Fix instance multi allocation for non-DRBD disks
+ - Trigger renew-crypto on downgrade to 2.11
+ - Downgrade log-message for rereading job
+ - Downgrade log-level for successful requests
+ - Check for gnt-cluster before running gnt-cluster upgrade
  Version 2.11.7
  --------------
  
Simple merge