diff --git a/AUTHORS b/AUTHORS index 3ed3a80b65..ce8b5577b3 100644 --- a/AUTHORS +++ b/AUTHORS @@ -218,6 +218,7 @@ Ionuț Arțăriși (iartarisi@suse.cz) Iryoung Jeong (iryoung@gmail.com) its-not-a-bug-its-a-feature (david.cole@sohonet.com) Jaivish Kothari (jaivish.kothari@nectechnologies.in) +Jake Yip (jake.yip@ardc.edu.au) James E. Blair (jeblair@openstack.org) James Page (james.page@ubuntu.com) Jamie Lennox (jlennox@redhat.com) @@ -257,6 +258,7 @@ Kazuhiro Miyahara (miyahara.kazuhiro@lab.ntt.co.jp) Ke Liang (ke.liang@easystack.cn) Kenichiro Matsuda (matsuda_kenichi@jp.fujitsu.com) Keshava Bharadwaj (kb.sankethi@gmail.com) +kim woo seok (rladntjr4@gmail.com) Kiyoung Jung (kiyoung.jung@kt.com) Koert van der Veer (koert@cloudvps.com) Konrad Kügler (swamblumat-eclipsebugs@yahoo.de) @@ -404,7 +406,7 @@ Steve Kowalik (steven@wedontsleep.org) Steve Martinelli (stevemar@ca.ibm.com) Steven Lang (Steven.Lang@hgst.com) Sushil Kumar (sushil.kumar2@globallogic.com) -Takashi Kajinami (tkajinam@redhat.com) +Takashi Kajinami (kajinamit@oss.nttdata.com) Takashi Natsume (takanattie@gmail.com) TheSriram (sriram@klusterkloud.com) Thiago da Silva (thiagodasilva@gmail.com) diff --git a/CHANGELOG b/CHANGELOG index 94b27db184..d8e8331747 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,111 @@ +swift (2.33.0, OpenStack Caracal) + + * S3 API fixes: + + * When the `+segments` container's storage policy differs from that of + the primary container, completed manifests are now written with the + correct policy in the primary container. + + * Add basic read support for object locking. This improves + compatibility with an Ansible S3 module. Write support is not + yet implemented, so get-object-lock-configuration will always 404. + + * If there's a conflict deleting the in-progress-upload marker when + completing a multipart-upload, a 503 is now returned to the client, + prompting it to retry. + + * Added `Accept-Ranges: bytes` to object responses. Range requests + have always been supported; now, that support is properly advertised. + + * Static large object fixes: + + * Fixed a server error when handling conditional GET requests. + + * Return an error if the SLO manifest could not be parsed. Previously, + a zero-byte response was returned. + + * Proxy server fixes: + + * Added a new `swift.proxy_logging_status` request environment key that + middlewares may use to override the logged status for a request. + + * Transaction IDs are included in more error responses. + + * Added a counter metric when caching shard ranges. + + * The `recoverable_node_timeout` option no longer applies to + `X-Newest` GET requests. + + * Improved error-handling in multi-part range responses. + + * Sharding fixes: + + * Prevent resets of a shard range's epoch. + + * Cleaned up `X-Backend-*` headers in listing responses. + + * Reduced the frequency of `Reclaimable db stuck waiting for shrinking` + messages when a root DB has been deleted but its shards have not been + shrunk away. + + * The more-efficient shard range structure from the last release is now + used when fetching ranges from the backend. + + * Include more information in shard-replication warnings. + + * Object server fixes: + + * Object POSTs and chunked PUTs are no longer accepted when the target + drive is already past its `fallocate_reserve`. DELETEs are still + allowed. + + * Added the ability to configure cooperative yielding when servicing + GET responses, via the `cooperative_period` option. See the example + config for more information. + + * Invalid `hashes.invalid` entries are now ignored, rather than + causing a complete partition rehash. + + * Prefix-based tempurls may now be used to explore staticweb + listings within that prefix. Note that this opens a new ability + to list containers from tempurls, but only if staticweb's + `X-Container-Meta-Web-Listings` is enabled. + + * When generating index pages from listings, staticweb now sends an HTML5 + doctype. This makes them https://peps.python.org/pep-0503/ compliant, + allowing their continued use for simple Python package repositories. + + * Per-service `auto_create_account_prefix` configuration options have + been removed. These options were deprecated in favor of `swift.conf` + configuration in Swift 2.24.0, part of the OpenStack Ussuri release. + + * Added a `swift-reload` command to assist with safely reloading WSGI + servers. + + * Daemons now send `STOPPING` and `RELOADING` systemd notifications + when the service is configured with `Type=notify`. + + * Added more metrics to the container-server, allowing GET and PUT timings + to be broken out for listings, shard range operations, and container + creation. + + * Daemons send object updates via the replication network in more cases. + + * `swift-account-info` and `swift-container-info` now accept a `--sync` + flag to show information from the incoming/outgoing sync tables. + + * Several fixes to prepare for Python 3.12 support. While not yet tested + in the gate, initial manual testing looks promising. + + * Added support for recent versions of eventlet. + + * The dark-data object audit watcher now works with sharded containers. + Previously, it would think that all data files were absent from + listings. + + * Various other minor bug fixes and improvements. + + swift (2.32.0, OpenStack Bobcat) * Python 3 fixes: @@ -37,7 +145,7 @@ swift (2.32.0, OpenStack Bobcat) * Added a `keepalive_timeout` option to the proxy server to limit how long to wait for a client to initiate a request, separate from the general - `client_timeout` option. Note that this requires eventlet 0.33.4 + `client_timeout` option. Note that this requires eventlet 0.34.0 (currently unreleased) or later. * Added a `keep_cache_slo_manifest` option to the object server to better diff --git a/releasenotes/notes/3_33_0_release-d208917f5012cedd.yaml b/releasenotes/notes/3_33_0_release-d208917f5012cedd.yaml new file mode 100644 index 0000000000..d5a44bb980 --- /dev/null +++ b/releasenotes/notes/3_33_0_release-d208917f5012cedd.yaml @@ -0,0 +1,129 @@ +--- +features: + - | + Prefix-based tempurls may now be used to explore staticweb + listings within that prefix. Note that this opens a new ability + to list containers from tempurls, but only if staticweb's + ``X-Container-Meta-Web-Listings`` is enabled. + + - | + When generating index pages from listings, staticweb now sends an HTML5 + doctype. This makes them `PEP 503 `__ + compliant, allowing their `continued + use `__ for simple Python + package repositories. + + - | + Add basic read support for S3 object locking. This improves + compatibility with an Ansible S3 module. Write support is not + yet implemented, so get-object-lock-configuration will always 404. + + - | + Added a ``swift-reload`` command to assist with safely reloading WSGI + servers. + + - | + Daemons now send ``STOPPING`` and ``RELOADING`` systemd notifications + when the service is configured with ``Type=notify``. + + - | + Added more metrics to the container-server, allowing GET and PUT timings + to be broken out for listings, shard range operations, and container + creation. + + - | + Added a counter metric to the proxy server when caching shard ranges. + + + - | + ``swift-account-info`` and ``swift-container-info`` now accept a ``--sync`` + flag to show information from the incoming/outgoing sync tables. + + - | + Several fixes to prepare for Python 3.12 support. While not yet tested + in the gate, initial manual testing looks promising. + + - | + Added support for recent versions of eventlet. + +fixes: + - | + S3 API fixes: + + * When the ``+segments`` container's storage policy differs from that of + the primary container, completed manifests are now written with the + correct policy in the primary container. + + * If there's a conflict deleting the in-progress-upload marker when + completing a multipart-upload, a 503 is now returned to the client, + prompting it to retry. + + * Added ``Accept-Ranges: bytes`` to object responses. Range requests + have always been supported; now, that support is properly advertised. + + - | + Static large object fixes: + + * Fixed a server error when handling conditional GET requests. + + * Return an error if the SLO manifest could not be parsed. Previously, + a zero-byte response was returned. + + - | + Proxy server fixes: + + * Added a new ``swift.proxy_logging_status`` request environment key that + middlewares may use to override the logged status for a request. + + * Transaction IDs are included in more error responses. + + * The ``recoverable_node_timeout`` option no longer applies to + ``X-Newest`` GET requests. + + * Improved error-handling in multi-part range responses. + + - | + Sharding fixes: + + * Prevent resets of a shard range's epoch. + + * Cleaned up ``X-Backend-*`` headers in listing responses. + + * Reduced the frequency of ``Reclaimable db stuck waiting for shrinking`` + messages when a root DB has been deleted but its shards have not been + shrunk away. + + * The more-efficient shard range structure from the last release is now + used when fetching ranges from the backend. + + * Include more information in shard-replication warnings. + + - | + Object server fixes: + + * Object POSTs and chunked PUTs are no longer accepted when the target + drive is already past its ``fallocate_reserve``. DELETEs are still + allowed. + + * Added the ability to configure cooperative yielding when servicing + GET responses, via the ``cooperative_period`` option. See the example + config for more information. + + * Invalid ``hashes.invalid`` entries are now ignored, rather than + causing a complete partition rehash. + + - | + Per-service ``auto_create_account_prefix`` configuration options have + been removed. These options were deprecated in favor of ``swift.conf`` + configuration in Swift 2.24.0, part of the OpenStack Ussuri release. + + - | + Daemons send object updates via the replication network in more cases. + + - | + The dark-data object audit watcher now works with sharded containers. + Previously, it would think that all data files were absent from + listings. + + - | + Various other minor bug fixes and improvements.