[release-announce] [swift] swift 2.14.0 (pike)

no-reply at openstack.org no-reply at openstack.org
Thu Apr 27 11:33:10 UTC 2017


We high-spiritedly announce the release of:

swift 2.14.0: OpenStack Object Storage

This release is part of the pike release series.

Download the package from:

    https://tarballs.openstack.org/swift/

For more details, please see below.

2.14.0
^^^^^^


New Features
************

* EC Fragment Duplication - Foundational Global EC Cluster Support.

* name_check and cname_lookup keys have been added to */info*.

* Add Vary headers for CORS responses.

* Always set Swift processes to use UTC.

* Removed per-device reconstruction stats. Now that the
  reconstructor is shuffling parts before going through them, those
  stats no longer make sense.

* domain_remap now accepts a list of domains in "storage_domain".

* Do not follow CNAME when host is in storage_domain.

* Enable cluster-wide CORS Expose-Headers setting via
  "cors_expose_headers".

* Cache all answers from nameservers in cname_lookup.


Bug Fixes
*********

* Fixed error where a container drive error resulted in double space
  usage on rest drives. When drive with container or account database
  is unmounted, the bug would create handoff replicas on all remaining
  drives, increasing the drive space used and filling the cluster.

* Fixed UnicodeDecodeError in the object reconstructor that would
  prevent objects with non-ascii names from being reconstructed and
  caused the reconstructor process to hang.

* Fixed encoding issue in ssync where a mix of ascii and non-ascii
  metadata values would cause an error.

* Log the correct request type of a subrequest downstream of copy.

* Prevent logged traceback in object-server on client disconnect for
  chunked transfers to replicated policies.

* Fixed a race condition in updating hashes.pkl where a partition
  suffix invalidation may have been skipped.

* Include received fragment index in reconstructor log warnings.

* Log correct status code for conditional requests.


Other Notes
***********

* Drop support for auth-server from common/manager.py and *swift-
  init*.

* Various other minor bug fixes and improvements.

Changes in swift 2.13.0..2.14.0
-------------------------------

