We are overjoyed to announce the release of: swift 2.8.0: OpenStack Object Storage This release is part of the newton release series. For more details, please see below. Changes in swift 2.7.0..2.8.0 ----------------------------- 88dbbe8 AUTHORS/CHANGELOG updates for 2.8.0 release e9c9e18 Imported Translations from Zanata 886fa08 update pyeclib and liberasurecode links 6f78646 Add content-disposition header to tempurl request 6b0e9a3 Remove unused (but defaulted) args e56a1a5 pids in probe is no longer used 99186ad Imported Translations from Zanata daae74c Adding sorting_method to admin_guide 4f053c6 Fix swift-dispersion in multi-region setups 86e9e82 add explicit HA info to the deployment guide a54095e swift-ring-builder --yes option 5fe392b Fixed typo a821dd4 Don't include holes when reporting how many devices a ring has b52eccb Clarify overload best practices in admin guide f1fd507 Add dispersion --verbose example to admin guide b3ab715 Add ring-builder dispersion command to admin guide fb7a8e9 Add links to mitaka install guides e09c4ee Allow concurrent bulk deletes 226557a Turn on H703, so our translators don't punch us 7b70692 Fix setup of manifest responses in SLO tests d0ec1ad Make SLO manifest copies retain correct content-type 1b7001a Improve linting for third-party middleware 14eb180 Fix probe failure and small things 9ae3ee5 Fix locale directory in MANIFEST.in 876df35 disable_fallocate also disables fallocate_reserve c1b1a5a Send correct size in POST async update for EC object 2744492 Use the same key for memcache and env['swift.infocache'] 4248123 Remove the invalid project link 1adc604 Bypass Account Mgmt Functional Cases When Disabled 1c88d2c Fix up get_account_info and get_container_info ce90a1e Make info caching work across subrequests 30e39cc Skip SLO-reconciling probe test when SLO is off 721c788 Import BrainSpliter directly in expirer probe eda1b33 fix docs word usage for large obj copy 6834547 Clean up fallocate tests a little b430c38 Put back missing sysmeta unit tests ce022f4 README: fix broken link 9729bc8 Don't delete misplaced dbs if not replicated 92274d4 List system dependencies for running common tests ad16e2c Stop complaining about auditor_status files 46d61a4 Refactor server side copy as middleware cb8cda6 resurrect gholt blog posts on building consistent hashing ring ba1a568 Rename hash_cleanup_listdir tests 6827aff Rework the contributor docs deaef2f Remove unneeded setting of SO_REUSEADDR. b3dd6a5 Improves log message in swift.obj.replicator 99305b9 Fix probe tests from commit cf48e75 cf48e75 change default ports for servers 4c11833 Remove ThreadPool class 33fdd0a SwiftLogFormatter will log transaction IDs on INFO level c6ac69c [Trivial] Remove unnecessary executable privilege 96c1838 Update mailmap, resolve identity crisis a67d919 Fix minor typos in review guidelines 9d6a055 Remove threads_per_disk setting a1ed76f Fix doc build if git is absent 00dd89f adding review guidelines 29544a9 Use smaller quorum size in proxy for even numbers of replicas 5e420ef Fix versioned_writes functional test skipping 1a18079 Change pids' type to set 0da9da5 Allow fallocate_reserve to be a percentage 7d7eaab Imported Translations from Zanata ca304cd Ignore negative suffix-byte-range requests. b122225 Tighten up ResumingGetter.fast_forward 3bc33e5 Fix download resumption after getting no data. 746d928 Adds eventlet monkey patching of select module if thread is pathed c96d5c6 Per container stat. report be84b03 Removing unused clause fb3692c Don't include conditional headers in SLO HEAD requests 91f9803 fix fallocate_reserve traceback 0e7fca5 Convert README.md to README.rst 22933f5 Fix bug expirer unexpectedly deletes object created after x-delete-at b13a853 decouple versioned writes from COPY 33f06dc Fixed Sphinx errors a829bd5 Convert CONTRIBUTING.md to CONTRIBUTING.rst a057c40 Imported Translations from Zanata d09ef0d Assert that ChunkWriteTimouts are not raised 7c0f58e Imported Translations from Zanata edc413b Fix typos in Swift files 95efd3f Fix infinite recursion during logging when syslog is down 0bf518e remove unused current_status method 5d56f40 Make DirectClientException report correct ip and port e15bcea Refactor CORS unit tests 950b601 Modified REPLICATE request to use replication_ip a460e5a added javaswift to associated projects 4e412e0 Fix strings with positional arguments ee6af69 [docs] Update Administrator Guide URL ebf0b22 Fix upgrade bug in versioned_writes 59bbe27 Fix typos in Swift files 7be55ac Simplify policy-name validation slightly 5902015 Imported Translations from Zanata 7402d7d Shutdown backend EC connection contexts on disconnect 2f7d0f4 Removing some redundant words 925546a Imported Translations from Zanata e97c4f7 swift-[account|container]-info when disk is full 03bf984 Add Expires header for successful GETs using tempurls 3407d73 Handle tempurl Content-Disposition header missing from HEAD 51bea39 Ignore files in the devices directory when auditing objects f87a548 Make rsync ignore it's own temporary files 1cef9f0 Fix py34 error of indexing 'dict_keys' object fa0c5f2 Additionally break container servers during fast-post probes 9368815 Reclaim isolated .meta files 6b4e73b Fix account-reaper unable to delete all containers. fe70898 Require account/container metadata be UTF-8 0628f12 Add unit tests for swift.account.reaper 75ab3cb Stop staticweb revealing container existence to unauth'd requests 432e280 Correctly handle keys starting with the delimiter. Diffstat (except docs and test files) ------------------------------------- .mailmap | 7 +- AUTHORS | 16 + CHANGELOG | 93 ++ CONTRIBUTING.md | 98 -- CONTRIBUTING.rst | 182 +++ MANIFEST.in | 4 +- README.md | 86 -- README.rst | 145 +++ REVIEW_GUIDELINES.rst | 387 ++++++ bin/swift-account-info | 21 +- bin/swift-container-info | 21 +- bin/swift-dispersion-populate | 3 + bin/swift-dispersion-report | 3 + bin/swift-init | 2 +- bin/swift-reconciler-enqueue | 2 +- etc/account-server.conf-sample | 9 +- etc/container-server.conf-sample | 9 +- etc/container-sync-realms.conf-sample | 2 +- etc/dispersion.conf-sample | 4 + etc/object-server.conf-sample | 20 +- etc/proxy-server.conf-sample | 36 +- etc/swift.conf-sample | 2 +- other-requirements.txt | 15 + setup.cfg | 3 +- swift/account/auditor.py | 3 +- swift/account/reaper.py | 11 +- swift/account/replicator.py | 2 +- swift/cli/info.py | 6 +- swift/cli/recon.py | 2 +- swift/cli/ring_builder_analyzer.py | 38 +- swift/cli/ringbuilder.py | 45 +- swift/common/constraints.py | 70 +- swift/common/container_sync_realms.py | 11 +- swift/common/daemon.py | 5 +- swift/common/db.py | 19 +- swift/common/db_replicator.py | 13 +- swift/common/direct_client.py | 19 +- swift/common/exceptions.py | 4 - swift/common/manager.py | 47 +- swift/common/middleware/account_quotas.py | 22 +- swift/common/middleware/bulk.py | 114 +- swift/common/middleware/container_quotas.py | 36 +- swift/common/middleware/copy.py | 522 ++++++++ swift/common/middleware/dlo.py | 34 +- swift/common/middleware/keystoneauth.py | 3 +- swift/common/middleware/list_endpoints.py | 6 +- swift/common/middleware/slo.py | 62 +- swift/common/middleware/staticweb.py | 18 +- swift/common/middleware/tempurl.py | 9 +- swift/common/middleware/versioned_writes.py | 344 +++-- swift/common/middleware/xprofile.py | 6 +- swift/common/ring/utils.py | 2 + swift/common/storage_policy.py | 23 +- swift/common/swob.py | 10 +- swift/common/utils.py | 360 ++---- swift/common/wsgi.py | 25 +- swift/container/backend.py | 4 +- swift/container/reconciler.py | 10 +- swift/container/replicator.py | 8 +- swift/container/server.py | 11 +- swift/container/sync.py | 149 ++- swift/container/updater.py | 9 +- swift/locale/de/LC_MESSAGES/swift.po | 169 +-- swift/locale/es/LC_MESSAGES/swift.po | 232 ++-- swift/locale/fr/LC_MESSAGES/swift.po | 154 +-- swift/locale/it/LC_MESSAGES/swift.po | 165 +-- swift/locale/ja/LC_MESSAGES/swift.po | 238 ++-- swift/locale/ko_KR/LC_MESSAGES/swift.po | 227 ++-- swift/locale/pt_BR/LC_MESSAGES/swift.po | 155 +-- swift/locale/ru/LC_MESSAGES/swift.po | 147 +-- swift/locale/swift.pot | 1361 ------------------- swift/locale/tr_TR/LC_MESSAGES/swift.po | 136 +- swift/locale/zh_CN/LC_MESSAGES/swift.po | 150 +-- swift/locale/zh_TW/LC_MESSAGES/swift.po | 140 +- swift/obj/auditor.py | 22 +- swift/obj/diskfile.py | 134 +- swift/obj/expirer.py | 29 +- swift/obj/reconstructor.py | 7 +- swift/obj/replicator.py | 10 +- swift/obj/server.py | 55 +- swift/obj/updater.py | 9 +- swift/proxy/controllers/account.py | 26 +- swift/proxy/controllers/base.py | 436 ++++--- swift/proxy/controllers/container.py | 17 +- swift/proxy/controllers/obj.py | 340 +---- swift/proxy/server.py | 24 +- test/probe/brain.py | 7 +- test/probe/common.py | 32 +- test/probe/test_account_failures.py | 8 +- test/probe/test_container_failures.py | 21 +- test/probe/test_container_merge_policy_index.py | 25 +- test/probe/test_empty_device_handoff.py | 12 +- test/probe/test_object_async_update.py | 183 ++- test/probe/test_object_expirer.py | 111 +- test/probe/test_object_handoff.py | 49 +- test/probe/test_object_metadata_replication.py | 83 ++ test/unit/__init__.py | 6 +- test/unit/account/test_backend.py | 92 +- test/unit/account/test_reaper.py | 159 ++- test/unit/account/test_server.py | 23 + test/unit/cli/test_ring_builder_analyzer.py | 6 +- test/unit/cli/test_ringbuilder.py | 222 ++-- test/unit/common/middleware/helpers.py | 12 +- test/unit/common/middleware/test_account_quotas.py | 184 +-- test/unit/common/middleware/test_bulk.py | 116 +- test/unit/common/middleware/test_container_sync.py | 11 +- test/unit/common/middleware/test_copy.py | 1184 +++++++++++++++++ test/unit/common/middleware/test_dlo.py | 101 -- test/unit/common/middleware/test_formpost.py | 198 +-- test/unit/common/middleware/test_keystoneauth.py | 42 +- test/unit/common/middleware/test_list_endpoints.py | 78 +- test/unit/common/middleware/test_quotas.py | 325 ++--- test/unit/common/middleware/test_ratelimit.py | 14 +- test/unit/common/middleware/test_recon.py | 46 +- test/unit/common/middleware/test_slo.py | 203 +-- test/unit/common/middleware/test_staticweb.py | 43 +- test/unit/common/middleware/test_tempurl.py | 74 +- .../common/middleware/test_versioned_writes.py | 773 +++++++++-- test/unit/common/ring/test_builder.py | 179 +-- test/unit/common/ring/test_ring.py | 92 +- test/unit/common/ring/test_utils.py | 92 +- test/unit/common/test_constraints.py | 99 +- test/unit/common/test_db.py | 12 + test/unit/common/test_db_replicator.py | 66 +- test/unit/common/test_direct_client.py | 56 +- test/unit/common/test_storage_policy.py | 16 +- test/unit/common/test_swob.py | 39 +- test/unit/common/test_utils.py | 464 +++---- test/unit/common/test_wsgi.py | 22 +- test/unit/container/test_backend.py | 60 + test/unit/container/test_reconciler.py | 2 +- test/unit/container/test_server.py | 96 ++ test/unit/container/test_sync.py | 94 +- test/unit/obj/test_auditor.py | 33 + test/unit/obj/test_diskfile.py | 474 ++++--- test/unit/obj/test_expirer.py | 4 + test/unit/obj/test_reconstructor.py | 103 +- test/unit/obj/test_replicator.py | 109 +- test/unit/obj/test_server.py | 29 +- test/unit/proxy/controllers/test_account.py | 72 +- test/unit/proxy/controllers/test_base.py | 303 ++--- test/unit/proxy/controllers/test_container.py | 44 +- test/unit/proxy/controllers/test_obj.py | 296 +---- test/unit/proxy/test_server.py | 1365 ++++---------------- test/unit/proxy/test_sysmeta.py | 42 +- tox.ini | 11 +- 176 files changed, 10207 insertions(+), 8079 deletions(-) Requirements updates -------------------- diff --git a/other-requirements.txt b/other-requirements.txt new file mode 100644 index 0000000..394f2b0 --- /dev/null +++ b/other-requirements.txt @@ -0,0 +1,15 @@ +# This is a cross-platform list tracking distribution packages needed by tests; +# see http://docs.openstack.org/infra/bindep/ for additional information. + +build-essential [platform:dpkg] +gcc [platform:rpm] +gettext +liberasurecode-dev [platform:dpkg] +liberasurecode-devel [platform:rpm] +libffi-dev [platform:dpkg] +libffi-devel [platform:rpm] +memcached +python-dev [platform:dpkg] +python-devel [platform:rpm] +rsync +xfsprogs