We are overjoyed to announce the release of: swift 2.23.3: OpenStack Object Storage This release is part of the train stable release series. The source is available from: https://opendev.org/openstack/swift Download the package from: https://tarballs.openstack.org/swift/ Please report issues through: https://bugs.launchpad.net/swift/+bugs For more details, please see below. 2.23.3 ^^^^^^ Bug Fixes * Sharding improvements: * Prevent object updates from auto-creating shard containers. This ensures more consistent listings for sharded containers during rebalances. * Deleted shard containers are no longer considered root containers. This prevents unnecessary sharding audit failures and allows the deleted shard database to actually be unlinked. * The sharder daemon has been enhanced to better support the shrinking of shards that are no longer required. Shard containers will now discover from their root container if they should be shrinking. They will also discover the shards into which they should shrink, which may include the root container itself. * Improved performance of sharded container listings when performing prefix listings. * Improved container-sharder stat reporting to reduce load on root container databases. * The container sharder can now handle containers with special characters in their names. * "swift-container-info" now summarizes shard range information. Pass "-v"/"--verbose" if you want to see all of them. * Don't inject shard ranges when user quits. * Various other minor bug fixes and improvements. * Python 3 bug fixes: * Fixed a potential server error when uploading data via a tempurl. * Fixed a potential server error when getting symlink details. * Added the ability to connect to memcached over TLS. See the "tls_*" options in etc/memcache.conf-sample Changes in swift 2.23.2..2.23.3 ------------------------------- 81d845f34 Authors/ChangeLog for 2.23.3 fa6edcc7e symlink: Ensure headers are returned as a list on py3 b2601fe3e tempurl: Fix PUT upload to temp url on py3 96e24bb1d Avoid loops when gathering container listings from shards 80b789226 Populate shrinking shards with shard ranges learnt from root 1f8c16fca Use swiftclient Connections in sharding probe tests 3d8c9e8a3 Refactor audit shard tests 71921f861 container-sharding: Stable overlap order 87c1aa0e0 Address a sharder/replicator race 98da7b093 Identify deleted shards as shards f8f50ca60 swift-container-info: Show shard ranges summary 7ee5fc197 Don't auto-create shard containers 7ed79e3b2 Latch shard-stat reporting 7159cb73d py27: Suppress UnicodeWarnings in ShardRange setters f96f24117 sharding: Add probe test that exercises swift-manage-shard-ranges ac6b89d12 sharding: Don't inject shard ranges when user says quit 086fce5ee sharding: filter shards based on prefix param when listing 4439c0d38 sharding: Better-handle newlines in container names 66b5960ac Give probe tests a second chance to pass 41204a74e Bump up probe test timeout 131093831 Bump up timeouts for DSVM and probe test jobs 0ef0064f0 Bump up ceph tests timeout c1e15d15a Give unit tests a second chance to pass bc03a32e7 s3-tests: Use my s3compat fork instead ab0464a8b s3-tests: Only try to copy outputs when there *are* outputs fc742d602 Prevent upgrading to pip 21+ e828b37ca sharding: Let swift-manage-shard-ranges accept a relative path 2a6ffd33f sharder: quote() more Swift paths when logging c9ca078e7 sharding: Tolerate blank limits when listing 89d22f0c9 Memcached client TLS support d63b7013a [stable-only] Cap bandit to 1.6.2 Diffstat (except docs and test files) ------------------------------------- .gitignore | 1 + .zuul.yaml | 6 +- AUTHORS | 3 + CHANGELOG | 44 ++ bin/swift-container-info | 4 + bin/swift-container-sharder | 4 + etc/memcache.conf-sample | 22 + etc/proxy-server.conf-sample | 4 + .../notes/2_23_3_release-ee6b4fd785ec377e.yaml | 45 ++ swift/cli/info.py | 46 +- swift/cli/manage_shard_ranges.py | 9 +- swift/common/db.py | 14 +- swift/common/memcached.py | 16 +- swift/common/middleware/memcache.py | 16 +- swift/common/middleware/symlink.py | 2 +- swift/common/middleware/tempurl.py | 2 +- swift/common/utils.py | 58 +- swift/common/wsgi.py | 3 +- swift/container/backend.py | 112 ++- swift/container/server.py | 60 +- swift/container/sharder.py | 255 ++++--- swift/obj/server.py | 8 +- swift/obj/updater.py | 1 + swift/proxy/controllers/container.py | 33 +- swift/proxy/controllers/obj.py | 12 +- test-requirements.txt | 2 +- test/probe/test_sharder.py | 361 +++++++++- test/unit/cli/test_info.py | 88 ++- test/unit/cli/test_manage_shard_ranges.py | 21 +- test/unit/common/middleware/test_memcache.py | 21 + test/unit/common/middleware/test_symlink.py | 1 + test/unit/common/middleware/test_tempurl.py | 36 + test/unit/common/test_db.py | 7 +- test/unit/common/test_memcached.py | 14 + test/unit/common/test_utils.py | 37 +- test/unit/container/test_backend.py | 439 +++++++++++- test/unit/container/test_replicator.py | 87 ++- test/unit/container/test_server.py | 110 ++- test/unit/container/test_sharder.py | 797 +++++++++++++++++++-- test/unit/container/test_updater.py | 91 ++- test/unit/obj/test_server.py | 106 ++- test/unit/obj/test_updater.py | 18 +- test/unit/proxy/controllers/test_container.py | 196 ++++- test/unit/proxy/test_server.py | 6 +- tools/playbooks/common/install_dependencies.yaml | 6 +- tox.ini | 14 +- 49 files changed, 2852 insertions(+), 395 deletions(-) Requirements updates -------------------- diff --git a/test-requirements.txt b/test-requirements.txt index ff86a01dd..397e6bb89 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -25 +25 @@ keystonemiddleware>=4.17.0 # Apache-2.0 -bandit>=1.1.0 # Apache-2.0 +bandit>=1.1.0,<=1.6.2 # Apache-2.0
participants (1)
-
no-reply@openstack.org