29e2edf authors/changelog for 2.14.0
6be5196 Make add_dev complain louder about missing keys
a480f6c Update version from Newton to Ocata
1776e0f Improve test_get_valid_utf8_str coverage
091157f Fix encoding issue in ssync_sender.send_put()
b41f47f Follow up tests for get_hashes regression
702c24d Remove redundant assignments of self._datadir
83750cf Fix UnicodeDecodeError in reconstructor _full_path function
b2a3fab Add license in swift/common/ring
758dad8 Update SUSE distro information in install guide
ba52db8 Update swift version in storage-install-ubuntu.
ab5a699 Update swift version in storage-install-rdo.rst.
feedf50 Update version in finalize-installation-ubuntu
928fc36 Update version in controller-install-rdo
a27b291 Update version in controller-install-ubuntu
e3420e1 Update version in controller-install-debian
7d7cbef Update version in finalize-installation-rdo
6788bf4 Fixed get ring name from recon cli
d633e9d Update reno for stable/ocata
bcd0eb7 Container drive error results double space usage on rest drives
71516ae Optimize the link address
88ebcaf Fix intermittent test_unlink_* failures
cce7192 Clean up some doc formatting
95905b0 Modify _get_hashes() arguments to be more generic
36b1a2f Fix some reST field lists in docstrings
cff7455 Remove unused returned value object_path from yield_hashes()
47ba104 Use swift tempurl instaed of swift-temp-url
a15b2a2 Test that Manager.reload does stop/start in that order
9edf914 Drop support for auth-server from common/manager
21396bc keep consistent naming convention of swift and urls
dfeae59 Factor out a bunch of common testing setup
8fe4bfe TestObjectController refactoring
7d08b07 Clean up unused function
3b83bd4 Remove duplicate code in test_diskfile.py
bd400dd Add extra test for name_check /info
cd39778 add name_check to /info
108501a Log the correct request type of a subrequest downstream of copy
52a23dd Fix race when consolidating new partition
99412d4 fix get ring name
aa9afb5 Test EC chunk_transformer with larger input chunks
56349e0 Include received frag_index in reconstructor log warnings
a2f4046 Small fixes for ec duplication
4f5c03c Fix intermittent EC GET test failure
7dd1985 Update calling super class constructor style in proxy controllers
b958466 More port number cleanup
b1f6de4 Update .mailmap
9afe2ba Add another failing test for 412 logging
4d3aa4e refactor some common code from crypto
5f610c7 Support EC policy for in process functional tests
3cabafa Fix the typo
110d785 Use real mocking in unit tests test_cname_lookup
3c844d0 Replace references to swift.openstack.org
adcb4c2 Document SAIO rsync service setup for ubuntu 16
54fe738 Add assertions to test_reconstructor test_get_response
4187c83 Optimize ec duplication and its md5 hashing
da92fe4 Cache all answers from nameservers in cname_lookup
38b99ad Global EC Under Development Documentation
d621277 Fix cname_lookup/eventlet 0.20+ DNS exceptions
2ca3035 Make Sphinx treat warnings as errors
0e44770 Follow up the reconstructor test coverage
54347f9 Cleanup reconstructor tests
740d683 Fix port ranges in install guide
f995472 Remove unused variable
4f89861 fix bindep file to enable func test in centos
96f8b95 Increase test coverage for reconstructor
f3ef616 Stop using client headers for cross-middleware communication
e4972f5 Fixups for EC frag duplication tests
9b47de3 Enable cluster-wide CORS Expose-Headers setting
2e199be Probe tests fail, as requests checks for strings.
5cc303e Modify the spelling mistakes
5f11163 Expand SLO manifest documentation.
9a17e61 Do not follow CNAME when host is in storage_domain
4ccf75f Log correct status code for conditional requests
40ba7f6 EC Fragment Duplication - Foundational Global EC Cluster Support
9a36a35 We don't "yield" in collect_parts anymore
9be1d8b Fix tox -e docs sphinx errors
8973ceb Remove per-device reconstruction stats
e6245d1 Register cname_lookup on /info
5c93d6f Accept storage_domain as a list in domain_remap
600db48 Follow up on reconstructor handoffs_only
08ac32e Prevent traceback in object-server on client disconnect
fb3d01a Fixed indentation in common/ and obj/
5cd3095 Give spawn a cycle
523bc0a Always set swift processes to use UTC
3e46079 Add Vary: headers for CORS responses


Diffstat (except docs and test files)
-------------------------------------

