From dfd0ea20a156895bb91582fb861ebd430afc0054 Mon Sep 17 00:00:00 2001 From: John Dickinson Date: Thu, 20 Jul 2017 15:43:51 -0700 Subject: [PATCH] 2.15.0 authors and changelog update Change-Id: I8ee9d657ebc030b9335cb53a51951c118539cb91 --- .mailmap | 2 + AUTHORS | 12 +- CHANGELOG | 111 ++++++++++++++++++ .../2_15_0_release-0a05a011fb85a9c9.yaml | 102 ++++++++++++++++ 4 files changed, 226 insertions(+), 1 deletion(-) create mode 100644 releasenotes/notes/2_15_0_release-0a05a011fb85a9c9.yaml diff --git a/.mailmap b/.mailmap index 48d71b7dbe..6e0c02d522 100644 --- a/.mailmap +++ b/.mailmap @@ -94,6 +94,7 @@ Timur Alperovich Mehdi Abaakouk Richard Hawkins Ondrej Novy +Ondrej Novy Peter Lisak Ke Liang Daisuke Morita @@ -119,3 +120,4 @@ Flavio Percoco Tin Lam Hisashi Osanai Bryan Keller +Doug Hellmann diff --git a/AUTHORS b/AUTHORS index ae362136a2..06b5985e80 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 2a5a40c8fd..0d9f76cbee 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 + + + * 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 + . + + * 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 0000000000..e0b239ddbc --- /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 `__ + - | + 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 `__ + 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 `__ + 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.