diff --git a/.mailmap b/.mailmap index cc8dac9ff5..77962f11c6 100644 --- a/.mailmap +++ b/.mailmap @@ -139,3 +139,7 @@ Ashwin Nair indianwhocodes Romain de Joux Takashi Natsume Pete Zaitcev +Mandell Degerness +Anish Kachinthaya +Daanish Khan +Chris Smart diff --git a/AUTHORS b/AUTHORS index dbb787d085..b59ddcb823 100644 --- a/AUTHORS +++ b/AUTHORS @@ -69,6 +69,7 @@ Ashwin Nair (nairashwin952013@gmail.com) Atsushi Sakai (sakaia@jp.fujitsu.com) Aymeric Ducroquetz (aymeric.ducroquetz@ovhcloud.com) Azhagu Selvan SP (tamizhgeek@gmail.com) +Azmain Adib (adib1905@gmail.com) baiwenteng (baiwenteng@inspur.com) Ben Keller (bjkeller@us.ibm.com) Ben Martin (blmartin@us.ibm.com) @@ -100,7 +101,7 @@ chengebj5238 (chengebj@inspur.com) chenxiangui (chenxiangui@inspur.com) Chetan Mishra (chetan.s115@gmail.com) Chmouel Boudjnah (chmouel@enovance.com) -Chris Smart (chris.smart@humanservices.gov.au) +Chris Smart (distroguy@gmail.com) Chris Wedgwood (cw@f00f.org) Christian Berendt (berendt@b1-systems.de) Christian Hugo (hugo.christian@web.de) @@ -120,6 +121,7 @@ Cory Wright (cory.wright@rackspace.com) Cristian A Sanchez (cristian.a.sanchez@intel.com) CY Chiang (cychiang@cht.com.tw) Cyril Roelandt (cyril@redhat.com) +Daanish Khan (daanish1337@gmail.com) Dae S. Kim (dae@velatum.com) Daisuke Morita (morita.daisuke@ntti3.com) Dan Dillinger (dan.dillinger@sonian.net) @@ -288,7 +290,7 @@ lvxianguo (lvxianguo@inspur.com) M V P Nitesh (m.nitesh@nectechnologies.in) Madhuri Kumari (madhuri.rai07@gmail.com) Mahati Chamarthy (mahati.chamarthy@gmail.com) -Mandell Degerness (mdegerness@swiftstack.com) +Mandell Degerness (mdegerness@nvidia.com) manuvakery1 (manu.km@idrive.com) maoshuai (fwsakura@163.com) Marcelo Martins (btorch@gmail.com) @@ -316,11 +318,14 @@ Mingyu Li (li.mingyu@99cloud.net) Minwoo Bae (minwoob@us.ibm.com) Mitsuhiro SHIGEMATSU (shigematsu.mitsuhiro@lab.ntt.co.jp) mmcardle (mark.mcardle@sohonet.com) +Mohamed Hassaneen (mohammedashoor89@gmail.com) +Mohammed Al-Jawaheri (mjawaheri02@gmail.com) Mohit Motiani (mohit.motiani@intel.com) Monty Taylor (mordred@inaugust.com) Morgan Fainberg (morgan.fainberg@gmail.com) Morita Kazutaka (morita.kazutaka@gmail.com) Motonobu Ichimura (motonobu@gmail.com) +Nada El-Mestkawy (nadamaged05@gmail.com) Nadeem Syed (snadeem.hameed@gmail.com) Nakagawa Masaaki (nakagawamsa@nttdata.co.jp) Nakul Dahiwade (nakul.dahiwade@intel.com) @@ -427,6 +432,7 @@ Tomas Matlocha (tomas.matlocha@firma.seznam.cz) tone-zhang (tone.zhang@linaro.org) Tong Li (litong01@us.ibm.com) Tovin Seven (vinhnt@vn.fujitsu.com) +Tra Bui (trabui.0517@gmail.com) Travis McPeak (tmcpeak@us.ibm.com) Tushar Gohad (tushar.gohad@intel.com) Van Hung Pham (hungpv@vn.fujitsu.com) @@ -454,6 +460,7 @@ Wyllys Ingersoll (wyllys.ingersoll@evault.com) xhancar (pavel.hancar@gmail.com) XieYingYun (smokony@sina.com) Yaguang Wang (yaguang.wang@intel.com) +Yan Xiao (yanxiao@nvidia.com) yanghuichan (yanghc@fiberhome.com) Yatin Kumbhare (yatinkumbhare@gmail.com) Ye Jia Xu (xyj.asmy@gmail.com) diff --git a/CHANGELOG b/CHANGELOG index d8e8331747..5b6f299645 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,106 @@ +swift (2.34.0, OpenStack Dalmatian) + + * Middleware features: + + * The static large object (SLO) middleware now supports including + a `?part-number=` query parameter to request just part of a + large object. This may be used to enable efficient parallel + downloads. For more information, see + https://docs.openstack.org/swift/latest/overview_large_objects.html#retrieving-a-large-object + + * The S3 API middleware now supports the `?partNumber=` query + parameter, enabling parallel downloads. + + * The KMS keymaster now supports overriding the endpoint returned + in the Keystone catalog via the `barbican_endpoint` configuration + option. This may be useful in multi-region deployments which have + multiple endpoints. + + * The backend ratelimiter now supports dynamic reloading of limits. + The new configuration options `backend_ratelimit_conf_path` and + `config_reload_interval` control which file is reloaded and how + frequently, respectively. + + * The backend ratelimiter now supports per-method, per-device + ratelimits. See `etc/backend-ratelimit.conf-sample` for more + information. + + * S3 API improvements: + + * Error response reasons are now logged as part of the `log_info` + field. This can be especially useful when diagnosing HEAD + failures, which necessarily have no response body. + + * Fixed a server error when using non-ASCII access key IDs. + + * Fixed several checksum-related error responses to be more AWS-like. + + * Account quota improvements: + + * Overall account byte quotas should now be set with the + `X-Account-Quota-Bytes` header. The `X-Account-Meta-Quota-Bytes` + header is now deprecated. + + * The account quota middleware now supports object-count quotas + in addition to byte-count quotas, similar to the container + quota middleware. For more information, see + https://docs.openstack.org/swift/latest/middleware.html#module-swift.common.middleware.account_quotas + + * Using an `X-Remove-Account-Quota-Bytes-Policy-` header + now removes the per-policy quota, rather than reducing it to zero. + + * Object expiration improvements: + + * Added per-account and per-container reaping delays. These may be + used to offer some grace period in which to recover expired objects. + + * Added a proxy-server configuration option: `allow_open_expired`. + This defaults to false; if true, clients may intereact with expired + objects by including an `X-Open-Expired: true` header in GET, HEAD, + or POST requests. + + * Expiring object queue entries now include the size of the object to + be expired in the `swift_expirer_bytes` parameter of the queue entry's + content-type. + + * Added metrics to count skipped, delayed, and assigned tasks as + they're enumerated. + + * Proxy-server fixes: + + * Object POSTs now 503 rather than trusting the 404s that might be + returned from handoffs when primaries are overloaded. + + * Client disconnects should always be logged within the context of + the appropriate client request. Previously, there were some cases + where logging would occur during general garbage collection, leading + to incorrect or missing transaction IDs in logs. + + * The proxy-logging middleware now emits timing and transfer stats for + more requests such as auth requests. These will be labeled `UNKNOWN` + rather than `account`, `container`, etc. + + * Fixed a server error when the Swift request path has missing account + or container components. + + * Python 3.12 is now supported. + + * `EUCLEAN` errors are better handled on the object server. + + * `swift-account-info` now supports the `--sync` option to display the + contents of the incoming and outgoing sync tables, similar to + `swift-container-info`. + + * The `swift-drive-audit` tool now works with ISO timestamps in kernel + logs. + + * The `swift-recon-cron` tool now better handles missing directories. + + * Dependency update: lxml must be at least 4.2.3. + + * Various other minor bug fixes and improvements. + + swift (2.33.0, OpenStack Caracal) * S3 API fixes: diff --git a/releasenotes/notes/release-2.34.0-2136ae35f56f8b5a.yaml b/releasenotes/notes/release-2.34.0-2136ae35f56f8b5a.yaml new file mode 100644 index 0000000000..56af53eae7 --- /dev/null +++ b/releasenotes/notes/release-2.34.0-2136ae35f56f8b5a.yaml @@ -0,0 +1,117 @@ +--- +features: + - | + Middleware features: + + * The static large object (SLO) middleware now supports including + a ``?part-number=`` query parameter to request just part of a + large object. This may be used to enable efficient parallel + downloads. For more information, see `the documentation + `__. + + * The S3 API middleware now supports the ``?partNumber=`` query + parameter, enabling parallel downloads. + + * The KMS keymaster now supports overriding the endpoint returned + in the Keystone catalog via the ``barbican_endpoint`` configuration + option. This may be useful in multi-region deployments which have + multiple endpoints. + + * The backend ratelimiter now supports dynamic reloading of limits. + The new configuration options ``backend_ratelimit_conf_path`` and + ``config_reload_interval`` control which file is reloaded and how + frequently, respectively. + + * The backend ratelimiter now supports per-method, per-device + ratelimits. See `etc/backend-ratelimit.conf-sample + `__ + for more information. + + * The account quota middleware now supports object-count quotas + in addition to byte-count quotas, similar to the container + quota middleware. For more information, see `the documentation + `__. + + - | + Object expiration improvements: + + * Added per-account and per-container reaping delays. These may be + used to offer some grace period in which to recover expired objects. + + * Added a proxy-server configuration option: ``allow_open_expired``. + This defaults to false; if true, clients may intereact with expired + objects by including an ``X-Open-Expired: true`` header in GET, HEAD, + or POST requests. + + * Expiring object queue entries now include the size of the object to + be expired in the ``swift_expirer_bytes`` parameter of the queue entry's + content-type. + + * Added metrics to count skipped, delayed, and assigned tasks as + they're enumerated. + + - | + S3 API error response reasons are now logged as part of the ``log_info`` + field. This can be especially useful when diagnosing HEAD + failures, which necessarily have no response body. + + - | + Python 3.12 is now supported. + + - | + ``swift-account-info`` now supports the ``--sync`` option to display the + contents of the incoming and outgoing sync tables, similar to + ``swift-container-info``. + + - | + The ``swift-drive-audit`` tool now works with ISO timestamps in kernel + logs. + +upgrade: + - | + Dependency update: lxml must be at least 4.2.3. + +deprecations: + - | + Overall account byte quotas should now be set with the + ``X-Account-Quota-Bytes`` header. The ``X-Account-Meta-Quota-Bytes`` + header is now deprecated. + +fixes: + - | + S3 API fixes: + + * Fixed a server error when using non-ASCII access key IDs. + + * Fixed several checksum-related error responses to be more AWS-like. + + - | + Using an ``X-Remove-Account-Quota-Bytes-Policy-`` header + now removes the per-policy quota, rather than reducing it to zero. + + - | + Proxy-server fixes: + + * Object POSTs now 503 rather than trusting the 404s that might be + returned from handoffs when primaries are overloaded. + + * Client disconnects should always be logged within the context of + the appropriate client request. Previously, there were some cases + where logging would occur during general garbage collection, leading + to incorrect or missing transaction IDs in logs. + + * The proxy-logging middleware now emits timing and transfer stats for + more requests such as auth requests. These will be labeled ``UNKNOWN`` + rather than ``account``, ``container``, etc. + + * Fixed a server error when the Swift request path has missing account + or container components. + + - | + ``EUCLEAN`` errors are better handled on the object server. + + - | + The ``swift-recon-cron`` tool now better handles missing directories. + + - | + Various other minor bug fixes and improvements.