From: Nathan Cutler Date: Sat, 1 Feb 2020 10:54:38 +0000 (+0100) Subject: doc: release notes for Luminous v12.2.13 X-Git-Tag: v15.1.1~569^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=b18a1ca4e194fdfcec833f0ae0381e649938409c;p=ceph.git doc: release notes for Luminous v12.2.13 Signed-off-by: Nathan Cutler --- diff --git a/doc/releases/general.rst b/doc/releases/general.rst index 3a81bf817998..fd582ed3488c 100644 --- a/doc/releases/general.rst +++ b/doc/releases/general.rst @@ -142,6 +142,7 @@ Release timeline .. _13.2.0: ../mimic#v13-2-0-mimic .. _Luminous: ../luminous +.. _12.2.13: ../luminous#v12-2-13-luminous .. _12.2.12: ../luminous#v12-2-12-luminous .. _12.2.11: ../luminous#v12-2-11-luminous .. _12.2.10: ../luminous#v12-2-10-luminous diff --git a/doc/releases/luminous.rst b/doc/releases/luminous.rst index 87cbfe0efb53..4c20d7f57637 100644 --- a/doc/releases/luminous.rst +++ b/doc/releases/luminous.rst @@ -1,3 +1,313 @@ +v12.2.13 Luminous +================= + +This is the 13th bug fix release of the Luminous v12.2.x long term stable +release series. We recommend that all users upgrade to this release. + +Notable Changes +--------------- + +* Ceph now packages python bindings for python3.6 instead of + python3.4, because EPEL7 recently switched from python3.4 to + python3.6 as the native python3. see the `announcement _` + for more details on the background of this change. + +* We now have telemetry support via a ceph-mgr module. The telemetry module is + absolutely on an opt-in basis, and is meant to collect generic cluster + information and push it to a central endpoint. By default, we're pushing it + to a project endpoint at https://telemetry.ceph.com/report, but this is + customizable using by setting the 'url' config option with:: + + ceph telemetry config-set url '' + + You will have to opt-in on sharing your information with:: + + ceph telemetry on + + You can view exactly what information will be reported first with:: + + ceph telemetry show + + Should you opt-in, your information will be licensed under the + Community Data License Agreement - Sharing - Version 1.0, which you can + read at https://cdla.io/sharing-1-0/ + + The telemetry module reports information about CephFS file systems, + including: + + - how many MDS daemons (in total and per file system) + - which features are (or have been) enabled + - how many data pools + - approximate file system age (year + month of creation) + - how much metadata is being cached per file system + + As well as: + + - whether IPv4 or IPv6 addresses are used for the monitors + - whether RADOS cache tiering is enabled (and which mode) + - whether pools are replicated or erasure coded, and + which erasure code profile plugin and parameters are in use + - how many RGW daemons, zones, and zonegroups are present; which RGW frontends are in use + - aggregate stats about the CRUSH map, like which algorithms are used, how + big buckets are, how many rules are defined, and what tunables are in use + +* A health warning is now generated if the average osd heartbeat ping + time exceeds a configurable threshold for any of the intervals + computed. The OSD computes 1 minute, 5 minute and 15 minute + intervals with average, minimum and maximum values. New configuration + option ``mon_warn_on_slow_ping_ratio`` specifies a percentage of + ``osd_heartbeat_grace`` to determine the threshold. A value of zero + disables the warning. New configuration option + ``mon_warn_on_slow_ping_time`` specified in milliseconds over-rides the + computed value, causes a warning + when OSD heartbeat pings take longer than the specified amount. + New admin command ``ceph daemon mgr.# dump_osd_network [threshold]`` command will + list all connections with a ping time longer than the specified threshold or + value determined by the config options, for the average for any of the 3 intervals. + New admin command ``ceph daemon osd.# dump_osd_network [threshold]`` will + do the same but only including heartbeats initiated by the specified OSD. + +* The configuration value ``osd_calc_pg_upmaps_max_stddev`` used for upmap + balancing has been removed. Instead use the mgr balancer config + ``upmap_max_deviation`` which now is an integer number of PGs of deviation + from the target PGs per OSD. This can be set with a command like + ``ceph config set mgr mgr/balancer/upmap_max_deviation 2``. The default + ``upmap_max_deviation`` is 1. There are situations where crush rules + would not allow a pool to ever have completely balanced PGs. For example, if + crush requires 1 replica on each of 3 racks, but there are fewer OSDs in 1 of + the racks. In those cases, the configuration value can be increased. + +Changelog +--------- + +* bluestore: >2GB bluefs writes (`pr#28965 `_, kungf, Kefu Chai, Sage Weil) +* bluestore: Inspect allocations (`pr#29539 `_, Neha Ojha, Adam Kupczyk) +* bluestore: [AFTER: #28644] luminous: os/bluestore: default to bitmap allocator for bluestore/bluefs (`pr#28972 `_, Igor Fedotov) +* bluestore: add bluestore_ignore_data_csum option (`pr#26247 `_, Sage Weil) +* bluestore: apply shared_alloc_size to shared device with log level change (`pr#29910 `_, Vikhyat Umrao, Josh Durgin, Igor Fedotov, Sage Weil) +* bluestore: avoid length overflow in extents returned by Stupid Alloc (`issue#40703 `_, `pr#29025 `_, Igor Fedotov) +* bluestore: call fault_range properly prior to looking for blob to … (`pr#27529 `_, Igor Fedotov) +* bluestore: common/options: Set concurrent bluestore rocksdb compactions to 2 (`pr#30149 `_, Mark Nelson) +* bluestore: dump before "no spanning blob id" abort (`pr#28030 `_, Igor Fedotov) +* bluestore: fix assertion in StupidAllocator::get_fragmentation (`pr#32523 `_, Lei Liu, Igor Fedotov) +* bluestore: fix duplicate allocations in bmap allocator (`issue#40080 `_, `pr#28644 `_, Igor Fedotov) +* bluestore: fix improper setting of STATE_KV_SUBMITTED (`pr#31674 `_, Igor Fedotov) +* bluestore: fix length overflow (`issue#39247 `_, `pr#27365 `_, Jianpeng Ma) +* bluestore: fix out-of-bound access in bmap allocator (`pr#27739 `_, Igor Fedotov) +* bluestore: load OSD all compression settings unconditionally (`issue#40480 `_, `pr#28895 `_, Igor Fedotov) +* bluestore: os/bluestore/BitmapFreelistManager: disable bluestore_debug_freelist (`pr#27459 `_, Sage Weil) +* bluestore: os/bluestore_tool: bluefs-bdev-expand: indicate bypassed for main dev (`pr#27912 `_, Igor Fedotov) +* bluestore: test/store_test: fix/workaround for BlobReuseOnOverwriteUT and garbageCollection (`pr#27056 `_, Igor Fedotov) +* build/ops: admin/build-doc: use python3 (`pr#30665 `_, Kefu Chai, Jason Dillaman) +* build/ops: admin/build-doc: use python3 (follow-on fix) (`pr#30690 `_, Nathan Cutler) +* build/ops: backport miscellaneous install-deps.sh and ceph.spec.in fixes from master (`issue#13997 `_, `issue#37707 `_, `issue#18163 `_, `issue#22998 `_, `pr#30722 `_, Yao Guotao, Tomasz Setkowski, Andrey Parfenov, Alfredo Deza, Kefu Chai, Nathan Cutler, Yunchuan Wen, Zack Cerza, Brad Hubbard, Loic Dachary) +* build/ops: ceph-test RPM not built for SUSE (`pr#29736 `_, Nathan Cutler) +* build/ops: cmake: pass -march to detect compiler support of arm64 crc/crypto (`issue#36080 `_, `issue#17516 `_, `pr#24169 `_, Kefu Chai) +* build/ops: do_cmake.sh: source not found (`issue#40004 `_, `issue#39981 `_, `pr#28216 `_, Nathan Cutler) +* build/ops: install-deps.sh: Remove CR repo (`issue#13997 `_, `pr#30129 `_, Brad Hubbard, Alfredo Deza) +* build/ops: python-cephfs should depend on python-rados (`issue#37612 `_, `issue#24918 `_, `pr#27950 `_, Kefu Chai) +* build/ops: python3-cephfs should provide python36-cephfs (`pr#30981 `_, Kefu Chai) +* build/ops: rpm: Build with lttng on openSUSE (`issue#39332 `_, `pr#27618 `_, Nathan Cutler) +* build/ops: rpm: explicitly declare python-tox build dependency (`pr#31934 `_, Nathan Cutler) +* ceph-volume: assume msgrV1 for all branches containing mimic (`pr#32796 `_, Jan Fajerski) +* ceph-volume: batch functional idempotency test fails since message is now on stderr (`pr#29791 `_, Jan Fajerski) +* ceph-volume: broken assertion errors after pytest changes (`pr#28929 `_, Alfredo Deza) +* ceph-volume: do not fail when trying to remove crypt mapper (`pr#30556 `_, Guillaume Abrioux) +* ceph-volume: does not recognize wal/db partitions created by ceph-disk (`pr#29462 `_, Jan Fajerski) +* ceph-volume: fix stderr failure to decode/encode when redirected (`pr#30299 `_, Alfredo Deza) +* ceph-volume: fix warnings raised by pytest (`pr#30677 `_, Rishabh Dave) +* ceph-volume: lvm list is O(n^2) (`pr#30094 `_, Rishabh Dave) +* ceph-volume: lvm.activate: Return an error if WAL/DB devices absent (`pr#29038 `_, David Casier) +* ceph-volume: lvm.zap fix cleanup for db partitions (`issue#40664 `_, `pr#30302 `_, Dominik Csapak) +* ceph-volume: missing string substitution when reporting mounts (`issue#40978 `_, `pr#29351 `_, Shyukri Shyukriev) +* ceph-volume: pre-install python-apt and its variants before test runs (`pr#30296 `_, Alfredo Deza) +* ceph-volume: prints errors to stdout with --format json (`issue#38548 `_, `pr#29508 `_, Jan Fajerski) +* ceph-volume: prints log messages to stdout (`pr#29603 `_, Jan Fajerski, Kefu Chai, Alfredo Deza) +* ceph-volume: set a lvm_size property on the fakedevice fixture (`pr#30331 `_, Andrew Schoen) +* ceph-volume: simple: when 'type' file is not present activate fails (`pr#29415 `_, Alfredo Deza) +* ceph-volume: tests add a sleep in tox for slow OSDs after booting (`pr#28927 `_, Alfredo Deza) +* ceph-volume: tests set the noninteractive flag for Debian (`pr#29901 `_, Alfredo Deza) +* ceph-volume: update testing playbook 'deploy.yml' (`pr#29075 `_, Andrew Schoen, Guillaume Abrioux) +* ceph-volume: use the Device.rotational property instead of sys_api (`pr#28519 `_, Andrew Schoen) +* ceph-volume: use the OSD identifier when reporting success (`pr#29771 `_, Alfredo Deza) +* ceph-volume: zap always skips block.db, leaves them around (`issue#40664 `_, `pr#30305 `_, Alfredo Deza) +* cephfs: client: _readdir_cache_cb() may use the readdir_cache already clear (`issue#41148 `_, `pr#30934 `_, huanwen ren) +* cephfs: client: ceph.dir.rctime xattr value incorrectly prefixes 09 to the nanoseconds component (`issue#40166 `_, `pr#28502 `_, David Disseldorp) +* cephfs: client: clean up error checking and return of _lookup_parent (`issue#40085 `_, `pr#28437 `_, Jeff Layton) +* cephfs: client: return -EIO when sync file which unsafe reqs have been dropped (`issue#40877 `_, `pr#30242 `_, simon gao) +* cephfs: client: unlink dentry for inode with llref=0 (`issue#40960 `_, `pr#29830 `_, Xiaoxi CHEN) +* cephfs: kclient: nofail option not supported (`pr#28436 `_, Kenneth Waegeman) +* cephfs: mds/server: check directory split after rename (`issue#39198 `_, `issue#38994 `_, `pr#27801 `_, Shen Hang) +* cephfs: mds: add command that config individual client session (`issue#40811 `_, `pr#31573 `_, "Yan, Zheng") +* cephfs: mds: add reference when setting Connection::priv to existing session (`pr#31049 `_, "Yan, Zheng") +* cephfs: mds: avoid trimming too many log segments after mds failover (`issue#40028 `_, `pr#28543 `_, simon gao) +* cephfs: mds: better output of 'ceph health detail' (`issue#39266 `_, `pr#27848 `_, Shen Hang) +* cephfs: mds: check dir fragment to split dir if mkdir makes it oversized (`pr#29829 `_, Erqi Chen) +* cephfs: mds: cleanup truncating inodes when standby replay mds trim log segments (`pr#31286 `_, "Yan, Zheng") +* cephfs: mds: dont print subtrees if they are too big or too many (`pr#27679 `_, Rishabh Dave) +* cephfs: mds: drop reconnect message from non-existent session (`issue#39191 `_, `issue#39026 `_, `pr#27737 `_, Shen Hang) +* cephfs: mds: fix corner case of replaying open sessions (`pr#28536 `_, "Yan, Zheng") +* cephfs: mds: initialize cap_revoke_eviction_timeout with conf (`issue#38844 `_, `issue#39208 `_, `pr#27840 `_, simon gao) +* cephfs: mds: msg weren't destroyed before handle_client_reconnect returned, if the reconnect msg was from non-existent session (`issue#40588 `_, `issue#40807 `_, `pr#29097 `_, Shen Hang) +* cephfs: mds: remove superfluous error in StrayManager::advance_delayed() (`issue#38679 `_, `pr#28432 `_, "Yan, Zheng") +* cephfs: mds: reset heartbeat inside big loop (`pr#28544 `_, "Yan, Zheng") +* cephfs: mds: there is an assertion when calling Beacon::shutdown() (`issue#38822 `_, `pr#28438 `_, huanwen ren) +* cephfs: mount: key parsing fail when doing a remount (`issue#40163 `_, `pr#29226 `_, Luis Henriques) +* cephfs: pybind/ceph_volume_client: remove ceph mds calls in favor of ceph fs calls (`issue#22038 `_, `issue#22524 `_, `pr#28445 `_, Patrick Donnelly, Ramana Raja) +* cephfs: qa/cephfs: relax min_caps_per_client check (`issue#38270 `_, `issue#38686 `_, `pr#27040 `_, "Yan, Zheng") +* cephfs: qa: misc cache drop fixes (`issue#38340 `_, `issue#38445 `_, `pr#27342 `_, Patrick Donnelly) +* common/config: hold lock while accessing mutable container (`pr#30345 `_, Jason Dillaman) +* common: Keyrings created by ceph auth get are not suitable for ceph auth import (`issue#40548 `_, `issue#22227 `_, `pr#28742 `_, Kefu Chai) +* common: common/ceph_context: avoid unnecessary wait during service thread shutdown (`pr#31020 `_, Jason Dillaman) +* common: common/options.cc: Lower the default value of osd_deep_scrub_large_omap_object_key_threshold (`pr#29175 `_, Neha Ojha) +* common: common/util: handle long lines in /proc/cpuinfo (`issue#38296 `_, `pr#32349 `_, Sage Weil) +* common: compressor/zstd: improvements (`pr#28647 `_, Adam C. Emerson, Sage Weil) +* common: data race in OutputDataSocket (`issue#40188 `_, `issue#40266 `_, `pr#29202 `_, Casey Bodley) +* core: ENOENT in collection_move_rename on EC backfill target (`issue#36739 `_, `issue#38880 `_, `pr#28110 `_, Neha Ojha) +* core: Health warnings on long network ping times (`issue#40586 `_, `issue#40640 `_, `pr#30230 `_, xie xingguo, David Zafman) +* core: Revert "crush: remove invalid upmap items" (`pr#32019 `_, David Zafman) +* core: backport recent messenger fixes (`issue#39243 `_, `issue#38242 `_, `issue#39448 `_, `pr#27583 `_, xie xingguo, Jason Dillaman) +* core: ceph tell osd.xx bench help : gives wrong help (`issue#39006 `_, `issue#39373 `_, `pr#28112 `_, Neha Ojha) +* core: ceph-objectstore-tool: rename dump-import to dump-export (`issue#39343 `_, `issue#39284 `_, `pr#27636 `_, David Zafman) +* core: crc cache should be invalidated when posting preallocated rx buffers (`issue#38436 `_, `pr#29248 `_, Ilya Dryomov) +* core: crush/CrushWrapper: ensure crush_choose_arg_map.size == max_buckets (`issue#38664 `_, `issue#38719 `_, `pr#27085 `_, Sage Weil) +* core: crush: remove invalid upmap items (`pr#31234 `_, huangjun) +* core: lazy omap stat collection (`pr#29190 `_, Brad Hubbard) +* core: mds,osd,mon,msg: use intrusive_ptr for holding Connection::priv (`issue#20924 `_, `pr#29859 `_, Shinobu Kinjo, Kefu Chai, Jianpeng Ma, Samuel Just) +* core: mgr/localpool: pg_num is an int arg to 'osd pool create' (`pr#30446 `_, Sage Weil) +* core: mgr/prometheus: assign a value to osd_dev_node when obj_store is not filestore or bluestore (`pr#31587 `_, jiahuizeng) +* core: mon, osd: parallel clean_pg_upmaps (`issue#40229 `_, `issue#40104 `_, `pr#28594 `_, xie xingguo) +* core: mon,osd: limit MOSDMap messages by size as well as map count (`issue#38276 `_, `pr#28640 `_, Sage Weil) +* core: mon/OSDMonitor: trim not-longer-exist failure reporters (`pr#30905 `_, NancySu05) +* core: mon: Error message displayed when mon_osd_max_split_count would be exceeded is not as user-friendly as it could be (`issue#39353 `_, `issue#39563 `_, `pr#27908 `_, Nathan Cutler, Brad Hubbard) +* core: mon: ensure prepare_failure() marks no_reply on op (`pr#30519 `_, Joao Eduardo Luis) +* core: mon: mon/AuthMonitor: don't validate fs caps on authorize (`pr#28666 `_, Joao Eduardo Luis) +* core: msg: output peer address when detecting bad CRCs (`issue#39367 `_, `pr#27858 `_, Greg Farnum) +* core: osd/OSDMap.cc: don't output over/underfull messages to lderr (`pr#31598 `_, Neha Ojha) +* core: osd/OSDMap: Replace get_out_osds with get_out_existing_osds (`issue#39154 `_, `issue#39420 `_, `pr#27728 `_, Brad Hubbard) +* core: osd/OSDMap: do not trust partially simplified pg_upmap_item (`pr#30926 `_, xie xingguo) +* core: osd/PG: Add PG to large omap log message (`pr#30922 `_, Brad Hubbard) +* core: osd/PG: discover missing objects when an OSD peers and PG is degraded (`pr#27751 `_, Jonas Jelten) +* core: osd/PGLog: preserve original_crt to check rollbackability (`issue#38894 `_, `issue#38905 `_, `issue#36739 `_, `issue#39042 `_, `pr#27715 `_, Neha Ojha) +* core: osd/PeeringState: recover_got - add special handler for empty log (`pr#30896 `_, xie xingguo) +* core: osd/PrimaryLogPG: skip obcs that don't exist during backfill scan_range (`pr#31030 `_, Sage Weil) +* core: osd/ReplicatedBackend.cc: 1321: FAILED assert(get_parent()->get_log().get_log().objects.count(soid) && (get_parent()->get_log().get_log().objects.find(soid)->second->op == pg_log_entry_t::LOST_REVERT) && (get_parent()->get_log().get_log().object (`issue#39537 `_, `issue#26958 `_, `pr#28989 `_, xie xingguo) +* core: osd/ReplicatedBackend.cc: 1349: FAILED ceph_assert(peer_missing.count(fromshard)) (`pr#31855 `_, Neha Ojha, xie xingguo) +* core: osd/bluestore: Actually wait until completion in write_sync (`pr#29564 `_, Vitaliy Filippov) +* core: osd: Better error message when OSD count is less than osd_pool_default_size (`issue#38617 `_, `issue#38585 `_, `pr#30298 `_, Vikhyat Umrao, Kefu Chai, Sage Weil, zjh) +* core: osd: Diagnostic logging for upmap cleaning (`pr#32666 `_, David Zafman) +* core: osd: FAILED ceph_assert(attrs || !pg_log.get_missing().is_missing(soid) || (it_objects != pg_log.get_log().objects.end() && it_objects->second->op == pg_log_entry_t::LOST_REVERT)) in PrimaryLogPG::get_object_context() (`issue#39218 `_, `issue#38931 `_, `issue#38784 `_, `pr#27878 `_, xie xingguo) +* core: osd: Fix for compatibility of encode/decode of osd_stat_t (`pr#31277 `_, David Zafman) +* core: osd: Include dups in copy_after() and copy_up_to() (`issue#39304 `_, `pr#28185 `_, David Zafman) +* core: osd: Remove unused osdmap flags full, nearfull from output (`issue#22350 `_, `pr#30902 `_, Gu Zhongyan, David Zafman) +* core: osd: add hdd, ssd and hybrid variants for osd_snap_trim_sleep (`pr#31857 `_, Neha Ojha) +* core: osd: clear PG_STATE_CLEAN when repair object (`pr#30271 `_, Zengran Zhang) +* core: osd: fix out of order caused by letting old msg from down osd be processed (`pr#31293 `_, Mingxin Liu) +* core: osd: merge replica log on primary need according to replica log's crt (`pr#30917 `_, Zengran Zhang) +* core: osd: refuse to start if we're > N+2 from recorded require_osd_release (`issue#38076 `_, `pr#31858 `_, Sage Weil) +* core: osd: report omap/data/metadata usage (`issue#40638 `_, `pr#28851 `_, Sage Weil) +* core: osd: rollforward may need to mark pglog dirty (`issue#40403 `_, `pr#31036 `_, Zengran Zhang) +* core: osd: scrub error on big objects; make bluestore refuse to start on big objects (`pr#30785 `_, Sage Weil, David Zafman) +* core: osd: shutdown recovery_request_timer earlier (`issue#39204 `_, `pr#27810 `_, Zengran Zhang) +* core: pybind: Rados.get_fsid() returning bytes in python3 (`issue#38873 `_, `issue#38381 `_, `pr#27674 `_, Jason Dillaman) +* core: should report EINVAL in ErasureCode::parse() if m<=0 (`issue#38682 `_, `issue#38750 `_, `pr#28111 `_, Sage Weil) +* doc: Minor rados related documentation fixes (`issue#38896 `_, `issue#38902 `_, `pr#27185 `_, David Zafman) +* doc: Missing Documentation for radosgw-admin reshard commands (man pages) (`issue#40092 `_, `issue#21617 `_, `pr#28329 `_, Orit Wasserman) +* doc: Update layout.rst (`pr#26381 `_, ypdai) +* doc: describe metadata_heap cleanup (`issue#18174 `_, `pr#30071 `_, Dan van der Ster) +* doc: doc/rbd: s/guess/xml/ for codeblock lexer (`pr#31091 `_, Kefu Chai) +* doc: doc/rgw: document CreateBucketConfiguration for s3 PUT Bucket api (`issue#39597 `_, `pr#31647 `_, Casey Bodley) +* doc: doc/rgw: document use of 'realm pull' instead of 'period pull' (`issue#39655 `_, `pr#30132 `_, Casey Bodley) +* doc: fixed --read-only argument value in multisite doc (`pr#31655 `_, Chenjiong Deng) +* doc: osd_recovery_priority is not documented (but osd_recovery_op_priority is) (`pr#27471 `_, David Zafman) +* doc: update bluestore cache settings and clarify data fraction (`issue#39522 `_, `pr#31257 `_, Jan Fajerski) +* doc: wrong datatype describing crush_rule (`pr#32267 `_, Kefu Chai) +* doc: wrong value of usage log default in logging section (`issue#37892 `_, `issue#37856 `_, `pr#29015 `_, Abhishek Lekshmanan) +* mgr: Change default upmap_max_deviation to 5 (`pr#32586 `_, David Zafman) +* mgr: Release GIL and Balancer fixes (`pr#31992 `_, Kefu Chai, Noah Watkins, David Zafman) +* mgr: mgr/BaseMgrModule: drop GIL in set_config (`issue#39040 `_, `issue#36766 `_, `pr#27808 `_, John Spray, xie xingguo, Sage Weil) +* mgr: mgr/balancer: blame if upmap won't actually work (`issue#38781 `_, `pr#26498 `_, xie xingguo) +* mgr: mgr/balancer: python3 compatibility issue (`pr#31104 `_, Mykola Golub) +* mgr: mgr/prometheus: Cast collect_timeout (scrape_interval) to float (`pr#31107 `_, Ben Meekhof) +* mgr: mgr/prometheus: replace whitespaces in metrics' names (`pr#31105 `_, Alfonso Martínez) +* mgr: DaemonServer::handle_conf_change - broken locking (`issue#38899 `_, `issue#38962 `_, `pr#29213 `_, xie xingguo) +* mgr: pybind/mgr: Cancel output color control (`pr#31696 `_, Zheng Yin) +* mgr: restful: Query nodes_by_id for items (`pr#31272 `_, Boris Ranto) +* mgr: telemetry module for mgr (`issue#37976 `_, `pr#32135 `_, Joao Eduardo Luis, Wido den Hollander, Kefu Chai, Sage Weil, Dan Mick) +* rbd: Reduce log level for cls/journal and cls/rbd expected errors (`issue#40865 `_, `pr#30857 `_, Jason Dillaman) +* rbd: journal: properly advance read offset after skipping invalid range (`pr#28811 `_, Mykola Golub) +* rbd: krbd: avoid udev netlink socket overrun and retry on transient errors from udev_enumerate_scan_devices() (`issue#39089 `_, `pr#31360 `_, Zhi Zhang, Ilya Dryomov) +* rbd: krbd: return -ETIMEDOUT in polling (`issue#38792 `_, `issue#38975 `_, `pr#27536 `_, Dongsheng Yang) +* rbd: librbd: add missing shutdown states to managed lock helper (`issue#38387 `_, `issue#38508 `_, `pr#28158 `_, Jason Dillaman) +* rbd: librbd: async open/close should free ImageCtx before issuing callback (`issue#39427 `_, `issue#39031 `_, `pr#28126 `_, Jason Dillaman) +* rbd: librbd: disable image mirroring when moving to trash (`pr#28149 `_, Mykola Golub) +* rbd: librbd: ensure compare-and-write doesn't skip compare after copyup (`issue#38440 `_, `issue#38383 `_, `pr#28134 `_, Ilya Dryomov) +* rbd: librbd: improve object map performance under high IOPS workloads (`issue#38674 `_, `issue#38538 `_, `pr#28137 `_, Jason Dillaman) +* rbd: librbd: properly track in-flight flush requests (`issue#40574 `_, `pr#28773 `_, Jason Dillaman) +* rbd: librbd: race condition possible when validating RBD pool (`issue#38500 `_, `issue#38564 `_, `pr#28140 `_, Jason Dillaman) +* rbd: rbd-mirror: clear out bufferlist prior to listing mirror images (`issue#39460 `_, `issue#39407 `_, `pr#28124 `_, Jason Dillaman) +* rbd: rbd-mirror: don't overwrite status error returned by replay (`pr#29874 `_, Mykola Golub) +* rbd: rbd-mirror: handle duplicates in image sync throttler queue (`issue#40592 `_, `issue#40519 `_, `pr#28812 `_, Mykola Golub) +* rbd: rbd-mirror: ignore errors relating to parsing the cluster config file (`pr#30118 `_, Jason Dillaman) +* rbd: rbd-mirror: make logrotate work (`pr#32599 `_, Mykola Golub) +* rbd: rbd/action: fix error getting positional argument (`issue#40095 `_, `pr#29295 `_, songweibin) +* rbd: tools/rbd-ggate: close log before running postfork (`pr#30858 `_, Willem Jan Withagen) +* rbd: use the ordered throttle for the export action (`issue#40435 `_, `pr#30856 `_, Jason Dillaman) +* rgw: Adding tcp_nodelay option to Beast (`issue#38925 `_, `pr#27424 `_, Or Friedmann) +* rgw: GetBucketCORS API returns Not Found error code when CORS configuration does not exist (`issue#38887 `_, `issue#26964 `_, `pr#27123 `_, yuliyang, ashitakasam) +* rgw: LC: handle resharded buckets (`pr#29122 `_, Abhishek Lekshmanan) +* rgw: RGWCoroutine::call(nullptr) sets retcode=0 (`pr#30329 `_, Casey Bodley) +* rgw: TempURL should not allow PUTs with the X-Object-Manifest (`issue#20797 `_, `pr#31652 `_, Radoslaw Zarzynski) +* rgw: add list user admin OP API (`pr#30984 `_, Oshyn Song) +* rgw: allow radosgw-admin to list bucket w --allow-unordered (`pr#31220 `_, J. Eric Ivancich) +* rgw: civetweb frontend: response is buffered in memory if content length is not explicitly specified (`issue#39615 `_, `issue#12713 `_, `pr#28069 `_, Robin H. Johnson) +* rgw: cls/rgw: raise debug level of bi_log_iterate_entries output (`issue#40559 `_, `pr#27974 `_, Casey Bodley) +* rgw: cls/user: cls_user_set_buckets_info overwrites creation_time (`issue#39635 `_, `pr#31648 `_, Casey Bodley) +* rgw: conditionally allow builtin users with non-unique email addresses (`issue#40089 `_, `issue#40506 `_, `pr#28717 `_, Matt Benjamin) +* rgw: crypt: permit RGW-AUTO/default with SSE-S3 headers (`pr#31860 `_, Matt Benjamin) +* rgw: datalog/mdlog trim commands loop until done (`pr#29713 `_, Casey Bodley) +* rgw: delete_obj_index() takes mtime for bilog (`issue#24991 `_, `pr#31649 `_, Casey Bodley) +* rgw: don't crash on missing /etc/mime.types (`issue#38920 `_, `issue#38328 `_, `pr#27332 `_, Casey Bodley) +* rgw: don't throw when accept errors are happening on frontend (`pr#30147 `_, Yuval Lifshitz) +* rgw: failed to pass test_bucket_create_naming_bad_punctuation in s3test (`issue#39360 `_, `issue#39358 `_, `issue#23587 `_, `issue#26965 `_, `pr#27668 `_, yuliyang, Abhishek Lekshmanan) +* rgw: fix bucket may redundantly list keys after BI_PREFIX_CHAR (`issue#39984 `_, `issue#40149 `_, `pr#28408 `_, Tianshan Qu, Casey Bodley) +* rgw: fix cls_bucket_list_unordered() partial results (`pr#30254 `_, Mark Kogan) +* rgw: fix drain handles error when deleting bucket with bypass-gc option (`pr#30198 `_, dongdong tao) +* rgw: fix issue for CreateBucket with BucketLocation param (`pr#29826 `_, Enming Zhang, Matt Benjamin) +* rgw: fix read not exists null version return wrong (`issue#38811 `_, `issue#38908 `_, `pr#27330 `_, Tianshan Qu) +* rgw: fix refcount tags to match and update object's idtag (`pr#30323 `_, J. Eric Ivancich) +* rgw: gc use aio (`issue#24592 `_, `pr#28784 `_, Yehuda Sadeh, Zhang Shaowen, Yao Zongyou, Jesse Williamson) +* rgw: get or set realm zonegroup zone need check user's caps (`issue#37497 `_, `pr#28332 `_, yuliyang, Casey Bodley) +* rgw: housekeeping of reset stats operation in radosgw-admin and cls back-end (`pr#30674 `_, J. Eric Ivancich) +* rgw: inefficient unordered bucket listing (`issue#39409 `_, `issue#39393 `_, `pr#28350 `_, Casey Bodley) +* rgw: lc: continue past get_obj_state() failure (`pr#32194 `_, Matt Benjamin) +* rgw: make dns hostnames matching case insensitive (`issue#40995 `_, `pr#30375 `_, Casey Bodley, Abhishek Lekshmanan) +* rgw: mitigate bucket list with max-entries excessively high (`pr#30666 `_, J. Eric Ivancich) +* rgw: multisite: 'radosgw-admin bucket sync status' should call syncs_from(source.name) instead of id (`issue#40022 `_, `issue#40143 `_, `pr#29271 `_, Casey Bodley) +* rgw: orphans find perf improvments (`issue#39180 `_, `pr#28314 `_, Abhishek Lekshmanan) +* rgw: parse_copy_location defers url-decode (`issue#27217 `_, `pr#31651 `_, Casey Bodley) +* rgw: policy fix for nonexistent objects (`issue#38638 `_, `pr#29153 `_, Pritha Srivastava) +* rgw: remove_olh_pending_entries() does not limit the number of xattrs to remove (`issue#39118 `_, `issue#39177 `_, `pr#28349 `_, Casey Bodley) +* rgw: resolve bugs and clean up garbage collection code (`issue#38454 `_, `pr#31664 `_, Dan Hill, J. Eric Ivancich) +* rgw: return ERR_NO_SUCH_BUCKET early while evaluating bucket policy (`issue#38420 `_, `pr#31218 `_, Abhishek Lekshmanan) +* rgw: rgw-admin: fix data sync report for master zone (`issue#38958 `_, `pr#27453 `_, cfanz) +* rgw: rgw-admin: object stat command output's delete_at not readable (`issue#39497 `_, `pr#27991 `_, Abhishek Lekshmanan) +* rgw: rgw/OutputDataSocket: actually discard data on full buffer (`issue#40178 `_, `pr#31654 `_, Matt Benjamin) +* rgw: rgw/multisite: Don't allow certain radosgw-admin commands to run on non-master zone (`issue#39548 `_, `pr#30946 `_, Danny Al-Gaaf, Shilpa Jagannath) +* rgw: rgw_file: save etag and acl info in setattr (`issue#39227 `_, `pr#27881 `_, Tao Chen) +* rgw: rgw_sync: drop ENOENT error logs from mdlog (`issue#40032 `_, `issue#38748 `_, `pr#27110 `_, Abhishek Lekshmanan) +* rgw: set null version object acl issues (`issue#36763 `_, `pr#31653 `_, Tianshan Qu) +* rgw: the Multi-Object Delete operation of S3 API wrongly handles the Code response element (`issue#18241 `_, `issue#40135 `_, `pr#29269 `_, Radoslaw Zarzynski) +* rgw: unable to cancel reshard operations for buckets with tenants (`issue#39016 `_, `pr#27992 `_, Abhishek Lekshmanan) +* rgw: update civetweb submodule to match version in mimic (`issue#24158 `_, `pr#27982 `_, Abhishek Lekshmanan) +* rgw: update s3-test download code for s3-test tasks (`pr#32227 `_, Ali Maredia) +* rgw: when exclusive lock fails due existing lock, log add'l info (`issue#38397 `_, `issue#38171 `_, `pr#26554 `_, J. Eric Ivancich) +* rgw:send x-amz-version-id header when upload files (`issue#39572 `_, `pr#27935 `_, Xinying Song) +* tools: Add clear-data-digest command to objectstore tool (`pr#29366 `_, Li Yichao) +* tools: platform.linux_distribution() is deprecated; stop using it (`issue#39277 `_, `issue#18163 `_, `pr#27557 `_, Nathan Cutler) +* tools: rados tools list objects in a pg (`issue#36732 `_, `pr#30608 `_, Li Wang, Vikhyat Umrao) + + v12.2.12 Luminous ================= @@ -54,7 +364,7 @@ Changelog * mgr/DaemonServer: log pgmap usage to cluster log (`issue#37886 `_, `pr#26207 `_, Neha Ojha) * mgr/dashboard: fix for using '::' on hosts without ipv6 (`issue#38575 `_, `pr#26751 `_, Noah Watkins) * mgr: deadlock: _check_auth_rotating possible clock skew, rotating keys expired way too early (`issue#23460 `_, `pr#26427 `_, Yan Jun) -* mgr: drop GIL in get_config (`issue#35985 `_, `pr#26613 `_, John Spray) +* mgr: drop GIL in StandbyPyModule::get_config (`issue#35985 `_, `pr#26613 `_, John Spray; `pr#27639 `_, wumingqiao) * mgr/restful: fix py got exception when get osd info (`issue#38182 `_, `pr#26199 `_, Boris Ranto, zouaiguo) * mon: A PG with PG_STATE_REPAIR doesn't mean damaged data, PG_STATE_IN… (`issue#38070 `_, `pr#26305 `_, David Zafman) * mon/MgrStatMonitor: ensure only one copy of initial service map (`issue#38839 `_, `pr#27207 `_, Sage Weil) diff --git a/doc/releases/releases.yml b/doc/releases/releases.yml index 266cfb14d50f..2de0d13e25c4 100644 --- a/doc/releases/releases.yml +++ b/doc/releases/releases.yml @@ -53,6 +53,8 @@ releases: luminous: releases: + - version: 12.2.13 + released: 2020-01-31 - version: 12.2.12 released: 2019-04-12 - version: 12.2.11