We are jazzed to announce the release of:
swift 2.9.0: OpenStack Object Storage
This release is part of the newton release series.
For more details, please see below.
Changes in swift 2.8.0..2.9.0
-----------------------------
8823810 authors and changelog updates for 2.9.0 release
6740a7b Add keymaster_config_path option to keymaster
5817f00 make 0 be avaiable value of options
6b6fa69 Add description of server options (all, main, rest) for swift-init help
9890184 Turn on H233 and start using print function
54ed084 Add region in swift-ring-builder add
dcee702 Python 3: fix urllib import
da317f0 Run flake8 against scripts in bin
6f230c7 Fixed inconsistent naming conventions
b6be925 Tighten memcached tests
bfc8c59 Add encryption package requirements to SAIO instructions
008a037 Another amendment with missing parenthesis
a53b12a Don't encrypt update override etags for empty object
9e82891 Fix typo in object-server.conf and container-server.conf manpage
4c0a148 Fix typo in the account-server.conf manpage
ca2f6d1 Fix unicode errors in object controller logging
e5a6d45 Add ringbuilder tests for --yes option
2be1d6a Remove an unused variable from tests.py
b53214e Correct reraising of exception
cf8b939 Add install-guide for swift
de51a6d Add __ne__ built-in function
a2afabf Add basic functests for user object metadata
aa12901 Added missing parenthesis in print calls
7568ea5 Prevent down nodes failing PUTs with non-ascii obj names
d60662b Only use Timeout if we don't have a final_resp
f9d5a86 Remove white space between print and ()
c84a3c4 Stop digging for publicly_accessible ourselves
f36bc51 Add encryption overview doc
96a0e07 Enable object body and metadata encryption
c9b4d54 Change elifs to ifs
6970099 Fix intermittent bulk delete unit test failures
4a9f737 make print python3 compatible
3ad003c Enable middleware to set metadata on object POST
029c278 Add swiftbackmeup to associated projects
c953e84 Make string.letters PY3 compatible
143b0ee MockMemcached cleanup
b923e0f Python 3: dict.iteritems() and dict.itervalues()
a600967 Python 3: Fix basestring, long and StringIO
fa7d800 Make container update override headers persistent
03b762e Support for http footers - Replication and EC
4b13879 Adds migrated API reference files
c0217a4 Update Sphinx version
5885d97 added note to testFileSizeLimit functional test
da4a59f pickle_async_update should create tmp_dir
928c479 Refactor tests and add tests
3944d82 Catch AttributeError less often
65a9a6d Add simple multiple server type test
6c9a189 Adds region as a search-value in manpage
7a50972 update .gitreview
f6b0b75 Make test_ringbuilder less brittle
334140a Removed whitespaces from swift-ring-builder manpage
66c77e0 Added unit test cases for cli/recon.py
ef942da Call swift-recon with more than one server type
efdf123 [Docs] Document prevention of disk full scenarios
b721419 Fixed inconsistencies in docstrings
Diffstat (except docs and test files)
-------------------------------------
.mailmap | 3 +
AUTHORS | 13 +-
CHANGELOG | 31 +
api-ref/source/conf.py | 221 ++++
api-ref/source/index.rst | 13 +
api-ref/source/parameters.yaml | 961 +++++++++++++++++
.../account-containers-list-http-request-json.txt | 1 +
.../account-containers-list-http-request-xml.txt | 2 +
.../account-containers-list-http-response-json.txt | 11 +
.../account-containers-list-http-response-xml.txt | 11 +
.../samples/account-containers-list-response.json | 12 +
.../samples/account-containers-list-response.xml | 13 +
.../source/samples/capabilities-list-response.json | 7 +
.../samples/containers-list-http-request.txt | 3 +
.../samples/containers-list-http-response.txt | 9 +
.../samples/endpoints-list-response-headers.json | 14 +
.../source/samples/endpoints-list-response.json | 8 +
api-ref/source/samples/goodbyeworld.txt | 1 +
api-ref/source/samples/helloworld.txt | 1 +
.../samples/objects-list-http-response-json.txt | 10 +
.../samples/objects-list-http-response-xml.txt | 10 +
api-ref/source/samples/objects-list-response.json | 16 +
api-ref/source/samples/objects-list-response.xml | 17 +
api-ref/source/storage-account-services.inc | 380 +++++++
api-ref/source/storage-container-services.inc | 503 +++++++++
api-ref/source/storage-object-services.inc | 687 ++++++++++++
api-ref/source/storage_endpoints.inc | 37 +
api-ref/source/storage_info.inc | 41 +
bin/swift-account-audit | 74 +-
bin/swift-config | 13 +-
bin/swift-dispersion-populate | 34 +-
bin/swift-dispersion-report | 87 +-
bin/swift-drive-audit | 4 +-
bin/swift-get-nodes | 2 +-
bin/swift-init | 12 +-
bin/swift-orphans | 14 +-
bin/swift-recon-cron | 8 +-
bin/swift-reconciler-enqueue | 3 +-
bin/swift-temp-url | 49 +-
etc/proxy-server.conf-sample | 35 +
etc/swift.conf-sample | 7 +-
install-guide/source/conf.py | 300 ++++++
.../source/controller-common_prerequisites.txt | 116 ++
install-guide/source/controller-include.txt | 84 ++
install-guide/source/controller-install-debian.rst | 50 +
install-guide/source/controller-install-obs.rst | 45 +
install-guide/source/controller-install-rdo.rst | 50 +
install-guide/source/controller-install-ubuntu.rst | 52 +
install-guide/source/controller-install.rst | 18 +
install-guide/source/finalize-installation-obs.rst | 80 ++
install-guide/source/finalize-installation-rdo.rst | 89 ++
.../source/finalize-installation-ubuntu-debian.rst | 80 ++
install-guide/source/finalize-installation.rst | 13 +
install-guide/source/get_started.rst | 51 +
install-guide/source/index.rst | 23 +
install-guide/source/initial-rings.rst | 253 +++++
install-guide/source/next-steps.rst | 10 +
install-guide/source/storage-include1.txt | 41 +
install-guide/source/storage-include2.txt | 41 +
install-guide/source/storage-include3.txt | 42 +
install-guide/source/storage-install-obs.rst | 139 +++
install-guide/source/storage-install-rdo.rst | 155 +++
.../source/storage-install-ubuntu-debian.rst | 159 +++
install-guide/source/storage-install.rst | 16 +
install-guide/source/verify.rst | 96 ++
other-requirements.txt | 2 +
requirements.txt | 1 +
setup.cfg | 2 +
swift/account/server.py | 8 +-
swift/cli/recon.py | 148 +--
swift/cli/ring_builder_analyzer.py | 13 +-
swift/common/constraints.py | 27 +-
swift/common/exceptions.py | 4 +
swift/common/internal_client.py | 29 +-
swift/common/manager.py | 14 +-
swift/common/memcached.py | 2 +-
swift/common/middleware/copy.py | 54 +-
swift/common/middleware/crypto/__init__.py | 34 +
swift/common/middleware/crypto/crypto_utils.py | 283 +++++
swift/common/middleware/crypto/decrypter.py | 449 ++++++++
swift/common/middleware/crypto/encrypter.py | 375 +++++++
swift/common/middleware/crypto/keymaster.py | 172 +++
swift/common/middleware/gatekeeper.py | 9 +-
swift/common/middleware/slo.py | 4 +-
swift/common/request_helpers.py | 107 +-
swift/common/ring/utils.py | 2 +-
swift/common/swob.py | 7 +-
swift/common/utils.py | 13 +-
swift/common/wsgi.py | 10 +-
swift/container/backend.py | 4 +-
swift/container/server.py | 8 +-
swift/obj/diskfile.py | 7 +-
swift/obj/server.py | 71 +-
swift/proxy/controllers/base.py | 14 +-
swift/proxy/controllers/obj.py | 960 +++++++++--------
swift/proxy/server.py | 17 +-
test-requirements.txt | 4 +-
test/functional/swift_test_client.py | 1 +
test/functional/test_account.py | 7 +-
test/functional/test_object.py | 139 +++
test/probe/brain.py | 6 +-
test/probe/test_container_merge_policy_index.py | 84 +-
test/probe/test_empty_device_handoff.py | 15 +-
test/probe/test_object_async_update.py | 104 +-
test/probe/test_object_failures.py | 19 +-
test/probe/test_object_handoff.py | 34 +-
test/probe/test_object_metadata_replication.py | 25 +-
test/unit/__init__.py | 41 +-
test/unit/cli/test_recon.py | 99 ++
test/unit/cli/test_ring_builder_analyzer.py | 2 +-
test/unit/cli/test_ringbuilder.py | 35 +-
test/unit/common/middleware/crypto/__init__.py | 0
.../common/middleware/crypto/crypto_helpers.py | 54 +
test/unit/common/middleware/crypto/test_crypto.py | 39 +
.../common/middleware/crypto/test_crypto_utils.py | 495 +++++++++
.../common/middleware/crypto/test_decrypter.py | 1119 ++++++++++++++++++++
.../common/middleware/crypto/test_encrypter.py | 883 +++++++++++++++
.../common/middleware/crypto/test_encryption.py | 631 +++++++++++
.../common/middleware/crypto/test_keymaster.py | 213 ++++
test/unit/common/middleware/helpers.py | 62 +-
test/unit/common/middleware/test_bulk.py | 18 +-
test/unit/common/middleware/test_copy.py | 206 +++-
test/unit/common/middleware/test_gatekeeper.py | 9 +-
test/unit/common/middleware/test_proxy_logging.py | 7 +-
test/unit/common/middleware/test_recon.py | 2 +-
test/unit/common/ring/test_builder.py | 7 -
test/unit/common/ring/test_utils.py | 4 +-
test/unit/common/test_db.py | 4 +-
test/unit/common/test_memcached.py | 176 +--
test/unit/common/test_request_helpers.py | 82 +-
test/unit/common/test_utils.py | 18 +
test/unit/helpers.py | 271 +++++
test/unit/obj/test_diskfile.py | 9 +-
test/unit/obj/test_server.py | 311 +++++-
test/unit/proxy/controllers/test_base.py | 12 +-
test/unit/proxy/controllers/test_obj.py | 627 ++++++++++-
test/unit/proxy/test_server.py | 286 ++---
test/unit/proxy/test_sysmeta.py | 107 ++
tox.ini | 25 +-
160 files changed, 13963 insertions(+), 1375 deletions(-)
Requirements updates
--------------------
diff --git a/other-requirements.txt b/other-requirements.txt
index 394f2b0..2fef68f 100644
--- a/other-requirements.txt
+++ b/other-requirements.txt
@@ -15,0 +16,2 @@ xfsprogs
+libssl-dev [platform:dpkg]
+openssl-devel [platform:rpm]
diff --git a/requirements.txt b/requirements.txt
index 3480d4f..3c17288 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -13,0 +14 @@ PyECLib>=1.2.0 # BSD
+cryptography>=1.0,!=1.3.0 # BSD/Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index 0c6e9fe..933bc68 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -10,0 +11 @@ nosehtmloutput
+openstackdocstheme>=1.0.3 # Apache-2.0
@@ -12 +13,2 @@ oslosphinx
-sphinx>=1.1.2,<1.2
+sphinx>=1.1.2,!=1.2.0,!=1.3b1,<1.3 # BSD
+os-api-ref>=0.1.0 # Apache-2.0