From d6ac3a261fec6420ff2f15d59921d5e03aec37cb Mon Sep 17 00:00:00 2001 From: Tim Burke Date: Thu, 27 Feb 2025 13:31:39 -0800 Subject: [PATCH] AUTHORS/CHANGELOG for 2.35.0 Change-Id: I6688025b8f1b53eb31d7c0d10dc9909567e9c281 --- .mailmap | 3 + AUTHORS | 6 +- CHANGELOG | 89 ++++++++++++++ .../release-2.35.0-bb2736e6cbc4a520.yaml | 109 ++++++++++++++++++ 4 files changed, 206 insertions(+), 1 deletion(-) create mode 100644 releasenotes/notes/release-2.35.0-bb2736e6cbc4a520.yaml diff --git a/.mailmap b/.mailmap index 77962f11c6..6f4d508d24 100644 --- a/.mailmap +++ b/.mailmap @@ -143,3 +143,6 @@ Mandell Degerness Anish Kachinthaya Daanish Khan Chris Smart +Ashwin Nair +Chinemerem Chigbo Chinemerem +Chinemerem Chigbo diff --git a/AUTHORS b/AUTHORS index f6e3c87525..f39fad6826 100644 --- a/AUTHORS +++ b/AUTHORS @@ -86,6 +86,7 @@ Brian Reitz (brian.reitz@oracle.com) Bryan Keller (kellerbr@us.ibm.com) Béla Vancsics (vancsics@inf.u-szeged.hu) Caleb Tennis (caleb.tennis@gmail.com) +Callum Dickinson (callum.dickinson@catalystcloud.nz) Cao Xuan Hoang (hoangcx@vn.fujitsu.com) Carlos Cavanna (ccavanna@ca.ibm.com) Catherine Northcott (catherine@northcott.nz) @@ -100,7 +101,7 @@ Cheng Li (shcli@cn.ibm.com) chengebj5238 (chengebj@inspur.com) chenxiangui (chenxiangui@inspur.com) Chetan Mishra (chetan.s115@gmail.com) -Chinemerem Chigbo (cchigbo@nvidia.com) +Chinemerem Chigbo (chinemeremchigbo@Outlook.com) Chmouel Boudjnah (chmouel@enovance.com) Chris Smart (distroguy@gmail.com) Chris Wedgwood (cw@f00f.org) @@ -162,6 +163,7 @@ Ed Leafe (ed.leafe@rackspace.com) Edward Hope-Morley (opentastic@gmail.com) Ehud Kaldor (ehud@unfairfunction.org) Ellen Leahy (ellen.mar.leahy@hpe.com) +Elod Illes (elod.illes@est.tech) Emett Speer (speer.emett@gmail.com) Emile Snyder (emile.snyder@gmail.com) Emmanuel Cazenave (contact@emcaz.fr) @@ -335,8 +337,10 @@ Nandini Tata (nandini.tata@intel.com) Naoto Nishizono (nishizono.naoto@po.ntts.co.jp) Nassim Babaci (nassim.babaci@cloudwatt.com) Nathan Kinder (nkinder@redhat.com) +nathang15 (nguyennathan1502@gmail.com) Nelson Almeida (nelsonmarcos@gmail.com) Newptone (xingchao@unitedstack.com) +ngcjny (noguchi.junya@fujitsu.com) Ngo Quoc Cuong (cuongnq@vn.fujitsu.com) Nguyen Hai (nguyentrihai93@gmail.com) Nguyen Hung Phuong (phuongnh@vn.fujitsu.com) diff --git a/CHANGELOG b/CHANGELOG index 5b6f299645..c42c315970 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,92 @@ +swift (2.35.0, OpenStack Epoxy) + + * Removed the use of `eval` in the xprofile middleware. Note that this + middleware is only intended for development purposes and is not + intended for use in production systems. + + * Account listings now include storage policy information for the + containers listed. + + * The S3 API no longer requires a `Content-MD5` header for `DeleteObjects` + requests when using v4 signatures. + + * Uploads to containers with object versioning enabled now require a + `Content-Length` or `Transfer-Encoding: chunked` header, similar to + other containers. + + * Fixed a server error when deleting a specific version via the S3 API. + + * `X-Open-Expired` now works properly with `?part-number` requests. + + * Fixed `Content-Type` and `Content-Length` headers in account and + container `HEAD` responses (with eventlet>=0.38.0). + + * Object expiration fixes: + + * The configuration options `expiring_objects_container_divisor` and + `expiring_objects_account_name` are now deprecated. + + If a cluster was deployed with a non-standard account name, operators + should remove the option from all configs so they are using a supported + configuration going forward, but will need to deploy stand-alone expirer + processes with legacy expirer config to clean-up old expiration tasks + from the previously configured account name. + + * Added a new configuration option, `round_robin_task_cache_size`, to + adjust the number of tasks to cache before processing. This may be used + to trade faster expirer start-up for more lumpy container-server load. + + * The object-expirer now better handles errors during listings. + + * The object-expirer now respects the `internal_client_conf_path` + configuration option in legacy `object-expirer.conf` configs. + + * WSGI process management improvements: + + * Added a `stale_worker_timeout` configuration option to the WSGI + servers. Once this time elapses following a reload, the manager + process will issue SIGKILLs to any remaining stale workers. + + * Improved the reliability of `swift-reload`. + + * Object updater observability improvements: + + * Added last start time to recon dumps as `object_updater_last`. + + * Added information (including target account/container) from oldest + failed updates to recon dumps, both per-device and aggregated for the + node. Use the new `async_tracker_max_entries` and + `async_tracker_dump_count` options to adjust how many records to + collect. + + * Separated unlinks-due-to-outdated-updates from + unlinks-due-to-fully-processed-updates in logged stats. + + * Added the option to tune down ETag validation in the object-server + during full-object reads. By default, every full read will continue + to have its ETag validated as bytes are streamed to the proxy-server. + The `etag_validate_pct` option may be used to configure approximately + what percentage of full-object reads should be validated; reducing this + can improve performance when object-servers are CPU-constrained. + + Partial reads continue to never have their ETag validated in the + object-server. The object-auditor continues to periodically validate + every object's ETag. + + * The `cooperative_period` option for the object-server now affects PUT + requests in a way similar to GET responses. + + * Fixed an issue with the object-reconstructor that would prevent + reconstruction of objects with non-ASCII header names. + + * Fixed an issue with the container-reconciler that could cause reconciler + databases to have conflicting rows that could not be resolved. + + * Removed use of the deprecated cgi module. + + * Various other minor bug fixes and improvements. + + swift (2.34.0, OpenStack Dalmatian) * Middleware features: diff --git a/releasenotes/notes/release-2.35.0-bb2736e6cbc4a520.yaml b/releasenotes/notes/release-2.35.0-bb2736e6cbc4a520.yaml new file mode 100644 index 0000000000..96ea5da750 --- /dev/null +++ b/releasenotes/notes/release-2.35.0-bb2736e6cbc4a520.yaml @@ -0,0 +1,109 @@ +--- +features: + - | + Account listings now include storage policy information for the + containers listed. + + - | + Added a new object-expirer configuration option, + ``round_robin_task_cache_size``, to adjust the number of tasks to cache + before processing. This may be used to trade faster expirer start-up for + more lumpy container-server load. + + - | + Added a ``stale_worker_timeout`` configuration option to the WSGI + servers. Once this time elapses following a reload, the manager + process will issue SIGKILLs to any remaining stale workers. + + - | + Object updater observability improvements: + + * Added last start time to recon dumps as ``object_updater_last``. + + * Added information (including target account/container) from oldest + failed updates to recon dumps, both per-device and aggregated for the + node. Use the new ``async_tracker_max_entries`` and + ``async_tracker_dump_count`` options to adjust how many records to + collect. + + - | + Added the option to tune down ETag validation in the object-server + during full-object reads. By default, every full read will continue + to have its ETag validated as bytes are streamed to the proxy-server. + The ``etag_validate_pct`` option may be used to configure approximately + what percentage of full-object reads should be validated; reducing this + can improve performance when object-servers are CPU-constrained. + + Partial reads continue to never have their ETag validated in the + object-server. The object-auditor continues to periodically validate + every object's ETag. + +deprecations: + - | + The object-expirer configuration options + ``expiring_objects_container_divisor`` and + ``expiring_objects_account_name`` are now deprecated. + + If a cluster was deployed with a non-standard account name, operators + should remove the option from all configs so they are using a supported + configuration going forward, but will need to deploy stand-alone expirer + processes with legacy expirer config to clean-up old expiration tasks + from the previously configured account name. + +fixes: + - | + Removed the use of ``eval`` in the xprofile middleware. Note that this + middleware is only intended for development purposes and is not + intended for use in production systems. + + - | + The S3 API no longer requires a ``Content-MD5`` header for ``DeleteObjects`` + requests when using v4 signatures. + + - | + Uploads to containers with object versioning enabled now require a + ``Content-Length`` or ``Transfer-Encoding: chunked`` header, similar to + other containers. + + - | + Fixed a server error when deleting a specific version via the S3 API. + + - | + ``X-Open-Expired`` now works properly with ``?part-number`` requests. + + - | + Fixed ``Content-Type`` and ``Content-Length`` headers in account and + container ``HEAD`` responses (with eventlet>=0.38.0). + + - | + Object expiration fixes: + + * The object-expirer now better handles errors during listings. + + * The object-expirer now respects the ``internal_client_conf_path`` + configuration option in legacy ``object-expirer.conf`` configs. + + - | + Improved the reliability of ``swift-reload``. + + - | + Separated unlinks-due-to-outdated-updates from + unlinks-due-to-fully-processed-updates in logged object-updater stats. + + - | + The ``cooperative_period`` option for the object-server now affects PUT + requests in a way similar to GET responses. + + - | + Fixed an issue with the object-reconstructor that would prevent + reconstruction of objects with non-ASCII header names. + + - | + Fixed an issue with the container-reconciler that could cause reconciler + databases to have conflicting rows that could not be resolved. + + - | + Removed use of the deprecated cgi module. + + - | + Various other minor bug fixes and improvements.