summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.mailmap2
-rw-r--r--AUTHORS12
-rw-r--r--CHANGELOG111
-rw-r--r--releasenotes/notes/2_15_0_release-0a05a011fb85a9c9.yaml102
4 files changed, 226 insertions, 1 deletions
diff --git a/.mailmap b/.mailmap
index 48d71b7db..6e0c02d52 100644
--- a/.mailmap
+++ b/.mailmap
@@ -94,6 +94,7 @@ Timur Alperovich <timur.alperovich@gmail.com> <timuralp@swiftstack.com>
Mehdi Abaakouk <sileht@redhat.com> <mehdi.abaakouk@enovance.com>
Richard Hawkins <richard.hawkins@rackspace.com> <hurricanerix@gmail.com>
Ondrej Novy <ondrej.novy@firma.seznam.cz>
+Ondrej Novy <ondrej.novy@firma.seznam.cz> <novy@ondrej.org>
Peter Lisak <peter.lisak@firma.seznam.cz>
Ke Liang <ke.liang@easystack.cn>
Daisuke Morita <morita.daisuke@ntti3.com> <morita.daisuke@lab.ntt.co.jp>
@@ -119,3 +120,4 @@ Flavio Percoco <flaper87@gmail.com>
Tin Lam <tinlam@gmail.com> <tl3438@att.com>
Hisashi Osanai <osanai.hisashi@gmail.com> <osanai.hisashi@jp.fujitsu.com>
Bryan Keller <kellerbr@us.ibm.com>
+Doug Hellmann <doug@doughellmann.com> <doug.hellmann@dreamhost.com>
diff --git a/AUTHORS b/AUTHORS
index ae362136a..06b5985e8 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -52,6 +52,7 @@ Atsushi Sakai (sakaia@jp.fujitsu.com)
Azhagu Selvan SP (tamizhgeek@gmail.com)
Ben Keller (bjkeller@us.ibm.com)
Ben Martin (blmartin@us.ibm.com)
+bhavani.cr (bhavani.r@nectechnologies.in)
Bill Huber (wbhuber@us.ibm.com)
Bob Ball (bob.ball@citrix.com)
Brent Roskos (broskos@internap.com)
@@ -116,7 +117,7 @@ Dmitry Ukov (dukov@mirantis.com)
Dolph Mathews (dolph.mathews@gmail.com)
Donagh McCabe (donagh.mccabe@gmail.com)
Doron Chen (cdoron@il.ibm.com)
-Doug Hellmann (doug.hellmann@dreamhost.com)
+Doug Hellmann (doug@doughellmann.com)
Doug Weimer (dweimer@gmail.com)
Dragos Manolescu (dragosm@hp.com)
Drew Balfour (andrew.balfour@oracle.com)
@@ -178,6 +179,7 @@ Jason Johnson (jajohnson@softlayer.com)
Jay S. Bryant (jsbryant@us.ibm.com)
Jeremy Stanley (fungi@yuggoth.org)
Jesse Andrews (anotherjesse@gmail.com)
+Ji-Wei (ji.wei3@zte.com.cn)
Jian Zhang (jian.zhang@intel.com)
Jiangmiao Gao (tolbkni@gmail.com)
Jing Liuqing (jing.liuqing@99cloud.net)
@@ -192,6 +194,7 @@ Jonathan Hinson (jlhinson@us.ibm.com)
Josh Kearney (josh@jk0.org)
Juan J. Martinez (juan@memset.com)
Julien Danjou (julien@danjou.info)
+junboli (junbo85.li@gmail.com)
Kai Zhang (zakir.exe@gmail.com)
Kapil Thangavelu (kapil.foss@gmail.com)
karen chan (karen@karen-chan.com)
@@ -211,8 +214,11 @@ Li Riqiang (lrqrun@gmail.com)
Liang Jingtao (liang.jingtao@zte.com.cn)
lijunbo (lijunbo@fiberhome.com)
Lin Yang (lin.a.yang@intel.com)
+Lingxian Kong (anlin.kong@gmail.com)
+lingyongxu (lyxu@fiberhome.com)
Liu Siqi (meizu647@gmail.com)
liujiong (liujiong@gohighsec.com)
+liuyamin (liuyamin@fiberhome.com)
Lokesh S (lokesh.s@hp.com)
Lorcan Browne (lorcan.browne@hpe.com)
Luis de Bethencourt (luis@debethencourt.com)
@@ -252,6 +258,7 @@ Nandini Tata (nandini.tata@intel.com)
Nathan Kinder (nkinder@redhat.com)
Nelson Almeida (nelsonmarcos@gmail.com)
Newptone (xingchao@unitedstack.com)
+Ngo Quoc Cuong (cuongnq@vn.fujitsu.com)
Nguyen Hung Phuong (phuongnh@vn.fujitsu.com)
Nguyen Phuong An (AnNP@vn.fujitsu.com)
Nicolas Helgeson (nh202b@att.com)
@@ -328,13 +335,16 @@ tone-zhang (tone.zhang@linaro.org)
Tong Li (litong01@us.ibm.com)
Travis McPeak (tmcpeak@us.ibm.com)
Tushar Gohad (tushar.gohad@intel.com)
+Van Hung Pham (hungpv@vn.fujitsu.com)
venkatamahesh (venkatamaheshkotha@gmail.com)
Venkateswarlu Pallamala (p.venkatesh551@gmail.com)
Victor Lowther (victor.lowther@gmail.com)
Victor Rodionov (victor.rodionov@nexenta.com)
Victor Stinner (vstinner@redhat.com)
+Viktor Varga (vvarga@inf.u-szeged.hu)
Vincent Untz (vuntz@suse.com)
Vladimir Vechkanov (vvechkanov@mirantis.com)
+Vu Cong Tuan (tuanvc@vn.fujitsu.com)
wanghongtaozz (wanghongtaozz@inspur.com)
Wu Wenxiang (wu.wenxiang@99cloud.net)
XieYingYun (smokony@sina.com)
diff --git a/CHANGELOG b/CHANGELOG
index 2a5a40c8f..0d9f76cbe 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,114 @@
+swift (2.15.0)
+
+ * Add Composite Ring Functionality
+
+ A composite ring comprises two or more component rings that are
+ combined to form a single ring with a replica count equal to the
+ sum of the component rings. The component rings are built
+ independently, using distinct devices in distinct regions, which
+ means that the dispersion of replicas between the components can
+ be guaranteed.
+
+ Composite rings can be used for explicit replica placement and
+ "replicated EC" for global erasure codes policies.
+
+ Composite rings support 'cooperative' rebalance which means that
+ during rebalance all component rings will be consulted before a
+ partition is moved in any component ring. This avoids the same
+ partition being simultaneously moved in multiple components.
+
+ We do not yet have CLI tools for creating composite rings, but
+ the functionality has been enabled in the ring modules to
+ support this advanced functionality. CLI tools will be delivered
+ in a subsequent release.
+
+ For further information see the docs at
+ <https://docs.openstack.org/swift/latest/overview_ring.html#module-swift.common.ring.composite_builder>
+
+ * The EC reconstructor process has been dramatically improved by
+ adding support for multiple concurrent workers. Multiple
+ processes are required to get high concurrency, and this change
+ results in much faster rebalance times on servers with many
+ drives.
+
+ Currently the default is still only one process, and no workers.
+ Set `reconstructor_workers` in the `[object-reconstructor]`
+ section to some whole number <= the number of devices on a node
+ to get that many reconstructor workers.
+
+ * Add support to increase object ring partition power transparently
+ to end users and with no cluster downtime. Increasing the ring
+ part power allows for incremental adjustment to the upper bound
+ of the cluster size. Please review the full docs at
+ <https://docs.openstack.org/swift/latest/ring_partpower.html>.
+
+ * Added support for per-policy proxy config options. This allows
+ per-policy affinity options to be set for use with duplicated EC
+ policies and composite rings. Certain options found in per-policy
+ conf sections will override their equivalents that may be set
+ in the [app:proxy-server] section. Currently the options handled that
+ way are sorting_method, read_affinity, write_affinity,
+ write_affinity_node_count, and write_affinity_handoff_delete_count.
+
+ * Enabled versioned writes on Dynamic Large Objects (DLOs).
+
+ * Write-affinity aware object deletion
+
+ Previously, when deleting objects in multi-region swift
+ deployment with write affinity configured, users always get 404
+ when deleting object before it's replicated to appropriate nodes.
+
+ Now Swift will use `write_affinity_handoff_delete_count` to
+ define how many local handoff nodes should swift send request to
+ get more candidates for the final response. The default value
+ "auto" means Swift will calculate the number automatically based
+ on the number of replicas and current cluster topology.
+
+ * Require that known-bad EC schemes be deprecated
+
+ Erasure-coded storage policies using isa_l_rs_vand and nparity
+ >= 5 must be configured as deprecated, preventing any new
+ containers from being created with such a policy. This
+ configuration is known to harm data durability. Any data in such
+ policies should be migrated to a new policy. See
+ https://bugs.launchpad.net/swift/+bug/1639691 for more
+ information
+
+ * Optimize the Erasure Code reconstructor protocol to reduce IO
+ load on servers.
+
+ * Fixed a bug where SSYNC would fail to replicate unexpired object.
+
+ * Fixed a bug in domain_remap when obj starts/ends with slash.
+
+ * Fixed a socket leak in copy middleware when a large object was copied.
+
+ * Fixed a few areas where the `swiftdir` option was not respected.
+
+ * `swift-recon` now respects storage policy aliases.
+
+ * cname_lookup middleware now accepts a `nameservers` config
+ variable that, if defined, will be used for DNS lookups instead of
+ the system default.
+
+ * Make mount_check option usable in containerized environments by
+ adding a check for an ".ismount" file at the root directory of
+ a device.
+
+ * Remove deprecated `vm_test_mode` option.
+
+ * The object and container server config option `slowdown` has been
+ deprecated in favor of the new `objects_per_second` and
+ `containers_per_second` options.
+
+ * The output of devices from `swift-ring-builder` has been reordered
+ by region, zone, ip, and device.
+
+ * Imported docs content from openstack-manuals project.
+
+ * Various other minor bug fixes and improvements.
+
+
swift (2.14.0)
* Fixed error where a container drive error resulted in double space
diff --git a/releasenotes/notes/2_15_0_release-0a05a011fb85a9c9.yaml b/releasenotes/notes/2_15_0_release-0a05a011fb85a9c9.yaml
new file mode 100644
index 000000000..e0b239ddb
--- /dev/null
+++ b/releasenotes/notes/2_15_0_release-0a05a011fb85a9c9.yaml
@@ -0,0 +1,102 @@
+---
+features:
+ - |
+ Add Composite Ring Functionality
+
+ A composite ring comprises two or more component rings that are
+ combined to form a single ring with a replica count equal to the
+ sum of the component rings. The component rings are built
+ independently, using distinct devices in distinct regions, which
+ means that the dispersion of replicas between the components can
+ be guaranteed.
+
+ Composite rings can be used for explicit replica placement and
+ "replicated EC" for global erasure codes policies.
+
+ Composite rings support 'cooperative' rebalance which means that
+ during rebalance all component rings will be consulted before a
+ partition is moved in any component ring. This avoids the same
+ partition being simultaneously moved in multiple components.
+
+ We do not yet have CLI tools for creating composite rings, but
+ the functionality has been enabled in the ring modules to
+ support this advanced functionality. CLI tools will be delivered
+ in a subsequent release.
+
+ For further information see the
+ `docs <https://docs.openstack.org/swift/latest/overview_ring.html#module-swift.common.ring.composite_builder>`__
+ - |
+ The EC reconstructor process has been dramatically improved by
+ adding support for multiple concurrent workers. Multiple
+ processes are required to get high concurrency, and this change
+ results in much faster rebalance times on servers with many
+ drives.
+
+ Currently the default is still only one process, and no workers.
+ Set ``reconstructor_workers`` in the ``[object-reconstructor]``
+ section to some whole number <= the number of devices on a node
+ to get that many reconstructor workers.
+ - |
+ Add support to increase object ring partition power transparently
+ to end users and with no cluster downtime. Increasing the ring
+ part power allows for incremental adjustment to the upper bound
+ of the cluster size. Please review the
+ `full docs <https://docs.openstack.org/swift/latest/ring_partpower.html>`__
+ for more information.
+ - |
+ Added support for per-policy proxy config options. This allows
+ per-policy affinity options to be set for use with duplicated EC
+ policies and composite rings. Certain options found in per-policy
+ conf sections will override their equivalents that may be set
+ in the [app:proxy-server] section. Currently the options handled that
+ way are ``sorting_method``, ``read_affinity``, ``write_affinity``,
+ ``write_affinity_node_count``, and ``write_affinity_handoff_delete_count``.
+ - Enabled versioned writes on Dynamic Large Objects (DLOs).
+ - |
+ Write-affinity aware object deletion
+
+ Previously, when deleting objects in multi-region swift
+ deployment with write affinity configured, users always get 404
+ when deleting object before it's replicated to appropriate nodes.
+
+ Now Swift will use ``write_affinity_handoff_delete_count`` to
+ define how many local handoff nodes should swift send request to
+ get more candidates for the final response. The default value
+ "auto" means Swift will calculate the number automatically based
+ on the number of replicas and current cluster topology.
+ - |
+ Require that known-bad EC schemes be deprecated
+
+ Erasure-coded storage policies using ``isa_l_rs_vand`` and ``nparity``
+ >= 5 must be configured as deprecated, preventing any new
+ containers from being created with such a policy. This
+ configuration is known to harm data durability. Any data in such
+ policies should be migrated to a new policy. See
+ See `Launchpad bug 1639691 <https://bugs.launchpad.net/swift/+bug/1639691>`__
+ for more information.
+ - |
+ Optimize the Erasure Code reconstructor protocol to reduce IO
+ load on servers.
+ - Fixed a bug where SSYNC would fail to replicate unexpired object.
+ - Fixed a bug in domain_remap when obj starts/ends with slash.
+ - Fixed a socket leak in copy middleware when a large object was copied.
+ - Fixed a few areas where the ``swiftdir`` option was not respected.
+ - swift-recon now respects storage policy aliases.
+ - |
+ cname_lookup middleware now accepts a ``nameservers`` config
+ variable that, if defined, will be used for DNS lookups instead of
+ the system default.
+ - |
+ Make mount_check option usable in containerized environments by
+ adding a check for an ".ismount" file at the root directory of
+ a device.
+ - Remove deprecated ``vm_test_mode`` option.
+ - |
+ The object and container server config option ``slowdown`` has been
+ deprecated in favor of the new ``objects_per_second`` and
+ ``containers_per_second`` options.
+ - |
+ The output of devices from ``swift-ring-builder`` has been reordered
+ by region, zone, ip, and device.
+ - Imported docs content from openstack-manuals project.
+ - Various other minor bug fixes and improvements.