======== Nautilus ======== Nautilus is the 14th stable release of Ceph. It is named after the nautilus, a family of cephalopods characterized by a whorled shell. v14.2.22 Nautilus ================= This is the 22nd and likely the last backport release in the Nautilus series. Ultimately, we recommend all users upgrade to newer Ceph releases. Notable Changes --------------- * This release sets ``bluefs_buffered_io`` to true by default to improve performance for metadata heavy workloads. Enabling this option has been reported to occasionally cause excessive kernel swapping under certain workloads. Currently, the most consistent performing combination is to enable bluefs_buffered_io and disable system level swap. * The default value of ``bluestore_cache_trim_max_skip_pinned`` has been increased to 1000 to control memory growth due to onodes. * Several other bug fixes in BlueStore, including a fix for an unexpected ENOSPC bug in Avl/Hybrid allocators. * The trimming logic in the monitor has been made dynamic, with the introduction of ``paxos_service_trim_max_multiplier``, a factor by which ``paxos_service_trim_max`` is multiplied to make trimming faster, when required. Setting it to 0 disables the upper bound check for trimming and makes the monitors trim at the maximum rate. * A ``--max `` option is available with the ``osd ok-to-stop`` command to provide up to N OSDs that can be stopped together without making PGs unavailable. * OSD: the option ``osd_fast_shutdown_notify_mon`` has been introduced to allow the OSD to notify the monitor it is shutting down even if ``osd_fast_shutdown`` is enabled. This helps with the monitor logs on larger clusters, that may get many 'osd.X reported immediately failed by osd.Y' messages, and confuse tools. * A long-standing bug that prevented 32-bit and 64-bit client/server interoperability under msgr v2 has been fixed. In particular, mixing armv7l (armhf) and x86_64 or aarch64 servers in the same cluster now works. Changelog --------- * PendingReleaseNotes: note about 14.2.18 mgr fixes (`pr#40121 `_, Josh Durgin) * bind on loopback address if no other addresses are available (`pr#41137 `_, Kefu Chai, Matthew Oliver) * build python extensions using distutils (`pr#41167 `_, Kefu Chai) * ceph-monstore-tool: use a large enough paxos/{first,last}_committed (`issue#38219 `_, `pr#41874 `_, Kefu Chai) * ceph-volume: disable cache for blkid calls (`pr#41114 `_, Rafał Wądołowski) * ceph-volume: fix batch report and respect ceph.conf config values (`pr#41716 `_, Andrew Schoen) * ceph-volume: fix batch report and respect ceph.conf config values (`pr#41713 `_, Andrew Schoen) * ceph-volume: implement bluefs volume migration (`pr#41676 `_, Kefu Chai, Igor Fedotov) * ceph.spec.in: Enable tcmalloc on IBM Power and Z (`pr#40283 `_, Nathan Cutler, Yaakov Selkowitz) * cephfs: client: add ability to lookup snapped inodes by inode number (`pr#40769 `_, Jeff Layton, Xiubo Li) * cephfs: client: only check pool permissions for regular files (`pr#40730 `_, Xiubo Li) * cephfs: client: wake up the front pos waiter (`pr#40865 `_, Xiubo Li) * client: Fix executeable access check for the root user (`pr#41297 `_, Kotresh HR) * client: fire the finish_cap_snap() after buffer being flushed (`pr#40722 `_, Xiubo Li) * cls/rgw: look for plain entries in non-ascii plain namespace too (`pr#41776 `_, Mykola Golub) * cmake,zstd,debian: allow use libzstd in system (`pr#40516 `_, Kefu Chai, Bryan Stillwell, Dan van der Ster) * cmake: build static libs if they are internal ones (`pr#39903 `_, Kefu Chai) * cmake: detect gettid() presense (`pr#40333 `_, Igor Fedotov) * cmake: set empty RPATH for some test executables (`pr#40619 `_, Nathan Cutler, Kefu Chai) * common/buffer: adjust align before calling posix_memalign() (`pr#41246 `_, Ilya Dryomov) * common/ipaddr: skip loopback interfaces named 'lo' and test it (`pr#40423 `_, Dan van der Ster) * common/mempool: only fail tests if sharding is very bad (`pr#40567 `_, singuliere) * common/options/global.yaml.in: increase default value of bluestore_cache_trim_max_skip_pinned (`pr#40920 `_, Neha Ojha) * common/options: bluefs_buffered_io=true by default (`pr#40393 `_, Dan van der Ster) * common: Fix assertion when disabling and re-enabling clog_to_monitors (`pr#39912 `_, Gerald Yang) * common: remove log_early configuration option (`pr#40549 `_, Changcheng Liu) * crush/CrushLocation: do not print logging message in constructor (`pr#40750 `_, Alex Wu) * crush/CrushWrapper: update shadow trees on update_item() (`pr#39920 `_, Sage Weil) * debian/ceph-common.postinst: do not chown cephadm log dirs (`pr#40698 `_, Sage Weil) * debian/control: add missing commas, use python3 packages for "make check" on focal (`pr#40485 `_, Kefu Chai, Alfredo Deza) * install-deps.sh: remove existing ceph-libboost of different version (`pr#40287 `_, Kefu Chai) * libcephfs: ignore restoring the open files limit (`pr#41593 `_, Xiubo Li) * librbd: allow interrupted trash move request to be restarted (`pr#40675 `_, Jason Dillaman) * librbd: don't stop at the first unremovable image when purging (`pr#41662 `_, Ilya Dryomov) * librbd: fix sporadic failures in TestMigration.StressLive (`pr#41788 `_, Jason Dillaman) * librbd: race when disabling object map with overlapping in-flight writes (`pr#41787 `_, Jason Dillaman) * make-dist: refuse to run if script path contains a colon (`pr#41088 `_, Nathan Cutler) * mds: do not trim the inodes from the lru list in standby_replay (`pr#41144 `_, Xiubo Li) * mds: fix race of fetching large dirfrag (`pr#40720 `_, Erqi Chen) * mds: send scrub status to ceph-mgr only when scrub is running (`issue#45349 `_, `pr#36183 `_, Kefu Chai, Venky Shankar) * mds: trim cache regularly for standby-replay (`pr#40744 `_, Patrick Donnelly) * mgr/ActivePyModules.cc: always release GIL before attempting to acquire a lock (`pr#40047 `_, Kefu Chai) * mgr/Dashboard: Remove erroneous elements in hosts-overview Grafana dashboard (`pr#41650 `_, Malcolm Holmes) * mgr/PyModule: put mgr_module_path before Py_GetPath() (`pr#40753 `_, Kefu Chai) * mgr/dashboard: Fix for alert notification message being undefined (`pr#40590 `_, Nizamudeen A) * mgr/dashboard: Fix missing root path of each session for CephFS (`pr#39869 `_, Yongseok Oh) * mgr/dashboard: Monitoring alert badge includes suppressed alerts (`pr#39511 `_, Aashish Sharma) * mgr/dashboard: Remove username, password fields from Manager Modules/dashboard,influx (`pr#40490 `_, Aashish Sharma) * mgr/dashboard: Revoke read-only user's access to Manager modules (`pr#40650 `_, Nizamudeen A) * mgr/dashboard: debug nodeenv hangs (`pr#40818 `_, Ernesto Puerta) * mgr/dashboard: decouple unit tests from build artifacts (`pr#40547 `_, Alfonso Martínez) * mgr/dashboard: encode non-ascii string before passing it to exec_cmd() (`pr#40522 `_, Kefu Chai) * mgr/dashboard: filesystem pool size should use stored stat (`pr#41021 `_, Avan Thakkar) * mgr/dashboard: fix API docs link (`pr#41521 `_, Avan Thakkar) * mgr/dashboard: fix OSDs Host details/overview grafana graphs (`issue#49769 `_, `pr#41531 `_, Alfonso Martínez, Michael Wodniok) * mgr/dashboard: fix base-href: revert it to previous approach (`pr#41253 `_, Avan Thakkar) * mgr/dashboard: fix bucket objects and size calculations (`pr#41648 `_, Avan Thakkar) * mgr/dashboard: fix dashboard instance ssl certificate functionality (`pr#40003 `_, Avan Thakkar) * mgr/dashboard: grafana panels for rgw multisite sync performance (`pr#41386 `_, Alfonso Martínez) * mgr/dashboard: python 2: fix error when non-ASCII password (`pr#40610 `_, Alfonso Martínez) * mgr/dashboard: report mgr fsid (`pr#39853 `_, Ernesto Puerta) * mgr/dashboard: show partially deleted RBDs (`pr#41738 `_, Tatjana Dehler) * mgr/dashboard: test prometheus rules through promtool (`pr#39984 `_, Aashish Sharma, Kefu Chai) * mgr/progress: ensure progress stays between [0,1] (`pr#41310 `_, Dan van der Ster) * mgr/telemetry: check if 'ident' channel is active (`pr#39923 `_, Yaarit Hatuka) * mgr/telemetry: pass leaderboard flag even w/o ident (`pr#41839 `_, Sage Weil) * mgr/volumes: Retain suid guid bits in clone (`pr#40270 `_, Kotresh HR) * mgr: add --max to 'osd ok-to-stop' command (`pr#40676 `_, Sage Weil, Xuehan Xu) * mgr: add mon metada using type of "mon" (`pr#40359 `_, Kefu Chai) * mon/ConfigMap: fix stray option leak (`pr#40299 `_, Sage Weil) * mon/MonClient: reset authenticate_err in _reopen_session() (`pr#41016 `_, Ilya Dryomov) * mon/MonClient: tolerate a rotating key that is slightly out of date (`pr#41448 `_, Ilya Dryomov) * mon/OSDMonitor: drop stale failure_info after a grace period (`pr#41213 `_, Kefu Chai) * mon/OSDMonitor: drop stale failure_info even if can_mark_down() (`pr#41519 `_, Kefu Chai) * mon: Modifying trim logic to change paxos_service_trim_max dynamically (`pr#41099 `_, Aishwarya Mathuria) * mon: ensure progress is [0,1] before printing (`pr#41098 `_, Dan van der Ster) * mon: load stashed map before mkfs monmap (`pr#41762 `_, Dan van der Ster) * monmaptool: Don't call set_port on an invalid address (`pr#40700 `_, Brad Hubbard, Kefu Chai) * os/FileStore: don't propagate split/merge error to "create"/"remove" (`pr#40987 `_, Mykola Golub) * os/FileStore: fix to handle readdir error correctly (`pr#41238 `_, Misono Tomohiro) * os/bluestore/BlueFS: do not _flush_range deleted files (`pr#40752 `_, weixinwei) * os/bluestore/BlueFS: use iterator_impl::copy instead of bufferlist::c_str() to avoid bufferlist rebuild (`pr#39883 `_, weixinwei) * os/bluestore: be more verbose in _open_super_meta by default (`pr#41060 `_, Igor Fedotov) * os/bluestore: do not count pinned entries as trimmed ones (`pr#41173 `_, Igor Fedotov) * os/bluestore: fix unexpected ENOSPC in Avl/Hybrid allocators (`pr#41673 `_, Igor Fedotov) * os/bluestore: introduce multithireading sync for bluestore's repairer (`pr#41749 `_, Igor Fedotov) * os/bluestore: tolerate zero length for allocators' init\_[add/rm]_free() (`pr#41750 `_, Igor Fedotov) * osd/PG.cc: handle removal of pgmeta object (`pr#41682 `_, Neha Ojha) * osd/PeeringState: fix acting_set_writeable min_size check (`pr#41611 `_, Dan van der Ster) * osd: add osd_fast_shutdown_notify_mon option (default false) (`issue#46978 `_, `pr#40014 `_, Mauricio Faria de Oliveira) * osd: compute OSD's space usage ratio via raw space utilization (`pr#41111 `_, Igor Fedotov) * osd: do not dump an osd multiple times (`pr#40747 `_, Xue Yantao) * pybind/ceph_daemon: do not fail if prettytable is not available (`pr#40335 `_, Kefu Chai) * pybind/cephfs: DT_REG and DT_LNK values are wrong (`pr#40704 `_, Varsha Rao) * pybind/mgr/balancer/module.py: assign weight-sets to all buckets before balancing (`pr#40128 `_, Neha Ojha) * pybind/mgr/volumes: deadlock on async job hangs finisher thread (`pr#41394 `_, Patrick Donnelly) * pybind/rados: should pass "name" to cstr() (`pr#41318 `_, Kefu Chai) * pybind: volume_client handle purge of directory names encoded in utf-8 (`pr#36679 `_, Jose Castro Leon) * qa/tasks/mgr/test_progress: fix wait_until_equal (`pr#39397 `_, Kamoltat, Ricardo Dias) * qa/tasks/qemu: precise repos have been archived (`pr#41641 `_, Ilya Dryomov) * qa/tasks/vstart_runner.py: start max required mgrs (`pr#40751 `_, Alfonso Martínez) * qa/tests: added client-upgrade-nautilus-pacific tests (`pr#39818 `_, Yuri Weinstein) * qa/tests: advanced nautilus initial version to 14.2.20 (`pr#41227 `_, Yuri Weinstein) * qa/upgrade: disable update_features test_notify with older client as lockowner (`pr#41513 `_, Deepika Upadhyay) * qa: add sleep for blocklisting to take effect (`pr#40714 `_, Patrick Donnelly) * qa: bump osd heartbeat grace for ffsb workload (`pr#40713 `_, Nathan Cutler) * qa: delete all fs during tearDown (`pr#40709 `_, Patrick Donnelly) * qa: krbd_blkroset.t: update for separate hw and user read-only flags (`pr#40212 `_, Ilya Dryomov) * qa: vstart_runner: TypeError: lstat: path should be string, bytes or os.PathLike, not NoneType (`pr#41485 `_, Patrick Donnelly) * rbd-mirror: image replayer stop might race with instance replayer shut down (`pr#41792 `_, Mykola Golub, Jason Dillaman) * rgw : catch non int exception (`pr#40356 `_, caolei) * rgw/http: add timeout to http client (`pr#40667 `_, Yuval Lifshitz) * rgw: Added caching for S3 credentials retrieved from keystone (`pr#41158 `_, James Weaver) * rgw: Use correct bucket info when put or get large object with swift (`pr#40106 `_, zhiming zhang, yupeng chen) * rgw: allow rgw-orphan-list to handle intermediate files w/ binary data (`pr#39767 `_, J. Eric Ivancich) * rgw: beast frontend uses 512k mprotected coroutine stacks (`pr#39947 `_, Yaakov Selkowitz, Mauricio Faria de Oliveira, Daniel Gryniewicz, Casey Bodley) * rgw: check object locks in multi-object delete (`issue#47586 `_, `pr#41164 `_, Mark Houghton, Matt Benjamin) * rgw: during reshard lock contention, adjust logging (`pr#41156 `_, J. Eric Ivancich) * rgw: limit rgw_gc_max_objs to RGW_SHARDS_PRIME_1 (`pr#40670 `_, Rafał Wądołowski) * rgw: radoslist incomplete multipart parts marker (`pr#40827 `_, J. Eric Ivancich) * rgw: return ERR_NO_SUCH_BUCKET early while evaluating bucket policy (`issue#38420 `_, `pr#40668 `_, Abhishek Lekshmanan) * rgw: return error when trying to copy encrypted object without key (`pr#40671 `_, Ilsoo Byun) * rgw: tooling to locate rgw objects with missing rados components (`pr#39771 `_, Michael Kidd, J. Eric Ivancich) * run-make-check.sh: let ctest generate XML output (`pr#40407 `_, Kefu Chai) * src/global/signal_handler.h: fix preprocessor logic for alpine (`pr#39942 `_, Duncan Bellamy) * test/TestOSDScrub: fix mktime() error (`pr#40621 `_, luo rixin) * test/pybind: s/nosetests/python3/ (`pr#40536 `_, Kefu Chai) * test/rgw: test_datalog_autotrim filters out new entries (`pr#40674 `_, Casey Bodley) * test: use std::atomic instead of volatile for cb_done var (`pr#40701 `_, Jeff Layton) * tests: ceph_test_rados_api_watch_notify: Allow for reconnect (`pr#40697 `_, Brad Hubbard) * vstart.sh: disable "auth_allow_insecure_global_id_reclaim" (`pr#40959 `_, Kefu Chai) v14.2.21 Nautilus ================= This is a hotfix release addressing a number of security issues and regressions. We recommend all users update to this release. Changelog --------- * mgr/dashboard: fix base-href: revert it to previous approach (`issue#50684 `_, Avan Thakkar) * mgr/dashboard: fix cookie injection issue (:ref:`CVE-2021-3509`, Ernesto Puerta) * rgw: RGWSwiftWebsiteHandler::is_web_dir checks empty subdir_name (:ref:`CVE-2021-3531`, Felix Huettner) * rgw: sanitize \r in s3 CORSConfiguration's ExposeHeader (:ref:`CVE-2021-3524`, Sergey Bobrov, Casey Bodley) v14.2.20 Nautilus ================= This is the 20th bugfix release in the Nautilus stable series. It addresses a security vulnerability in the Ceph authentication framework. We recommend all Nautilus users upgrade. Security fixes -------------- * This release includes a security fix that ensures the global_id value (a numeric value that should be unique for every authenticated client or daemon in the cluster) is reclaimed after a network disconnect or ticket renewal in a secure fashion. Two new health alerts may appear during the upgrade indicating that there are clients or daemons that are not yet patched with the appropriate fix. It is possible to disable the health alerts around insecure clients:: ceph config set mon mon_warn_on_insecure_global_id_reclaim false ceph config set mon mon_warn_on_insecure_global_id_reclaim_allowed false However, if you disable these alerts, we strongly recommend that you follow up by removing these settings after clients have been upgraded or after upgrading to Octopus. (Starting in Octopus, these health alerts can be muted for a specific period of time.) For more information, see :ref:`CVE-2021-20288`. v14.2.19 Nautilus ================= This is the 19th update to the Ceph Nautilus release series. This is a hotfix release to prevent daemons from binding to loopback network interfaces. All nautilus users are advised to upgrade to this release. Notable Changes --------------- * This release fixes a regression introduced in v14.2.17 whereby in certain environments, OSDs will bind to 127.0.0.1. See `issue#49938 `_. Changelog --------- * common/ipaddr: also skip just `lo` (`pr#40423 `_, Dan van der Ster) v14.2.18 Nautilus ================= This is the 18th backport release in the Nautilus series. It fixes a regression introduced in 14.2.17 in which the manager module tries to use a couple python modules that do not exist in some environments. We recommend users to update to this release. Notable Changes --------------- * This release fixes issues loading the dashboard and volumes manager modules in some environments. Changelog --------- * nautilus: .github: add workflow for adding labels and milestone (`pr#39926 `_, Kefu Chai, Ernesto Puerta) * nautilus: mgr/dashboard: Python2 Cookie module import fails on Python3 (`pr#40116 `_, Volker Theile) * nautilus: mgr/volumes: don't require typing (`pr#40095 `_, Josh Durgin) * nautilus: qa/suites/krbd: address recent issues caused by newer kernels (`pr#40064 `_, Ilya Dryomov) v14.2.17 Nautilus ================= This is the 17th backport release in the Nautilus series. We recommend users to update to this release. Notable Changes --------------- * $pid expansion in config paths like ``admin_socket`` will now properly expand to the daemon pid for commands like ``ceph-mds`` or ``ceph-osd``. Previously only ``ceph-fuse``/``rbd-nbd`` expanded ``$pid`` with the actual daemon pid. * RADOS: PG removal has been optimized in this release. * RADOS: Memory allocations are tracked in finer detail in BlueStore and displayed as a part of the ``dump_mempools`` command. * cephfs: clients which acquire capabilities too quickly are throttled to prevent instability. See new config option ``mds_session_cap_acquisition_throttle`` to control this behavior. Changelog --------- * nautilus mgr/dashboard: fix 'ceph dashboard iscsi-gateway-add' (`pr#39175 `_, Alfonso Martínez) * nautilus: Do not add sensitive information in Ceph log files (`pr#38614 `_, Neha Ojha) * nautilus: bluestore: Add protection against bluefs log file growth (`pr#37948 `_, Adam Kupczyk) * nautilus: bluestore: provide a different name for fallback allocator (`pr#37793 `_, Igor Fedotov) * nautilus: build-integration-branch: take PRs in chronological order (`pr#37693 `_, Nathan Cutler) * nautilus: build/ops: install-deps.sh,deb,rpm: move python-saml deps into debian/control and ceph.spec.in (`pr#39184 `_, Kefu Chai) * nautilus: ceph-volume batch: reject partitions in argparser (`pr#38279 `_, Jan Fajerski) * nautilus: ceph-volume: Fix usage of is_lv (`pr#39221 `_, Michał Nasiadka) * nautilus: ceph-volume: Update batch.py (`pr#39470 `_, shenjiatong) * nautilus: ceph-volume: add no-systemd argument to zap (`pr#37723 `_, wanghongxu) * nautilus: ceph-volume: add some flexibility to bytes_to_extents (`pr#39270 `_, Jan Fajerski) * nautilus: ceph-volume: consume mount opt in simple activate (`pr#38015 `_, Dimitri Savineau) * nautilus: ceph-volume: implement the --log-level flag (`pr#38372 `_, Andrew Schoen) * nautilus: ceph-volume: remove mention of dmcache from docs and help text (`pr#38048 `_, Dimitri Savineau, Andrew Schoen) * nautilus: cephfs: client: check rdonly file handle on truncate (`pr#39129 `_, Patrick Donnelly) * nautilus: cephfs: client: dump which fs is used by client for multiple-fs (`pr#38552 `_, Zhi Zhang) * nautilus: cephfs: client: ensure we take Fs caps when fetching directory link count from cached inode (`pr#38950 `_, Jeff Layton) * nautilus: cephfs: client: fix inode ll_ref reference count leak (`pr#37838 `_, sepia-liu) * nautilus: cephfs: client: increment file position on _read_sync near eof (`pr#37991 `_, Patrick Donnelly) * nautilus: cephfs: client: set CEPH_STAT_RSTAT mask for dir in readdir_r_cb (`pr#38948 `_, chencan) * nautilus: cephfs: mds: throttle cap acquisition via readdir (`pr#38101 `_, Kotresh HR) * nautilus: cephfs: mount.ceph: collect v2 addresses for non-legacy ms_mode options (`pr#39133 `_, Jeff Layton) * nautilus: cephfs: osdc: restart read on truncate/discard (`pr#37988 `_, Patrick Donnelly) * nautilus: cephfs: release client dentry_lease before send caps release to mds (`pr#39127 `_, Wei Qiaomiao) * nautilus: client: add ceph.{cluster_fsid/client_id} vxattrs suppport (`pr#39001 `_, Xiubo Li) * nautilus: client: do not use g_conf().get_val<>() in libcephfs (`pr#38467 `_, Xiubo Li) * nautilus: cmake: define BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT for Boost.Asio users (`pr#38760 `_, Kefu Chai) * nautilus: cmake: detect and use sigdescr_np() if available (`pr#38952 `_, David Disseldorp) * nautilus: common/mempool: Improve mempool shard selection (`pr#39651 `_, Nathan Cutler, Adam Kupczyk) * nautilus: common: fix logfile create perms (`issue#7849 `_, `pr#38558 `_, Kefu Chai, Roman Penyaev) * nautilus: common: skip interfaces starting with "lo" in find_ipv{4,6}_in_subnet() (`pr#39342 `_, Thomas Goirand, Jiawei Li) * nautilus: core: osd: An empty bucket or OSD is not an error (`pr#39126 `_, Brad Hubbard) * nautilus: crush/CrushWrapper: rebuild reverse maps after rebuilding crush map (`pr#39197 `_, Jason Dillaman) * nautilus: krbd: add support for msgr2 (kernel 5.11) (`pr#39202 `_, Ilya Dryomov) * nautilus: librados, tests: allow to list objects with the NUL character in names (`pr#39324 `_, Radoslaw Zarzynski) * nautilus: librbd: clear implicitly enabled feature bits when creating images (`pr#39121 `_, Jason Dillaman) * nautilus: log: fix timestap precision of log can't set to millisecond (`pr#37659 `_, Guan yunfei) * nautilus: lvm/create.py: fix a typo in the help message (`pr#38371 `_, ZhenLiu94) * nautilus: mds : move start_files_to_recover() to recovery_done (`pr#37986 `_, Simon Gao) * nautilus: mds: account for closing sessions in hit_session (`pr#37820 `_, Dan van der Ster) * nautilus: mds: avoid spurious sleeps (`pr#39130 `_, Patrick Donnelly) * nautilus: mds: dir->mark_new() should together with dir->mark_dirty() (`pr#39128 `_, "Yan, Zheng") * nautilus: mds: update defaults for recall configs (`pr#39134 `_, Patrick Donnelly) * nautilus: mgr/PyModule: correctly remove config options (`pr#38803 `_, Tim Serong) * nautilus: mgr/crash: Serialize command handling (`pr#39338 `_, Boris Ranto) * nautilus: mgr/dashboard: CLI commands: read passwords from file (`pr#38832 `_, Ernesto Puerta, Alfonso Martínez, Juan Miguel Olmo Martínez) * nautilus: mgr/dashboard: Datatable catches select events from other datatables (`pr#37756 `_, Volker Theile, Tiago Melo) * nautilus: mgr/dashboard: Disable TLS 1.0 and 1.1 (`pr#38332 `_, Volker Theile) * nautilus: mgr/dashboard: Disable sso without python3-saml (`pr#38404 `_, Kevin Meijer) * nautilus: mgr/dashboard: Display a warning message in Dashboard when debug mode is enabled (`pr#38799 `_, Volker Theile) * nautilus: mgr/dashboard: Display users current bucket quota usage (`pr#38024 `_, Avan Thakkar) * nautilus: mgr/dashboard: Drop invalid RGW client instances, improve logging (`pr#38584 `_, Volker Theile) * nautilus: mgr/dashboard: Fix for datatable item not showing details after getting selected (`pr#38813 `_, Nizamudeen A) * nautilus: mgr/dashboard: Fix for incorrect validation in rgw user form (`pr#39117 `_, Nizamudeen A) * nautilus: mgr/dashboard: RGW User Form is validating disabled fields (`pr#39543 `_, Aashish Sharma) * nautilus: mgr/dashboard: The /rgw/status endpoint does not check for running service (`pr#38771 `_, Volker Theile) * nautilus: mgr/dashboard: Updating the inbuilt ssl providers error (`pr#38509 `_, Nizamudeen A) * nautilus: mgr/dashboard: Use secure cookies to store JWT Token (`pr#38839 `_, Avan Thakkar, Aashish Sharma) * nautilus: mgr/dashboard: add `--ssl` to `ng serve` (`pr#38972 `_, Tatjana Dehler) * nautilus: mgr/dashboard: avoid using document.write() (`pr#39526 `_, Avan Thakkar) * nautilus: mgr/dashboard: customize CherryPy Server Header (`pr#39419 `_, anurag) * nautilus: mgr/dashboard: delete EOF when reading passwords from file (`pr#39438 `_, Alfonso Martínez) * nautilus: mgr/dashboard: disable cluster selection in NFS export editing form (`pr#37995 `_, Kiefer Chang) * nautilus: mgr/dashboard: enable different URL for users of browser to Grafana (`pr#39136 `_, Patrick Seidensal) * nautilus: mgr/dashboard: fix MTU Mismatch alert (`pr#39518 `_, Aashish Sharma) * nautilus: mgr/dashboard: fix issues related with PyJWT versions >=2.0.0 (`pr#39837 `_, Alfonso Martínez) * nautilus: mgr/dashboard: fix security scopes of some NFS-Ganesha endpoints (`pr#37961 `_, Kiefer Chang) * nautilus: mgr/dashboard: fix tooltip for Provisioned/Total Provisioned fields (`pr#39646 `_, Avan Thakkar) * nautilus: mgr/dashboard: minimize console log traces of Ceph backend API tests (`pr#39544 `_, Aashish Sharma) * nautilus: mgr/dashboard: prometheus alerting: add some leeway for package drops and errors (`pr#39509 `_, Patrick Seidensal) * nautilus: mgr/dashboard: python 2: error when setting non-ASCII password (`pr#39441 `_, Alfonso Martínez) * nautilus: mgr/dashboard: remove pyOpenSSL version pinning (`pr#38504 `_, Kiefer Chang) * nautilus: mgr/dashboard: set security headers (`pr#39626 `_, Avan Thakkar) * nautilus: mgr/dashboard: test_standby\* (tasks.mgr.test_dashboard.TestDashboard) failed locally (`pr#38527 `_, Volker Theile) * nautilus: mgr/dashboard: trigger alert if some nodes have a MTU different than the median value (`pr#39104 `_, Aashish Sharma) * nautilus: mgr/insights: Test environment requires 'six' (`pr#38382 `_, Brad Hubbard) * nautilus: mgr/progress: delete all events over the wire (`pr#38416 `_, Sage Weil) * nautilus: mgr/progress: make it so progress bar does not get stuck forever (`issue#40618 `_, `pr#37589 `_, Kamoltat (Junior) Sirivadhna, Kamoltat) * nautilus: mgr/prometheus: Add SLOW_OPS healthcheck as a metric (`pr#39747 `_, Paul Cuzner) * nautilus: mgr/prometheus: Fix 'pool filling up' with >50% usage (`pr#39076 `_, Daniël Vos) * nautilus: mgr/prometheus: Make module more stable (`pr#38334 `_, Boris Ranto, Ken Dreyer) * nautilus: mgr/restful: fix TypeError occurring in _gather_osds() (`issue#48488 `_, `pr#39339 `_, Jerry Pu) * nautilus: mgr/telemetry: fix proxy usage (`pr#38816 `_, Nathan Cutler) * nautilus: mgr/volume: subvolume auth_id management and few bug fixes (`pr#39292 `_, Rishabh Dave, Patrick Donnelly, Kotresh HR, Ramana Raja) * nautilus: mgr/volumes: Make number of cloner threads configurable (`pr#37936 `_, Kotresh HR) * nautilus: mgr: Pin importlib_metadata version 2.1.0 (`pr#38296 `_, Brad Hubbard) * nautilus: mgr: don't update osd stat which is already out (`pr#38354 `_, Zhi Zhang) * nautilus: mgr: fix deadlock in ActivePyModules::get_osdmap() (`pr#39340 `_, peng jiaqi) * nautilus: mgr: update mon metadata when monmap is updated (`pr#39075 `_, Kefu Chai) * nautilus: mon scrub testing (`pr#38362 `_, Brad Hubbard) * nautilus: mon/MDSMonitor do not ignore mds's down:dne request (`pr#37822 `_, chencan) * nautilus: mon/MDSMonitor: divide mds identifier and mds real name with dot (`pr#37821 `_, Zhi Zhang) * nautilus: mon: Log "ceph health detail" periodically in cluster log (`pr#38118 `_, Prashant Dhange) * nautilus: mon: have 'mon stat' output json as well (`pr#37706 `_, Joao Eduardo Luis, Sage Weil) * nautilus: mon: paxos: Delete logger in destructor (`pr#39160 `_, Brad Hubbard) * nautilus: mon: validate crush-failure-domain (`pr#39124 `_, Prashant Dhange) * nautilus: monitoring: Use null yaxes min for OSD read latency (`pr#37959 `_, Seena Fallah) * nautilus: msg/async/ProtocolV2: allow rxbuf/txbuf get bigger in testing, again (`pr#38268 `_, Ilya Dryomov) * nautilus: ocf: add support for mapping images within an RBD namespace (`pr#39047 `_, Jason Dillaman) * nautilus: os/bluestore: Add option to check BlueFS reads (`pr#39756 `_, Adam Kupczyk) * nautilus: os/bluestore: detect and fix "zombie" spanning blobs using fsck (`pr#39255 `_, Igor Fedotov) * nautilus: os/bluestore: fix huge read/writes in BlueFS (`pr#39698 `_, Jianpeng Ma, Kefu Chai, Igor Fedotov) * nautilus: os/bluestore: fix inappropriate ENOSPC from avl/hybrid allocator (`pr#38475 `_, Igor Fedotov) * nautilus: os/bluestore: fix segfault on out-of-bound offset provided to claim\_… (`pr#38637 `_, Igor Fedotov) * nautilus: os/bluestore: go beyond pinned onodes while trimming the cache (`pr#39720 `_, Igor Fedotov) * nautilus: os/bluestore: mempool's finer granularity + adding missed structs (`pr#38310 `_, Deepika Upadhyay, Igor Fedotov, Adam Kupczyk) * nautilus: osd: Check for nosrub/nodeep-scrub in between chunks, to avoid races (`pr#38411 `_, David Zafman) * nautilus: osd: fix bluestore bitmap allocator calculate wrong last_pos with hint (`pr#39708 `_, Xue Yantao) * nautilus: osd: optimize PG removal (part1) (`pr#38478 `_, Neha Ojha, Igor Fedotov) * nautilus: pybind/ceph_volume_client: Update the 'volumes' key to 'subvolumes' in auth-metadata file (`pr#39658 `_, Kotresh HR, Michael Fritch) * nautilus: pybind/cephfs: add special values for not reading conffile (`pr#37725 `_, Kefu Chai) * nautilus: pybind/cephfs: fix missing terminating NULL char in readlink()'s C string (`pr#38894 `_, Tuan Hoang) * nautilus: pybind/mgr/rbd_support: delay creation of progress module events (`pr#38833 `_, Jason Dillaman) * nautilus: qa/cephfs: add session_timeout option support (`pr#37840 `_, Xiubo Li) * nautilus: qa/distros: add rhel 7.9 (`pr#38188 `_, rakeshgm) * nautilus: qa/tasks/ceph_manager.py: don't use log-early in raw_cluster_cmd (`pr#39960 `_, Neha Ojha) * nautilus: qa/tasks/{ceph,ceph_manager}: drop py2 support (`pr#37906 `_, Rishabh Dave, Deepika Upadhyay, Kefu Chai) * nautilus: qa: fix tox failures (`pr#38627 `_, Patrick Donnelly) * nautilus: qa: krbd_stable_pages_required.sh: move to stable_writes attribute (`pr#38834 `_, Ilya Dryomov) * nautilus: qa: restore file name (`pr#38772 `_, Patrick Donnelly) * nautilus: qa: unmount volumes before removal (`pr#38690 `_, Patrick Donnelly) * nautilus: qa: use normal build for valgrind (`pr#39584 `_, Sage Weil) * nautilus: rados/upgrade/nautilus-x-singleton fails due to cluster [WRN] evicting unresponsive client (`pr#39706 `_, Patrick Donnelly) * nautilus: rbd-nbd: reexpand the conf meta in child process (`pr#38830 `_, Xiubo Li) * nautilus: rbd/bench: include used headers (`pr#39123 `_, Kefu Chai) * nautilus: rbd: librbd: ensure that thread pool lock is held when processing throttled IOs (`pr#37895 `_, Jason Dillaman) * nautilus: rbd: librbd: update hidden global config when removing pool config override (`pr#38831 `_, Jason Dillaman) * nautilus: rgw: Disable prefetch of entire head object when GET request with range header (`pr#38556 `_, Or Friedmann) * nautilus: rgw: S3 Put Bucket Policy should return 204 on success (`pr#38623 `_, Matthew Oliver) * nautilus: rgw: avoid expiration early triggering caused by overflow (`pr#38823 `_, jiahuizeng) * nautilus: rgw: cls/rgw/cls_rgw.cc: fix multiple lastest version problem (`pr#38085 `_, Yang Honggang, Ruan Zitao) * nautilus: rgw: cls/user: set from_index for reset stats calls (`pr#38822 `_, Mykola Golub, Abhishek Lekshmanan) * nautilus: rgw: distribute cache for exclusive put (`pr#38827 `_, Or Friedmann) * nautilus: rgw: fix bucket limit check fill_status warnings (`issue#40255 `_, `pr#38825 `_, Paul Emmerich) * nautilus: rgw: fix invalid payload issue when serving s3website error page (`pr#38590 `_, Ilsoo Byun) * nautilus: rgw: fix trailing null in object names of multipart reuploads (`pr#39276 `_, Casey Bodley) * nautilus: rgw: in ordered bucket listing skip namespaced entries internally when possible (`pr#38493 `_, J. Eric Ivancich) * nautilus: rgw: keep syncstopped flag when copying bucket shard headers (`pr#38589 `_, Ilsoo Byun) * nautilus: rgw: multisite: Verify if the synced object is identical to source (`pr#38885 `_, Prasad Krishnan, Yang Honggang, Casey Bodley) * nautilus: rgw: radosgw-admin: clarify error when email address already in use (`pr#39661 `_, Matthew Vernon) * nautilus: rgw: rgw-admin: fixes BucketInfo for missing buckets (`pr#38588 `_, Nick Janus, caolei) * nautilus: rgw_file: return common_prefixes in lexical order (`pr#38828 `_, Matt Benjamin) * nautilus: rpm,deb: change sudoers file mode to 440 (`pr#39090 `_, David Turner) * nautilus: rpm: ceph-mgr-dashboard recommends python3-saml on SUSE (`pr#38818 `_, Nathan Cutler) * nautilus: run-make-check.sh: Don't run tests if build fails (`pr#38295 `_, Brad Hubbard) * nautilus: test/librados: fix endian bugs in checksum test cases (`pr#37605 `_, Ulrich Weigand) * nautilus: test/rbd-mirror: fix broken ceph_test_rbd_mirror_random_write (`pr#39650 `_, Jason Dillaman) * nautilus: test/run-cli-tests: use cram from github (`pr#39072 `_, Kefu Chai) * nautilus: tests: cancelling both noscrub \*and\* nodeep-scrub (`pr#39125 `_, Ronen Friedman) * nautilus: tools/rados: add support for binary object names in the rados CLI (`pr#39329 `_, Radoslaw Zarzynski, Kefu Chai) * nautilus: tools/rados: flush formatter periodically during json output of "rados ls" (`pr#37834 `_, J. Eric Ivancich) * nautilus: vstart.sh: fix fs set max_mds bug (`pr#37836 `_, Jinmyeong Lee) v14.2.16 Nautilus ================= This is the 16th backport release in the Nautilus series. This release fixes a security flaw in CephFS. We recommend users to update to this release. Notable Changes --------------- * CVE-2020-27781 : OpenStack Manila use of ceph_volume_client.py library allowed tenant access to any Ceph credential's secret. (Kotresh Hiremath Ravishankar, Ramana Raja) Changelog --------- * pybind/ceph_volume_client: disallow authorize on existing auth ids (Kotresh Hiremath Ravishankar, Ramana Raja) v14.2.15 Nautilus ================= This is the 15th backport release in the Nautilus series. This release fixes a ceph-volume regression introduced in v14.2.13 and includes few other fixes. We recommend users to update to this release. Notable Changes --------------- * ceph-volume: Fixes lvm batch --auto, which breaks backward compatibility when using non rotational devices only (SSD and/or NVMe). * BlueStore: Fixes a bug in collection_list_legacy which makes pgs inconsistent during scrub when running mixed versions of osds, prior to 14.2.12 with newer. * MGR: progress module can now be turned on/off, using the commands: ``ceph progress on`` and ``ceph progress off``. Changelog --------- * ceph-volume: fix filestore/dmcrypt activate (`pr#38198 `_, Guillaume Abrioux) * ceph-volume: fix lvm batch auto with full SSDs (`pr#38046 `_, Dimitri Savineau, Guillaume Abrioux) * os/bluestore: fix "end reached" check in collection_list_legacy (`pr#38100 `_, Mykola Golub) * mgr/progress: introduce turn off/on feature (`pr#38173 `_, kamoltat) v14.2.14 Nautilus ================= This is the 14th backport release in the Nautilus series. This release fixes a security flaw affecting Messenger v2, among other fixes across components. We recommend users to update to this release. Notable Changes --------------- * CVE 2020-25660: CEPHX_V2 replay attack protection lost, for Messenger v2 (Ilya Dryomov) Changelog --------- * mgr/dashboard: Strange iSCSI discovery auth behavior (`pr#37333 `_, Volker Theile) * mgr/dashboard: redirect to original URL after successful login (`pr#36834 `_, Avan Thakkar) * mgr/prometheus: add pool compression stats (`pr#37563 `_, Paul Cuzner) * bluestore: test/objectstore/store_test: kill ExcessiveFragmentation test case (`pr#37824 `_, Igor Fedotov) * bluestore: BlockDevice.cc: use pending_aios instead of iovec size as ios num (`pr#37823 `_, weixinwei) * bluestore: Support flock retry (`pr#37842 `_, Kefu Chai, wanghongxu) * bluestore: attach csum for compressed blobs (`pr#37843 `_, Igor Fedotov) * osdc/ObjectCacher: overwrite might cause stray read request callbacks (`pr#37813 `_, Jason Dillaman) * mgr: avoid false alarm of MGR_MODULE_ERROR (`pr#38069 `_, Kefu Chai, Sage Weil) * mgr: fix race between module load and notify (`pr#37844 `_, Mykola Golub, Patrick Donnelly) * mon: set session_timeout when adding to session_map (`pr#37554 `_, Ilya Dryomov) * mon/MonClient: bring back CEPHX_V2 authorizer challenges (Ilya Dryomov) * osd/osd-rep-recov-eio.sh: TEST_rados_repair_warning: return 1 (`pr#37815 `_, David Zafman) * rbd: librbd: ignore -ENOENT error when disabling object-map (`pr#37814 `_, Jason Dillaman) * rbd: rbd-nbd: don't ignore namespace when unmapping by image spec (`pr#37811 `_, Mykola Golub) * rgw/rgw_file: Fix the incorrect lru object eviction (`pr#37804 `_, luo rixin) * rgw: fix expiration header returned even if there is only one tag in the object the same as the rule (`pr#37806 `_, Or Friedmann) * rgw: fix: S3 API KeyCount incorrect return (`pr#37810 `_, 胡玮文) * rgw: radosgw-admin should paginate internally when listing bucket (`pr#37802 `_, J. Eric Ivancich) * rgw: rgw_file: avoid long-ish delay on shutdown (`pr#37552 `_, Matt Benjamin) * rgw: use yum rather than dnf for teuthology testing of rgw-orphan-list (`pr#37805 `_, J. Eric Ivancich) v14.2.13 Nautilus ================= This is the 13th backport release in the Nautilus series. This release fixes a regression introduced in v14.2.12, and a few ceph-volume & RGW fixes. We recommend users to update to this release. Notable Changes --------------- * Fixed a regression that caused breakage in clusters that referred to ceph-mon hosts using dns names instead of ip addresses in the ``mon_host`` param in ``ceph.conf`` (`issue#47951 `_) * ceph-volume: the ``lvm batch`` subcommand received a major rewrite Changelog --------- * ceph-volume: major batch refactor (`pr#37522 `_, Jan Fajerski) * mgr/dashboard: Proper format iSCSI target portals (`pr#37060 `_, Volker Theile) * rpm: move python-enum34 into rhel 7 conditional (`pr#37747 `_, Nathan Cutler) * mon/MonMap: fix unconditional failure for init_with_hosts (`pr#37816 `_, Nathan Cutler, Patrick Donnelly) * rgw: allow rgw-orphan-list to note when rados objects are in namespace (`pr#37799 `_, J. Eric Ivancich) * rgw: fix setting of namespace in ordered and unordered bucket listing (`pr#37798 `_, J. Eric Ivancich) v14.2.12 Nautilus ================= This is the 12th backport release in the Nautilus series. This release brings a number of bugfixes across all major components of Ceph. We recommend that all Nautilus users upgrade to this release. Notable Changes --------------- * The ``ceph df`` command now lists the number of pgs in each pool. * Monitors now have a config option ``mon_osd_warn_num_repaired``, 10 by default. If any OSD has repaired more than this many I/O errors in stored data a ``OSD_TOO_MANY_REPAIRS`` health warning is generated. In order to allow clearing of the warning, a new command ``ceph tell osd.# clear_shards_repaired [count]`` has been added. By default it will set the repair count to 0. If you wanted to be warned again if additional repairs are performed you can provide a value to the command and specify the value of ``mon_osd_warn_num_repaired``. This command will be replaced in future releases by the health mute/unmute feature. * It is now possible to specify the initial monitor to contact for Ceph tools and daemons using the ``mon_host_override`` config option or ``--mon-host-override `` command-line switch. This generally should only be used for debugging and only affects initial communication with Ceph's monitor cluster. * Fix an issue with osdmaps not being trimmed in a healthy cluster (`issue#47296 `_, `pr#36982 `_) Changelog --------- * bluestore/bluefs: make accounting resiliant to unlock() (`pr#36909 `_, Adam Kupczyk) * bluestore: Rescue procedure for extremely large bluefs log (`pr#36930 `_, Adam Kupczyk) * bluestore: dump onode that has too many spanning blobs (`pr#36756 `_, Igor Fedotov) * bluestore: enable more flexible bluefs space management by default (`pr#37091 `_, Igor Fedotov) * bluestore: fix collection_list ordering (`pr#37051 `_, Mykola Golub) * ceph-iscsi: selinux fixes (`pr#36304 `_, Mike Christie) * ceph-volume: add tests for new functions that run LVM commands (`pr#36615 `_, Rishabh Dave) * ceph-volume: dont use container classes in api/lvm.py (`pr#35878 `_, Guillaume Abrioux, Rishabh Dave') * ceph-volume: fix journal size argument not work (`pr#37377 `_, wanghongxu) * ceph-volume: fix simple activate when legacy osd (`pr#37195 `_, Guillaume Abrioux) * ceph-volume: fix test_lvm.TestVolume.test_is_not_ceph_device (`pr#36493 `_, Jan Fajerski) * ceph-volume: handle idempotency with batch and explicit scenarios (`pr#35881 `_, Andrew Schoen) * ceph-volume: remove container classes from api/lvm.py (`pr#36610 `_, Rishabh Dave) * ceph-volume: remove unneeded call to get_devices() (`pr#37413 `_, Marc Gariepy) * ceph-volume: report correct rejected reason in inventory if device type is invalid (`pr#36453 `_, Satoru Takeuchi) * ceph-volume: retry when acquiring lock fails (`pr#36926 `_, S\xc3\xa9bastien Han) * ceph-volume: simple scan should ignore tmpfs (`pr#36952 `_, Andrew Schoen) * ceph.in: ignore failures to flush stdout (`pr#37226 `_, Dan van der Ster) * ceph.spec.in, debian/control: add smartmontools and nvme-cli dependen\xe2\x80\xa6 (`pr#37288 `_, Yaarit Hatuka) * cephfs-journal-tool: fix incorrect read_offset when finding missing objects (`pr#37479 `_, Xue Yantao) * cephfs: client: fix extra open ref decrease (`pr#36966 `_, Xiubo Li) * cephfs: client: make Client::open() pass proper cap mask to path_walk (`pr#37231 `_, "Yan, Zheng") * cephfs: mds/CInode: Optimize only pinned by subtrees check (`pr#36965 `_, Mark Nelson) * cephfs: mds: After restarting an mds, its standy-replay mds remained in the "resolve" state (`pr#37179 `_, Wei Qiaomiao) * cephfs: mds: do not defer incoming mgrmap when mds is laggy (`issue#44638 `_, `pr#36168 `_, Nathan Cutler, Venky Shankar) * cephfs: mds: fix incorrect check for if dirfrag is being fragmented (`pr#37035 `_, "Yan, Zheng") * cephfs: mds: fix mds forwarding request no_available_op_found (`pr#36963 `_, Yanhu Cao') * cephfs: mds: fix purge_queues _calculate_ops is inaccurate (`pr#37481 `_, Yanhu Cao') * cephfs: mds: kcephfs parse dirfrags ndist is always 0 (`pr#37177 `_, Yanhu Cao') * cephfs: mds: place MDSGatherBuilder on the stack (`pr#36967 `_, Patrick Donnelly) * cephfs: mds: recover files after normal session close (`pr#37178 `_, "Yan, Zheng") * cephfs: mds: resolve SIGSEGV in waiting for uncommitted fragments (`pr#36968 `_, Patrick Donnelly) * cephfs: osdc/Journaler: do not call onsafe->complete() if onsafe is 0 (`pr#37229 `_, Xiubo Li) * client: handle readdir reply without Fs cap (`pr#37232 `_, "Yan, Zheng") * common, osd: add sanity checks around osd_scrub_max_preemptions (`pr#37470 `_, xie xingguo) * common/config: less noise about configs from mon we cant apply (`pr#36289 `_, Sage Weil') * common: ignore SIGHUP prior to fork (`issue#46269 `_, `pr#36181 `_, Willem Jan Withagen, hzwuhongsong) * compressor: Add a config option to specify Zstd compression level (`pr#37254 `_, Bryan Stillwell) * core: include/encoding: Fix encode/decode of float types on big-endian systems (`pr#37033 `_, Ulrich Weigand) * doc/rados: Fix osd_op_queue default value (`pr#36354 `_, Beno\xc3\xaet Knecht) * doc/rados: Fix osd_scrub_during_recovery default value (`pr#37472 `_, Beno\xc3\xaet Knecht) * doc/rbd: add rbd-target-gw enable and start (`pr#36415 `_, Zac Dover) * doc: enable Read the Docs (`pr#37204 `_, Kefu Chai) * krbd: optionally skip waiting for udev events (`pr#37284 `_, Ilya Dryomov) * kv/RocksDBStore: make options compaction_threads/disableWAL/flusher_t\xe2\x80\xa6 (`pr#37055 `_, Jianpeng Ma) * librados: add LIBRADOS_SUPPORTS_GETADDRS support (`pr#36853 `_, Xiubo Li, Jason Dillaman, Kaleb S. KEITHLEY, Kefu Chai) * messages,mds: Fix decoding of enum types on big-endian systems (`pr#36814 `_, Ulrich Weigand) * mgr/balancer: use "==" and "!=" for comparing str (`pr#37471 `_, Kefu Chai) * mgr/dashboard/api: increase API health timeout (`pr#36607 `_, Ernesto Puerta) * mgr/dashboard: Allow editing iSCSI targets with initiators logged-in (`pr#37278 `_, Tiago Melo) * mgr/dashboard: Disabling the form inputs for the read_only modals (`pr#37241 `_, Nizamudeen) * mgr/dashboard: Dont use any xlf file when building the default language (`pr#37550 `_, Sebastian Krah') * mgr/dashboard: Fix many-to-many issue in host-details Grafana dashboard (`pr#37306 `_, Patrick Seidensal) * mgr/dashboard: Fix pool renaming functionality (`pr#37510 `_, Stephan M\xc3\xbcller, Ernesto Puerta) * mgr/dashboard: Hide table action input field if limit=0 (`pr#36783 `_, Volker Theile) * mgr/dashboard: Monitoring: Fix for the infinite loading bar action (`pr#37161 `_, Nizamudeen A) * mgr/dashboard: REST API returns 500 when no Content-Type is specified (`pr#37307 `_, Avan Thakkar) * mgr/dashboard: Unable to edit iSCSI logged-in client (`pr#36613 `_, Ricardo Marques) * mgr/dashboard: cpu stats incorrectly displayed (`pr#37295 `_, Avan Thakkar) * mgr/dashboard: document Prometheus security model (`pr#36920 `_, Patrick Seidensal) * mgr/dashboard: fix broken backporting (`pr#37505 `_, Ernesto Puerta) * mgr/dashboard: fix perf. issue when listing large amounts of buckets (`pr#37280 `_, Alfonso Mart\xc3\xadnez) * mgr/dashboard: fix pool usage calculation (`pr#37309 `_, Ernesto Puerta) * mgr/dashboard: remove "This week/month/year" and "Today" time stamps (`pr#36790 `_, Avan Thakkar) * mgr/dashboard: table detail rows overflow (`pr#37324 `_, Aashish Sharma) * mgr/dashboard: wait longer for health status to be cleared (`pr#36784 `_, Tatjana Dehler) * mgr/devicehealth: fix daemon filtering before scraping device (`pr#36741 `_, Yaarit Hatuka) * mgr/diskprediction_local: Fix array size error (`pr#36578 `_, Beno\xc3\xaet Knecht) * mgr/prometheus: automatically discover RBD pools for stats gathering (`pr#36412 `_, Jason Dillaman) * mgr/restful: use dict.items() for py3 compatible (`pr#36670 `_, Kefu Chai) * mgr/status: metadata is fetched async (`pr#37558 `_, Michael Fritch) * mgr/telemetry: fix device id splitting when anonymizing serial (`pr#37318 `_, Yaarit Hatuka) * mgr/volumes: add global lock debug (`pr#36828 `_, Patrick Donnelly) * mgr: Add missing states to PG_STATES in mgr_module.py (`pr#36785 `_, Harley Gorrell) * mgr: decrease pool stats if pg was removed (`pr#37476 `_, Aleksei Gutikov) * mgr: don't update pending service map epoch on receiving map from mon (`pr#37181 `_, Mykola Golub') * minor tweaks to fix compile issues under latest Fedora (`pr#36726 `_, Willem Jan Withagen, Kaleb S. KEITHLEY, Kefu Chai) * mon/OSDMonitor: only take in osd into consideration when trimming osdmaps (`pr#36982 `_, Kefu Chai) * mon/PGMap: add pg count for pools in the ceph df command (`pr#36944 `_, Vikhyat Umrao) * mon: Warn when too many reads are repaired on an OSD (`pr#36379 `_, David Zafman) * mon: fix the \Error ERANGE\ message when conf "osd_objectstore" is filestore' (`pr#37474 `_, wangyunqing') * mon: mark pgtemp messages as no_reply more consistenly in preprocess\\_\xe2\x80\xa6 (`pr#37171 `_, Greg Farnum) * mon: store mon updates in ceph context for future MonMap instantiation (`pr#36704 `_, Patrick Donnelly, Shyamsundar Ranganathan) * monclient: schedule first tick using mon_client_hunt_interval (`pr#36634 `_, Mykola Golub) * msg/async/ProtocolV2: allow rxbuf/txbuf get bigger in testing (`pr#37081 `_, Ilya Dryomov) * osd/OSDCap: rbd profile permits use of "rbd_info" (`pr#36413 `_, Florian Florensa) * osd/PeeringState: prevent peers num_objects going negative (`pr#37473 `_, xie xingguo') * prometheus: Properly split the port off IPv6 addresses (`pr#36984 `_, Matthew Oliver) * rbd: include RADOS namespace in krbd symlinks (`pr#37468 `_, Ilya Dryomov) * rbd: librbd: Align rbd_write_zeroes declarations (`pr#36712 `_, Corey Bryant) * rbd: librbd: dont resend async_complete if watcher is unregistered (`pr#37040 `_, Mykola Golub') * rbd: librbd: global and pool-level config overrides require image refresh to apply (`pr#36725 `_, Jason Dillaman) * rbd: librbd: using migration abort can result in the loss of data (`pr#37165 `_, Jason Dillaman) * rbd: make common options override krbd-specific options (`pr#37407 `_, Ilya Dryomov) * rgw/cls: preserve olh entrys name on last unlink (`pr#37462 `_, Casey Bodley') * rgw: Add bucket name to bucket stats error logging (`pr#37378 `_, Seena Fallah) * rgw: Empty reqs_change_state queue before unregistered_reqs (`pr#37461 `_, Soumya Koduri) * rgw: Expiration days cant be zero and transition days can be zero (`pr#37465 `_, zhang Shaowen') * rgw: RGWObjVersionTracker tracks version over increments (`pr#37459 `_, Casey Bodley) * rgw: Swift API anonymous access should 401 (`pr#37438 `_, Matthew Oliver) * rgw: add access log to the beast frontend (`pr#36727 `_, Mark Kogan) * rgw: add negative cache to the system object (`pr#37460 `_, Or Friedmann) * rgw: append obj: prevent tail from being GCed (`pr#36390 `_, Abhishek Lekshmanan') * rgw: dump transitions in RGWLifecycleConfiguration::dump() (`pr#36880 `_, Shengming Zhang) * rgw: fail when get/set-bucket-versioning attempted on a non-existent \xe2\x80\xa6 (`pr#36188 `_, Matt Benjamin) * rgw: fix boost::asio::async_write() does not return error (`pr#37157 `_, Mark Kogan) * rgw: fix double slash (//) killing the gateway (`pr#36682 `_, Theofilos Mouratidis) * rgw: fix shutdown crash in RGWAsyncReadMDLogEntries (`pr#37463 `_, Casey Bodley) * rgw: hold reloader using unique_ptr (`pr#36770 `_, Kefu Chai) * rgw: log resharding events at level 1 (formerly 20) (`pr#36843 `_, Or Friedmann) * rgw: ordered bucket listing code clean-up (`pr#37169 `_, J. Eric Ivancich) * rgw: policy: reuse eval_principal to evaluate the policy principal (`pr#36637 `_, Abhishek Lekshmanan) * rgw: radosgw-admin: period pull command is not always a raw_storage_op (`pr#37464 `_, Casey Bodley) * rgw: replace \+\ with "%20" in canonical query string for s3 v4 auth' (`pr#37467 `_, yuliyang_yewu') * rgw: urlencode bucket name when forwarding request (`pr#37435 `_, caolei) * run-make-check.sh: extract run-make.sh + run sudo with absolute path (`pr#36494 `_, Kefu Chai, Ernesto Puerta) * systemd: Support Graceful Reboot for AIO Node (`pr#37301 `_, Wong Hoi Sing Edison) * tools/osdmaptool.cc: add ability to clean_temps (`pr#37477 `_, Neha Ojha) * tools/rados: Set locator key when exporting or importing a pool (`pr#37475 `_, Iain Buclaw) v14.2.11 Nautilus ================= This is the eleventh backport release in the Nautilus series. This release brings a number of bugfixes across all major components of Ceph. We recommend that all Nautilus users upgrade to this release. Notable Changes --------------- * RGW: The ``radosgw-admin`` sub-commands dealing with orphans -- ``radosgw-admin orphans find``, ``radosgw-admin orphans finish``, ``radosgw-admin orphans list-jobs`` -- have been deprecated. They have not been actively maintained and they store intermediate results on the cluster, which could fill a nearly-full cluster. They have been replaced by a tool, currently considered experimental, ``rgw-orphan-list``. * Now when noscrub and/or nodeep-scrub flags are set globally or per pool, scheduled scrubs of the type disabled will be aborted. All user initiated scrubs are NOT interrupted. * Fixed a ceph-osd crash in _committed_osd_maps when there is a failure to encode the first incremental map. `issue#46443 `_ Changelog --------- * bluestore: core: os/bluestore: fix large (>2GB) writes when bluefs_buffered_io = true (`pr#35404 `_, Igor Fedotov) * bluestore: os/bluestore: implement Hybrid allocator (`pr#35500 `_, Adam Kupczyk, Kefu Chai, Igor Fedotov, xie xingguo) * build/ops: build/ops: selinux: allow ceph_t amqp_port_t:tcp_socket (`pr#36190 `_, Kaleb S. KEITHLEY, Thomas Serlin) * ceph-volume: add dmcrypt support in raw mode (`pr#35831 `_, Guillaume Abrioux) * cephfs,pybind: pybind/cephfs: fix custom exception raised by cephfs.pyx (`pr#36180 `_, Ramana Raja) * cephfs: ceph_fuse: add the '-d' option back for libfuse (`pr#35398 `_, Xiubo Li) * cephfs: client: fix directory inode can not call release callback (`pr#36177 `_, sepia-liu) * cephfs: client: fix setxattr for 0 size value (NULL value) (`pr#36173 `_, Sidharth Anupkrishnan) * cephfs: client: fix snap directory atime (`pr#36169 `_, Luis Henriques) * cephfs: client: introduce timeout for client shutdown (`issue#44276 `_, `pr#36215 `_, Venky Shankar) * cephfs: client: release the client_lock before copying data in read (`pr#36294 `_, Chencan) * cephfs: client: static dirent for readdir is not thread-safe (`pr#36511 `_, Patrick Donnelly) * cephfs: mds: add config to require forward to auth MDS (`pr#35377 `_, simon gao) * cephfs: mds: cleanup uncommitted fragments before mds goes to active (`pr#35397 `_, "Yan, Zheng") * cephfs: mds: do not raise "client failing to respond to cap release" when client working set is reasonable (`pr#36513 `_, Patrick Donnelly) * cephfs: mds: do not submit omap_rm_keys if the dir is the basedir of merge (`pr#36178 `_, Chencan) * cephfs: mds: fix filelock state when Fc is issued (`pr#35841 `_, Xiubo Li) * cephfs: mds: fix hang issue when accessing a file under a lost parent directory (`pr#36179 `_, Zhi Zhang) * cephfs: mds: fix nullptr dereference in MDCache::finish_rollback (`pr#36439 `_, "Yan, Zheng") * cephfs: mds: flag backtrace scrub failures for new files as okay (`pr#35400 `_, Milind Changire) * cephfs: mds: initialize MDSlaveUpdate::waiter (`pr#36462 `_, "Yan, Zheng") * cephfs: mds: make threshold for MDS_TRIM configurable (`pr#36175 `_, Paul Emmerich) * cephfs: mds: preserve ESlaveUpdate logevent until receiving OP_FINISH (`pr#35394 `_, Varsha Rao, songxinying) * cephfs: mds: reset heartbeat in EMetaBlob replay (`pr#36170 `_, Yanhu Cao) * cephfs: mgr/fs/volumes misc fixes (`pr#36167 `_, Patrick Donnelly, Kotresh HR, Ramana Raja) * cephfs: mgr/volumes: Add snapshot info command (`pr#35672 `_, Kotresh HR) * cephfs: mgr/volumes: Deprecate protect/unprotect CLI calls for subvolume snapshots (`pr#36166 `_, Shyamsundar Ranganathan) * cephfs: qa: add debugging for volumes plugin use of libcephfs (`pr#36512 `_, Patrick Donnelly) * cephfs: qa: skip cache_size check (`pr#36526 `_, Patrick Donnelly) * cephfs: tools/cephfs: don't bind to public_addr (`pr#35401 `_, "Yan, Zheng") * cephfs: vstart_runner: set mounted to True at the end of mount() (`pr#35396 `_, Rishabh Dave) * core,mon: mon/OSDMonitor: Reset grace period if failure interval exceeds a threshold (`pr#35798 `_, Sridhar Seshasayee) * core: mgr/DaemonServer.cc: make 'config show' on fsid work (`pr#36074 `_, Neha Ojha) * core: mgr/alert: can't set inventory_cache_timeout/service_cache_timeout from CLI (`pr#36104 `_, Kiefer Chang) * core: osd/PG: fix history.same_interval_since of merge target again (`pr#36161 `_, xie xingguo) * core: osd/PeeringState.h: Fix pg stuck in WaitActingChange (`pr#35389 `_, chen qiuzhang) * core: osd: Cancel in-progress scrubs (not user requested) (`pr#36292 `_, David Zafman) * core: osd: fix crash in _committed_osd_maps if incremental osdmap crc fails (`pr#36339 `_, Neha Ojha, Dan van der Ster) * core: osd: make "missing incremental map" a debug log message (`pr#35386 `_, Nathan Cutler) * core: osd: make message cap option usable again (`pr#35738 `_, Neha Ojha, Josh Durgin) * mgr/dashboard: Allow to edit iSCSI target with active session (`pr#35998 `_, Ricardo Marques) * mgr/dashboard: Prevent dashboard breakdown on bad pool selection (`pr#35367 `_, Stephan Müller) * mgr/dashboard: Prometheus query error in the metrics of Pools, OSDs and RBD images (`pr#35884 `_, Avan Thakkar) * mgr/dashboard: add popover list of Stand-by Managers & Metadata Servers (MDS) in landing page (`pr#34095 `_, Kiefer Chang, Avan Thakkar) * mgr/dashboard: fix Source column i18n issue in RBD configuration tables (`pr#35822 `_, Kiefer Chang) * mgr/k8sevents: sanitise kubernetes events (`pr#35563 `_, Paul Cuzner) * mgr/prometheus: improve Prometheus module cache (`pr#35918 `_, Patrick Seidensal) * mgr: mgr/progress: Skip pg_summary update if _events dict is empty (`pr#36075 `_, Manuel Lausch) * mgr: mgr/telemetry: force --license when sending while opted-out (`pr#35390 `_, Yaarit Hatuka) * mgr: mon/PGMap: do not consider changing pg stuck (`pr#35959 `_, Kefu Chai) * monitoring: fixing some issues in RBD detail dashboard (`pr#35464 `_, Kiefer Chang) * msgr: New msgr2 crc and secure modes (msgr2.1) (`pr#35733 `_, Jianpeng Ma, Ilya Dryomov) * rbd: librbd: new 'write_zeroes' API methods to suppliment the `discard` APIs (`pr#36250 `_, Jason Dillaman) * rbd: mgr/dashboard: work with v1 RBD images (`pr#35712 `_, Ernesto Puerta) * rbd: rbd: librbd: Watcher should not attempt to re-watch after detecting blacklisting (`pr#35385 `_, Jason Dillaman) * rgw,tests: test/rgw: update hadoop versions (`pr#35778 `_, Casey Bodley, Vasu Kulkarni) * rgw: Add subuser to OPA request (`pr#36187 `_, Seena Fallah) * rgw: Add support wildcard subuser for bucket policy (`pr#36186 `_, Seena Fallah) * rgw: add "rgw-orphan-list" tool and "radosgw-admin bucket radoslist ..." (`pr#34127 `_, J. Eric Ivancich) * rgw: add check for index entry's existing when adding bucket stats during bucket reshard (`pr#36189 `_, zhang Shaowen) * rgw: add quota enforcement to CopyObj (`pr#36184 `_, Casey Bodley) * rgw: bucket list/stats truncates for user w/ >1000 buckets (`pr#36165 `_, J. Eric Ivancich) * rgw: cls_bucket_list\_(un)ordered should clear results collection (`pr#36163 `_, J. Eric Ivancich) * rgw: fix loop problem with swift stat on account (`pr#36185 `_, Marcus Watts) * rgw: lc: fix Segmentation Fault when the tag of the object was not found (`pr#36086 `_, yupeng chen, zhuo li) * rgw: ordered listing lcv not managed correctly (`pr#35882 `_, J. Eric Ivancich) * rgw: radoslist incomplete multipart uploads fix marker progression (`pr#36191 `_, J. Eric Ivancich) * rgw: rgw/iam: correcting the result of get role policy (`pr#36193 `_, Pritha Srivastava) * rgw: rgw/url: fix amqp urls with vhosts (`pr#35384 `_, Yuval Lifshitz) * rgw: stop realm reloader before store shutdown (`pr#36192 `_, Casey Bodley) * tools: Add statfs operation to ceph-objecstore-tool (`pr#35713 `_, David Zafman) v14.2.10 Nautilus ================= This is the tenth release in the Nautilus series. In addition to fixing a security-related bug in RGW, this release brings a number of bugfixes across all major components of Ceph. We recommend that all Nautilus users upgrade to this release. Notable Changes --------------- * CVE-2020-10753: rgw: sanitize newlines in s3 CORSConfiguration's ExposeHeader (William Bowling, Adam Mohammed, Casey Bodley) * RGW: Bucket notifications now support Kafka endpoints. This requires librdkafka of version 0.9.2 and up. Note that Ubuntu 16.04.6 LTS (Xenial Xerus) has an older version of librdkafka, and would require an update to the library. * The pool parameter ``target_size_ratio``, used by the pg autoscaler, has changed meaning. It is now normalized across pools, rather than specifying an absolute ratio. For details, see :ref:`pg-autoscaler`. If you have set target size ratios on any pools, you may want to set these pools to autoscale ``warn`` mode to avoid data movement during the upgrade:: ceph osd pool set pg_autoscale_mode warn * The behaviour of the ``-o`` argument to the rados tool has been reverted to its original behaviour of indicating an output file. This reverts it to a more consistent behaviour when compared to other tools. Specifying object size is now accomplished by using an upper case O ``-O``. * The format of MDSs in `ceph fs dump` has changed. * Ceph will issue a health warning if a RADOS pool's ``size`` is set to 1 or in other words the pool is configured with no redundancy. This can be fixed by setting the pool size to the minimum recommended value with:: ceph osd pool set size The warning can be silenced with:: ceph config set global mon_warn_on_pool_no_redundancy false * RGW: bucket listing performance on sharded bucket indexes has been notably improved by heuristically -- and significantly, in many cases -- reducing the number of entries requested from each bucket index shard. Changelog --------- * build/ops: address SElinux denials observed in rgw/multisite test run (`pr#34539 `_, Kefu Chai, Kaleb S. Keithley) * build/ops: ceph.spec.in: build on el8 (`pr#35599 `_, Kefu Chai, Brad Hubbard, Alfonso Martínez, Nathan Cutler, Sage Weil, luo.runbing) * build/ops: cmake: Improve test for 16-byte atomic support on IBM Z (`pr#33716 `_, Ulrich Weigand) * build/ops: do_cmake.sh: fix application of -DWITH_RADOSGW_KAFKA_ENDPOINT=OFF (`pr#34008 `_, Nathan Cutler, Kefu Chai) * build/ops: install-deps.sh: Use dnf for rhel/centos 8 (`pr#35461 `_, Brad Hubbard) * build/ops: rpm: add python3-saml as install dependency (`pr#34475 `_, Kefu Chai, Ernesto Puerta) * build/ops: selinux: Allow ceph to setsched (`pr#34433 `_, Brad Hubbard) * build/ops: selinux: Allow ceph-mgr access to httpd dir (`pr#34434 `_, Brad Hubbard) * build/ops: selinux: Allow getattr access to /proc/kcore (`pr#34870 `_, Brad Hubbard) * build/ops: spec: address some warnings raised by RPM 4.15.1 (`pr#34527 `_, Nathan Cutler) * ceph-volume/batch: check lvs list before access (`pr#34481 `_, Jan Fajerski) * ceph-volume/batch: return success when all devices are filtered (`pr#34478 `_, Jan Fajerski) * ceph-volume: add and delete lvm tags in a single lvchange call (`pr#35453 `_, Jan Fajerski) * ceph-volume: add ceph.osdspec_affinity tag (`pr#35132 `_, Joshua Schmid) * ceph-volume: devices/simple/scan: Fix string in log statement (`pr#34445 `_, Jan Fajerski) * ceph-volume: fix nautilus functional tests (`pr#33391 `_, Jan Fajerski) * ceph-volume: lvm: get_device_vgs() filter by provided prefix (`pr#33616 `_, Jan Fajerski, Yehuda Sadeh) * ceph-volume: prepare: use \*-slots arguments for implicit sizing (`pr#34278 `_, Jan Fajerski) * ceph-volume: silence 'ceph-bluestore-tool' failures (`pr#33428 `_, Sébastien Han) * ceph-volume: strip _dmcrypt suffix in simple scan json output (`pr#33722 `_, Jan Fajerski) * cephfs/tools: add accounted_rstat/rstat when building file dentry (`pr#35185 `_, Xiubo Li) * cephfs/tools: cephfs-journal-tool: correctly parse --dry_run argument (`pr#34784 `_, Milind Changire) * cephfs: allow pool names with hyphen and period (`pr#35391 `_, Rishabh Dave, Ramana Raja) * cephfs: ceph-fuse: link to libfuse3 and pass "-o big_writes" to libfuse if libfuse < 3.0.0 (`pr#34771 `_, Kefu Chai, Xiubo Li, "Yan, Zheng") * cephfs: client: expose Client::ll_register_callback via libcephfs (`pr#35393 `_, Kefu Chai, Jeff Layton) * cephfs: client: fix Finisher assert failure (`pr#35000 `_, Xiubo Li) * cephfs: client: fix bad error handling in lseek SEEK_HOLE / SEEK_DATA (`pr#34308 `_, Jeff Layton) * cephfs: client: only set MClientCaps::FLAG_SYNC when flushing dirty auth caps (`pr#35118 `_, Jeff Layton) * cephfs: client: reset requested_max_size if file write is not wanted (`pr#34767 `_, "Yan, Zheng") * cephfs: mds: Handle blacklisted error in purge queue (`pr#35149 `_, Varsha Rao) * cephfs: mds: SIGSEGV in Migrator::export_sessions_flushed (`pr#33751 `_, "Yan, Zheng") * cephfs: mds: Using begin() and empty() to iterate the xlist (`pr#34338 `_, Shen Hang, "Yan, Zheng") * cephfs: mds: add configurable snapshot limit (`pr#33295 `_, Milind Changire) * cephfs: mds: display scrub status in ceph status (`issue#41508 `_, `issue#42713 `_, `issue#44520 `_, `issue#42168 `_, `issue#42169 `_, `issue#42569 `_, `issue#41424 `_, `issue#42835 `_, `issue#36370 `_, `issue#42325 `_, `pr#30704 `_, Venky Shankar, Patrick Donnelly, Sage Weil, Kefu Chai) * cephfs: mds: don't shallow copy when decoding xattr map (`pr#35199 `_, "Yan, Zheng") * cephfs: mds: handle bad purge queue item encoding (`pr#34307 `_, "Yan, Zheng") * cephfs: mds: handle ceph_assert on blacklisting (`pr#34435 `_, Milind Changire) * cephfs: mds: just delete MDSIOContextBase during shutdown (`pr#34343 `_, "Yan, Zheng", Patrick Donnelly) * cephfs: mds: take xlock in the order requests start locking (`pr#35392 `_, "Yan, Zheng") * common/bl: fix memory corruption in bufferlist::claim_append() (`pr#34516 `_, Radoslaw Zarzynski) * common/blkdev: compilation of telemetry and device backports (`pr#33726 `_, Sage Weil, Difan Zhang, Patrick Seidensal, Kefu Chai) * common/blkdev: fix some problems with smart scraping (`pr#33421 `_, Sage Weil) * common/ceph_time: tolerate mono time going backwards (`pr#34542 `_, Sage Weil) * common/options: Disable bluefs_buffered_io by default again (`pr#34297 `_, Mark Nelson) * compressor/lz4: work around bug in liblz4 versions <1.8.2 (`pr#35004 `_, Sage Weil, Dan van der Ster) * core: bluestore/bdev: initialize size when creating object (`pr#34832 `_, Willem Jan Withagen) * core: bluestore: Don't pollute old journal when add new device (`pr#34796 `_, Yang Honggang) * core: bluestore: fix 'unused' calculation (`pr#34794 `_, xie xingguo, Igor Fedotov) * core: bluestore: fix extent leak after main device expand (`pr#34711 `_, Igor Fedotov) * core: bluestore: more flexible DB volume space usage (`pr#33889 `_, Igor Fedotov) * core: bluestore: open DB in read-only when expanding DB/WAL (`pr#34611 `_, Igor Fedotov, Jianpeng Ma, Adam Kupczyk) * core: bluestore: prevent BlueFS::dirty_files from being leaked when syncing metadata (`pr#34515 `_, Xuehan Xu) * core: msg/async/rdma: fix bug event center is blocked by rdma construct connection for transport ib sync msg (`pr#34780 `_, Peng Liu) * core: msgr: backport the EventCenter-related fixes (`pr#33820 `_, Radoslaw Zarzynski, Jeff Layton, Kefu Chai) * core: rados: prevent ShardedOpWQ suicide_grace drop when waiting for work (`pr#34882 `_, Dan Hill) * doc/mgr/telemetry: added device channel details (`pr#33684 `_, Yaarit Hatuka) * doc/releases/nautilus: restart OSDs to make them bind to v2 addr (`pr#34524 `_, Nathan Cutler) * doc: fix parameter to set pg autoscale mode (`pr#34518 `_, Changcheng Liu) * doc: mds-config-ref: update 'mds_log_max_segments' value (`pr#35278 `_, Konstantin Shalygin) * doc: reset PendingReleaseNotes following 14.2.8 release (`pr#33863 `_, Nathan Cutler) * global: ensure CEPH_ARGS is decoded before early arg processing (`pr#33261 `_, Kefu Chai, Jason Dillaman) * mgr/DaemonServer: fix pg merge checks (`pr#34354 `_, Sage Weil) * mgr/PyModule: fix missing tracebacks in handle_pyerror() (`pr#34627 `_, Tim Serong) * mgr/balancer: tolerate pgs outside of target weight map (`pr#34761 `_, Sage Weil) * mgr/dashboard/grafana: Add rbd-image details dashboard (`pr#35248 `_, Enno Gotthold) * mgr/dashboard: 'destroyed' view in CRUSH map viewer (`pr#33764 `_, Avan Thakkar) * mgr/dashboard: Add more debug information to Dashboard RGW backend (`pr#34399 `_, Volker Theile) * mgr/dashboard: Dashboard does not allow you to set norebalance OSD flag (`pr#33927 `_, Nizamudeen) * mgr/dashboard: Disable cache for static files (`pr#33763 `_, Tiago Melo) * mgr/dashboard: Display the aggregated number of request (`pr#35212 `_, Tiago Melo) * mgr/dashboard: Fix HomeTest setup (`pr#35086 `_, Tiago Melo) * mgr/dashboard: Fix cherrypy request logging error (`pr#31586 `_, Kiefer Chang) * mgr/dashboard: Fix error in unit test caused by timezone (`pr#34473 `_, Tiago Melo) * mgr/dashboard: Fix error when listing RBD while deleting or moving (`pr#34120 `_, Tiago Melo) * mgr/dashboard: Fix iSCSI's username and password validation (`pr#34550 `_, Tiago Melo) * mgr/dashboard: Fixes rbd image 'purge trash' button & modal text (`pr#33697 `_, anurag) * mgr/dashboard: Improve workaround to redraw datatables (`pr#34413 `_, Volker Theile) * mgr/dashboard: Not able to restrict bucket creation for new user (`pr#34692 `_, Volker Theile) * mgr/dashboard: Pool read/write OPS shows too many decimal places (`pr#34039 `_, anurag, Ernesto Puerta) * mgr/dashboard: Prevent iSCSI target recreation when editing controls (`pr#34551 `_, Tiago Melo) * mgr/dashboard: REST API: OpenAPI docs require internet connection (`pr#33032 `_, Patrick Seidensal) * mgr/dashboard: RGW port autodetection does not support "Beast" RGW frontend (`pr#34400 `_, Volker Theile) * mgr/dashboard: Refactor Python unittests and controller (`pr#34662 `_, Volker Theile) * mgr/dashboard: Repair broken grafana panels (`pr#34417 `_, Kristoffer Grönlund) * mgr/dashboard: Searchable objects for table (`pr#32891 `_, Stephan Müller) * mgr/dashboard: Tabs does not handle click events (`issue#39326 `_, `pr#34282 `_, Tiago Melo) * mgr/dashboard: UI fixes (`pr#34038 `_, Avan Thakkar) * mgr/dashboard: Updated existing E2E tests to match new format (`pr#33024 `_, Nathan Weinberg) * mgr/dashboard: Use booleanText pipe (`pr#33234 `_, Alfonso Martínez, Volker Theile) * mgr/dashboard: Use default language when running "npm run build" (`pr#33668 `_, Tiago Melo) * mgr/dashboard: do not show RGW API keys if only read-only privileges (`pr#33665 `_, Alfonso Martínez) * mgr/dashboard: fix COVERAGE_PATH in run-backend-api-tests.sh (`pr#34489 `_, Alfonso Martínez) * mgr/dashboard: fix backport #33764 (`pr#34640 `_, Ernesto Puerta) * mgr/dashboard: fix error when enabling SSO with cert. file (`pr#34129 `_, Alfonso Martínez) * mgr/dashboard: fix py2 strptime ImportError (not thread safe) (`pr#35016 `_, Alfonso Martínez) * mgr/dashboard: fixing RBD purge error in backend (`pr#34847 `_, Kiefer Chang) * mgr/dashboard: install teuthology using pip (`pr#35174 `_, Nathan Cutler, Kefu Chai) * mgr/dashboard: list configured prometheus alerts (`pr#34373 `_, Patrick Seidensal, Tiago Melo) * mgr/dashboard: monitoring menu entry should indicate firing alerts (`pr#34823 `_, Tiago Melo, Volker Theile) * mgr/dashboard: remove 'config-opt: read' perm. from system roles (`pr#33739 `_, Alfonso Martínez) * mgr/dashboard: show checkboxes for booleans (`pr#33388 `_, Tatjana Dehler) * mgr/dashboard: use FQDN for failover redirection (`pr#34497 `_, Ernesto Puerta) * mgr/insights: fix prune-health-history (`pr#35214 `_, Sage Weil) * mgr/pg_autoscaler: fix division by zero (`pr#33420 `_, Sage Weil) * mgr/pg_autoscaler: treat target ratios as weights (`pr#34087 `_, Josh Durgin) * mgr/prometheus: ceph_pg\_\* metrics contains last value instead of sum across all reported states (`pr#34162 `_, Jacek Suchenia) * mgr/run-tox-tests: Fix issue with PYTHONPATH (`pr#33688 `_, Brad Hubbard) * mgr/telegraf: catch FileNotFoundError exception (`pr#34628 `_, Kefu Chai) * mgr/telemetry: add 'last_upload' to status (`pr#33409 `_, Yaarit Hatuka) * mgr/telemetry: catch exception during requests.put (`pr#33141 `_, Sage Weil) * mgr/telemetry: fix UUID and STR concat (`pr#33666 `_, Yaarit Hatuka) * mgr/telemetry: fix and document proxy usage (`pr#33649 `_, Lars Marowsky-Bree) * mgr/volumes: Add interface to get subvolume metadata (`pr#34679 `_, Kotresh HR) * mgr/volumes: fs subvolume clone cancel (`issue#44208 `_, `pr#34036 `_, Venky Shankar, Michael Fritch) * mgr/volumes: minor fixes (`pr#35482 `_, Kotresh HR) * mgr/volumes: synchronize ownership (for symlinks) and inode timestamps for cloned subvolumes (`issue#24880 `_, `issue#43965 `_, `pr#33877 `_, Ramana Raja, Rishabh Dave, huanwen ren, Venky Shankar, Jos Collin) * mgr: Add get_rates_from_data to mgr_util.py (`pr#33893 `_, Stephan Müller, Ernesto Puerta) * mgr: Improve internal python to c++ interface (`pr#34356 `_, David Zafman) * mgr: close restful socket after exec (`pr#35213 `_, liushi) * mgr: force purge normal ceph entities from service map (`issue#44677 `_, `pr#34563 `_, Venky Shankar) * mgr: synchronize ClusterState's health and mon_status (`pr#34326 `_, Radoslaw Zarzynski) * mgr: update "hostname" when we already have the daemon state from that entity (`pr#33834 `_, Kefu Chai) * mon/FSCommands: Fix 'add_data_pool' command and 'fs new' command (`pr#34774 `_, Ramana Raja) * mon/OSDMonitor: Always tune priority cache manager memory on all mons (`pr#34916 `_, Sridhar Seshasayee) * mon/OSDMonitor: allow trimming maps even if osds are down (`pr#34983 `_, Joao Eduardo Luis) * mon/PGMap: fix summary display of >32bit pg states (`pr#33275 `_, Sage Weil, Adam C. Emerson) * mon: Get session_map_lock before remove_session (`pr#34677 `_, Xiaofei Cui) * mon: calculate min_size on osd pool set size (`pr#34585 `_, Deepika Upadhyay) * mon: disable min pg per osd warning (`pr#34618 `_, Sage Weil) * mon: fix/improve mon sync over small keys (`pr#33765 `_, Sage Weil) * mon: stash newer map on bootstrap when addr doesn't match (`pr#34500 `_, Sage Weil) * monitoring: Fix "10% OSDs down" alert description (`pr#35211 `_, Benoît Knecht) * monitoring: Fix pool capacity incorrect (`pr#34450 `_, James Cheng) * monitoring: alert for pool fill up broken (`pr#35137 `_, Volker Theile) * monitoring: alert for prediction of disk and pool fill up broken (`pr#34394 `_, Patrick Seidensal) * monitoring: fix RGW grafana chart 'Average GET/PUT Latencies' (`pr#33860 `_, Alfonso Martínez) * monitoring: fix decimal precision in Grafana %percentages (`pr#34829 `_, Ernesto Puerta) * monitoring: root volume full alert fires false positives (`pr#34419 `_, Patrick Seidensal) * osd/OSD: Log slow ops/types to cluster logs (`pr#33503 `_, Sage Weil, Sridhar Seshasayee) * osd/OSDMap: Show health warning if a pool is configured with size 1 (`pr#31842 `_, Sridhar Seshasayee) * osd/PeeringState.h: ignore RemoteBackfillReserved in WaitLocalBackfillReserved (`pr#34512 `_, Neha Ojha) * osd/PeeringState: do not trim pg log past last_update_ondisk (`pr#34957 `_, Samuel Just, xie xingguo) * osd/PeeringState: transit async_recovery_targets back into acting before backfilling (`pr#32849 `_, xie xingguo) * osd: dispatch_context and queue split finish on early bail-out (`pr#35024 `_, Sage Weil) * osd: fix racy accesses to OSD::osdmap (`pr#33530 `_, Radoslaw Zarzynski) * pybind/mgr/\*: fix config_notify handling of default values (`pr#34116 `_, Nathan Cutler, Sage Weil) * pybind/mgr: use six==1.14.0 (`pr#34316 `_, Kefu Chai) * pybind/rbd: RBD.create() method's 'old_format' parameter now defaults to False (`pr#35183 `_, Jason Dillaman) * pybind/rbd: ensure image is open before permitting operations (`pr#34424 `_, Mykola Golub) * pybind/rbd: fix no lockers are obtained, ImageNotFound exception will be output (`pr#34388 `_, zhangdaolong) * rbd: librbd: copy API should not inherit v1 image format by default (`pr#35182 `_, Jason Dillaman) * rbd: rbd-mirror: improve detection of blacklisted state (`pr#33533 `_, Mykola Golub) * rgw/kafka: add kafka endpoint support (`pr#32960 `_, Yuval Lifshitz, Willem Jan Withagen, Kefu Chai) * rgw/notifications: backporting features and bug fix (`pr#34107 `_, Yuval Lifshitz) * rgw/notifications: fix topic action fail with "MethodNotAllowed" (`issue#44614 `_, `pr#33978 `_, Yuval Lifshitz) * rgw/notifications: version id was not sent in versioned buckets (`pr#35181 `_, Yuval Lifshitz) * rgw: when you abort a multipart upload request, the quota may be not updated (`pr#33268 `_, Richard Bai(白学余)) * rgw: Add support bucket policy for subuser (`pr#33714 `_, Seena Fallah) * rgw: Fix dynamic resharding not working for empty zonegroup in period (`pr#33266 `_, Or Friedmann) * rgw: Fix upload part copy range able to get almost any string (`pr#33265 `_, Or Friedmann) * rgw: GET/HEAD and PUT operations on buckets w/lifecycle expiration configured do not return x-amz-expiration header (`pr#32924 `_, Matt Benjamin, Yuval Lifshitz) * rgw: MultipartObjectProcessor supports stripe size > chunk size (`pr#33271 `_, Casey Bodley) * rgw: ReplaceKeyPrefixWith and ReplaceKeyWith can not set at the same … (`pr#34599 `_, yuliyang) * rgw: anonomous swift to obj that dont exist should 401 (`pr#35045 `_, Matthew Oliver) * rgw: clear ent_list for each loop of bucket list (`issue#44394 `_, `pr#34099 `_, Yao Zongyou) * rgw: dmclock: wait until the request is handled (`pr#34954 `_, GaryHyg) * rgw: find oldest period and update RGWMetadataLogHistory() (`pr#34597 `_, Shilpa Jagannath) * rgw: fix SignatureDoesNotMatch when use ipv6 address in s3 client (`pr#33267 `_, yuliyang) * rgw: fix bug with (un)ordered bucket listing and marker w/ namespace (`pr#34609 `_, J. Eric Ivancich) * rgw: fix lc does not delete objects that do not have exactly the same tags as the rule (`pr#35002 `_, Or Friedmann) * rgw: fix multipart upload's error response (`pr#35019 `_, GaryHyg) * rgw: fix rgw crash when duration is invalid in sts request (`pr#33273 `_, yuliyang) * rgw: fix some list buckets handle leak (`pr#34986 `_, Tianshan Qu) * rgw: get barbican secret key request maybe return error code (`pr#33965 `_, Richard Bai(白学余)) * rgw: increase log level for same or older period pull msg (`pr#34833 `_, Ali Maredia) * rgw: make max_connections configurable in beast (`pr#33340 `_, Tiago Pasqualini) * rgw: making implicit_tenants backwards compatible (`issue#24348 `_, `pr#33749 `_, Marcus Watts) * rgw: multisite: enforce spawn window for incremental data sync (`pr#33270 `_, Casey Bodley) * rgw: radosgw-admin: add support for --bucket-id in bucket stats command (`pr#34815 `_, Vikhyat Umrao) * rgw: radosgw-admin: fix infinite loops in 'datalog list' (`pr#35001 `_, Casey Bodley) * rgw: reshard: skip stale bucket id entries from reshard queue (`pr#34735 `_, Abhishek Lekshmanan) * rgw: set bucket attr twice when delete lifecycle config (`pr#34598 `_, zhang Shaowen) * rgw: set correct storage class for append (`pr#34064 `_, yuliyang) * rgw: sts: add all http args to req_info (`pr#33355 `_, yuliyang) * rgw: tune sharded bucket listing (`pr#33675 `_, J. Eric Ivancich) * tests: migrate qa/ to python3 (`pr#34171 `_, Kefu Chai, Sage Weil, Casey Bodley, Rishabh Dave, Patrick Donnelly, Kyr Shatskyy, Michael Fritch, Xiubo Li, Ilya Dryomov, Alfonso Martínez, Thomas Bechtold) * tools/cli: bash_completion: Do not auto complete obsolete and hidden cmds (`pr#35117 `_, Kotresh HR) * tools/cli: ceph_argparse: increment matchcnt on kwargs (`pr#33160 `_, Matthew Oliver, Shyukri Shyukriev) * tools/rados: Unmask '-o' to restore original behaviour (`pr#33641 `_, Brad Hubbard) v14.2.9 Nautilus ================ This is the ninth bugfix release of Nautilus. This release fixes a couple of security issues in RGW & Messenger V2. We recommend all users to upgrade to this release. Notable Changes --------------- - CVE-2020-1759: Fixed nonce reuse in msgr V2 secure mode - CVE-2020-1760: Fixed XSS due to RGW GetObject header-splitting v14.2.8 Nautilus ================ This is the eighth update to the Ceph Nautilus release series. This release fixes issues across a range of subsystems. We recommend that all users upgrade to this release. Notable Changes --------------- * The default value of ``bluestore_min_alloc_size_ssd`` has been changed to 4K to improve performance across all workloads. * The following OSD memory config options related to bluestore cache autotuning can now be configured during runtime: - osd_memory_base (default: 768 MB) - osd_memory_cache_min (default: 128 MB) - osd_memory_expected_fragmentation (default: 0.15) - osd_memory_target (default: 4 GB) The above options can be set with:: ceph config set osd