.mailmap                                           |    4 +-
AUTHORS                                            |   10 +-
CHANGELOG                                          |   71 +-
README.rst                                         |    4 +-
.../samples/endpoints-list-response-headers.json   |   14 +-
.../source/samples/endpoints-list-response.json    |    6 +-
api-ref/source/storage-object-services.inc         |    5 +
bin/swift-get-nodes                                |    2 +-
bindep.txt                                         |    2 +-
etc/proxy-server.conf-sample                       |   14 +-
etc/swift.conf-sample                              |    6 +-
install-guide/source/controller-install-debian.rst |    2 +-
install-guide/source/controller-install-obs.rst    |    4 +-
install-guide/source/controller-install-rdo.rst    |    2 +-
install-guide/source/controller-install-ubuntu.rst |    2 +-
install-guide/source/finalize-installation-obs.rst |    4 +-
install-guide/source/finalize-installation-rdo.rst |    2 +-
.../source/finalize-installation-ubuntu-debian.rst |    2 +-
install-guide/source/initial-rings.rst             |   84 +-
install-guide/source/storage-include1.txt          |    2 +-
install-guide/source/storage-include2.txt          |    2 +-
install-guide/source/storage-include3.txt          |    2 +-
install-guide/source/storage-install-obs.rst       |    4 +-
install-guide/source/storage-install-rdo.rst       |    6 +-
.../source/storage-install-ubuntu-debian.rst       |    6 +-
.../notes/2_14_0_release-7c3ef515ebded888.yaml     |   41 +
releasenotes/source/index.rst                      |    2 +
releasenotes/source/ocata.rst                      |    6 +
setup.cfg                                          |    1 +
swift/cli/info.py                                  |    2 +-
swift/cli/recon.py                                 |    2 +-
swift/common/daemon.py                             |    7 +-
swift/common/db_replicator.py                      |   10 +-
swift/common/manager.py                            |    3 +-
swift/common/middleware/cname_lookup.py            |   23 +-
swift/common/middleware/copy.py                    |   14 +-
swift/common/middleware/crypto/crypto_utils.py     |   18 +-
swift/common/middleware/crypto/decrypter.py        |    6 -
swift/common/middleware/domain_remap.py            |   15 +-
swift/common/middleware/keystoneauth.py            |    2 +-
swift/common/middleware/name_check.py              |   20 +-
swift/common/middleware/slo.py                     |   16 +-
swift/common/middleware/staticweb.py               |    2 +-
swift/common/middleware/tempauth.py                |   19 +-
swift/common/ring/__init__.py                      |   16 +
swift/common/ring/builder.py                       |   11 +-
swift/common/storage_policy.py                     |   57 +-
swift/common/utils.py                              |   19 +-
swift/common/wsgi.py                               |   16 +-
swift/obj/diskfile.py                              |  100 +-
swift/obj/mem_diskfile.py                          |    2 +-
swift/obj/reconstructor.py                         |  251 +-
swift/obj/replicator.py                            |    8 +-
swift/obj/server.py                                |    6 +-
swift/obj/ssync_sender.py                          |    6 +-
swift/proxy/controllers/account.py                 |    2 +-
swift/proxy/controllers/base.py                    |   32 +-
swift/proxy/controllers/container.py               |    2 +-
swift/proxy/controllers/info.py                    |    2 +-
swift/proxy/controllers/obj.py                     |   96 +-
swift/proxy/server.py                              |    4 +
test-requirements.txt                              |    2 +-
test/functional/__init__.py                        |   80 +-
test/functional/test_versioned_writes.py           |  162 +-
test/probe/test_object_expirer.py                  |    4 +-
test/probe/test_reconstructor_rebuild.py           |   29 +-
test/probe/test_replication_servers_working.py     |    4 +-
test/unit/__init__.py                              |  171 +-
test/unit/cli/test_recon.py                        |   20 +
.../common/middleware/crypto/test_crypto_utils.py  |    5 +
test/unit/common/middleware/test_cname_lookup.py   |  183 +-
test/unit/common/middleware/test_copy.py           |   24 +-
test/unit/common/middleware/test_domain_remap.py   |   39 +
test/unit/common/middleware/test_name_check.py     |   34 +
.../common/middleware/test_subrequest_logging.py   |  175 +
test/unit/common/middleware/test_tempauth.py       |   21 +-
test/unit/common/ring/test_builder.py              |    7 +
test/unit/common/test_daemon.py                    |   31 +-
test/unit/common/test_db_replicator.py             |   44 +
test/unit/common/test_manager.py                   |   63 +-
test/unit/common/test_storage_policy.py            |   84 +-
test/unit/common/test_utils.py                     |   82 +-
test/unit/common/test_wsgi.py                      |   28 +-
test/unit/helpers.py                               |   54 +-
test/unit/obj/test_diskfile.py                     |  267 +-
test/unit/obj/test_reconstructor.py                |  968 ++-
test/unit/obj/test_replicator.py                   |    7 +-
test/unit/obj/test_server.py                       |   49 +-
test/unit/obj/test_ssync_sender.py                 |   76 +-
test/unit/proxy/controllers/test_obj.py            |  946 ++-
test/unit/proxy/test_mem_server.py                 |    5 +-
test/unit/proxy/test_server.py                     | 6886 ++++++++++----------
tox.ini                                            |    5 +
144 files changed, 7431 insertions(+), 4616 deletions(-)


Requirements updates
--------------------

diff --git a/test-requirements.txt b/test-requirements.txt
index 04ea66b..5b944ec 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -13 +13 @@ oslosphinx>=4.7.0 # Apache-2.0
-sphinx!=1.3b1,<1.4,>=1.2.1 # BSD
+sphinx>=1.5.1  # BSD





More information about the Release-announce mailing list