We are stoked to announce the release of: swift 2.21.1: OpenStack Object Storage This release is part of the stein stable release series. The source is available from: https://opendev.org/openstack/swift Download the package from: https://tarballs.openstack.org/null/ Please report issues through: https://bugs.launchpad.net/swift/+bugs For more details, please see below. 2.21.1 ^^^^^^ Bug Fixes * Sharding improvements * The "container-replicator" now only attempts to fetch shard ranges if the remote indicates that it has shard ranges. Further, it does so with a timeout to prevent the process from hanging in certain cases. * The "container-replicator" now correctly enqueues "container- reconciler" work for sharded containers. * Container metadata related to sharding are now removed when no longer needed. * S3 API improvements * Unsigned payloads work with v4 signatures once more. * Multipart upload parts may now be copied from other multipart uploads. * CompleteMultipartUpload requests with a "Content-MD5" now work. * "Content-Type" can now be updated when copying an object. * Fixed v1 listings that end with a non-ASCII object name. * Background corruption-detection improvements * Detect and remove invalid entries from "hashes.pkl" * When object path is not a directory, just quarantine it, rather than the whole suffix. * Static Large Object sizes in listings for versioned containers are now more accurate. * When refetching Static Large Object manifests, non-manifest responses are now handled better. * Cross-account symlinks now store correct account information in container listings. This was previously fixed in 2.22.0. * Requesting multiple ranges from a Dynamic Large Object now returns the entire object instead of incorrect data. This was previously fixed in 2.23.0. * When making backend requests, the "proxy-server" now ensures query parameters are always properly quoted. Previously, the proxy would encounter an error on Python 2.7.17 if the client included non-ASCII query parameters in object requests. This was previously fixed in 2.23.0. Changes in swift 2.21.0..2.21.1 ------------------------------- 522823548 Authors/changelog for 2.21.1 56ae0c7de Fix stable gate d91971929 S3Api: handle non-ASCII markers in v1 listings. 40f911467 Set Content-Type with s3api metadata updates. 5e838c4f7 s3api: Fix ETag when copying a MU part from another MU 01c48bc6c Fix incorrect setting of symlink_target_account 60bcf8f54 Fix invalid assert states 657ee1092 sharding: better handle get_shard_ranges failures f353b78b9 slo: Better handle non-manifest responses when refetching manifest b3cc7417e dlo: Respond 200 on multi-range GETs a556c2b5f versioned_writes: checks for SLO object before copy 6e9e922cd Sharding: Clean up old CleaveConext's during audit 615eb5dd9 doc: Fix the swift middleware doc needs more info to set s3 api 9cc6d4138 bufferedhttp: ensure query params are properly quoted 2b4d58952 py2/3: Stop using stdlib's putrequest(); it only does ASCII 155e60fcf Fixing broken links 3996032a7 s3api: Block ETag header from CompleteMultipartUpload requests 6ed165cf3 s3api: Allow clients to upload with UNSIGNED-PAYLOAD 43046cdd4 Fix quarantine when object path is not a directory 46da6c1c0 Remove invalid dict entries from hashes.pkl 74368ee70 reconciler: Enqueue right work for shard containers 4a7104b0c container-replicator: Add a timeout for get_shard_ranges 0dabd1883 Imported Translations from Zanata 5ba975cf6 Modifying URL errors in installation deployment documents 0ed04cf44 OpenDev Migration Patch 48bb9e91e Update UPPER_CONSTRAINTS_FILE for stable/stein 7702df8ca Update .gitreview for stable/stein Diffstat (except docs and test files) ------------------------------------- .gitreview | 3 +- .zuul.yaml | 63 +- AUTHORS | 5 + CHANGELOG | 53 + .../finalize-installation-ubuntu-debian.rst | 2 +- .../install/storage-install-ubuntu-debian.rst | 6 +- .../notes/2_21_1_release-17495ac2786ba682.yaml | 59 + .../locale/en_GB/LC_MESSAGES/releasenotes.po | 1447 -------------------- .../source/locale/ja/LC_MESSAGES/releasenotes.po | 1351 ------------------ .../locale/ko_KR/LC_MESSAGES/releasenotes.po | 75 - swift/common/bufferedhttp.py | 11 +- swift/common/db_replicator.py | 2 +- swift/common/middleware/dlo.py | 2 + .../common/middleware/s3api/controllers/bucket.py | 6 +- .../middleware/s3api/controllers/multi_upload.py | 20 +- swift/common/middleware/s3api/s3api.py | 83 +- swift/common/middleware/s3api/s3request.py | 32 +- swift/common/middleware/s3api/s3response.py | 2 +- .../middleware/s3api/schema/list_bucket_result.rng | 4 +- swift/common/middleware/slo.py | 43 +- swift/common/middleware/symlink.py | 2 +- swift/common/middleware/versioned_writes.py | 7 +- swift/container/backend.py | 26 +- swift/container/reconciler.py | 4 +- swift/container/replicator.py | 7 +- swift/container/sharder.py | 38 + swift/locale/de/LC_MESSAGES/swift.po | 276 +++- swift/locale/en_GB/LC_MESSAGES/swift.po | 84 +- swift/locale/es/LC_MESSAGES/swift.po | 77 +- swift/locale/fr/LC_MESSAGES/swift.po | 75 +- swift/locale/it/LC_MESSAGES/swift.po | 77 +- swift/locale/ja/LC_MESSAGES/swift.po | 77 +- swift/locale/ko_KR/LC_MESSAGES/swift.po | 71 +- swift/locale/pt_BR/LC_MESSAGES/swift.po | 72 +- swift/locale/ru/LC_MESSAGES/swift.po | 74 +- swift/locale/tr_TR/LC_MESSAGES/swift.po | 71 +- swift/locale/zh_CN/LC_MESSAGES/swift.po | 71 +- swift/locale/zh_TW/LC_MESSAGES/swift.po | 71 +- swift/obj/diskfile.py | 24 +- test/functional/s3api/test_multi_upload.py | 95 +- test/functional/swift_test_client.py | 87 ++ test/functional/test_dlo.py | 9 + test/functional/test_versioned_writes.py | 41 + test/probe/test_sharder.py | 46 + test/unit/common/middleware/s3api/helpers.py | 3 + test/unit/common/middleware/s3api/test_bucket.py | 44 +- .../common/middleware/s3api/test_multi_upload.py | 14 +- test/unit/common/middleware/s3api/test_obj.py | 34 +- test/unit/common/middleware/test_dlo.py | 6 +- test/unit/common/middleware/test_slo.py | 158 +++ test/unit/common/test_bufferedhttp.py | 5 +- test/unit/container/test_replicator.py | 195 ++- test/unit/container/test_sharder.py | 136 +- test/unit/container/test_sync.py | 12 +- test/unit/obj/test_diskfile.py | 9 +- test/unit/obj/test_replicator.py | 2 +- tox.ini | 7 +- 68 files changed, 1484 insertions(+), 3916 deletions(-)
participants (1)
-
no-reply@openstack.org