The Ceph Blog

Ceph blog stories provide high-level spotlights on our customers all over the world

March 11, 2021

v14.2.17 Nautilus released

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

  • Do not add sensitive information in Ceph log files (pr#38614, Neha Ojha)

  • bluestore: Add protection against bluefs log file growth (pr#37948, Adam Kupczyk)

  • bluestore: provide a different name for fallback allocator (pr#37793, Igor Fedotov)

  • build-integration-branch: take PRs in chronological order (pr#37693, Nathan Cutler)

  • build/ops: install-deps.sh,deb,rpm: move python-saml deps into debian/control and ceph.spec.in (pr#39184, Kefu Chai)

  • ceph-volume batch: reject partitions in argparser (pr#38279, Jan Fajerski)

  • ceph-volume: Fix usage of is_lv (pr#39221, Michał Nasiadka)

  • ceph-volume: Update batch.py (pr#39470, shenjiatong)

  • ceph-volume: add no-systemd argument to zap (pr#37723, wanghongxu)

  • ceph-volume: add some flexibility to bytes_to_extents (pr#39270, Jan Fajerski)

  • ceph-volume: consume mount opt in simple activate (pr#38015, Dimitri Savineau)

  • ceph-volume: implement the –log-level flag (pr#38372, Andrew Schoen)

  • ceph-volume: remove mention of dmcache from docs and help text (pr#38048, Dimitri Savineau, Andrew Schoen)

  • cephfs: client: check rdonly file handle on truncate (pr#39129, Patrick Donnelly)

  • cephfs: client: dump which fs is used by client for multiple-fs (pr#38552, Zhi Zhang)

  • cephfs: client: ensure we take Fs caps when fetching directory link count from cached inode (pr#38950, Jeff Layton)

  • cephfs: client: fix inode ll_ref reference count leak (pr#37838, sepia-liu)

  • cephfs: client: increment file position on _read_sync near eof (pr#37991, Patrick Donnelly)

  • cephfs: client: set CEPH_STAT_RSTAT mask for dir in readdir_r_cb (pr#38948, chencan)

  • cephfs: mds: throttle cap acquisition via readdir (pr#38101, Kotresh HR)

  • cephfs: mount.ceph: collect v2 addresses for non-legacy ms_mode options (pr#39133, Jeff Layton)

  • cephfs: osdc: restart read on truncate/discard (pr#37988, Patrick Donnelly)

  • cephfs: release client dentry_lease before send caps release to mds (pr#39127, Wei Qiaomiao)

  • client: add ceph.{cluster_fsid/client_id} vxattrs suppport (pr#39001, Xiubo Li)

  • client: do not use g_conf().get_val<>() in libcephfs (pr#38467, Xiubo Li)

  • cmake: define BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT for Boost.Asio users (pr#38760, Kefu Chai)

  • cmake: detect and use sigdescr_np() if available (pr#38952, David Disseldorp)

  • common/mempool: Improve mempool shard selection (pr#39651, Nathan Cutler, Adam Kupczyk)

  • common: fix logfile create perms (issue#7849, pr#38558, Kefu Chai, Roman Penyaev)

  • common: skip interfaces starting with “lo” in find_ipv{4,6}_in_subnet() (pr#39342, Thomas Goirand, Jiawei Li)

  • core: osd: An empty bucket or OSD is not an error (pr#39126, Brad Hubbard)

  • crush/CrushWrapper: rebuild reverse maps after rebuilding crush map (pr#39197, Jason Dillaman)

  • krbd: add support for msgr2 (kernel 5.11) (pr#39202, Ilya Dryomov)

  • librados, tests: allow to list objects with the NUL character in names (pr#39324, Radoslaw Zarzynski)

  • librbd: clear implicitly enabled feature bits when creating images (pr#39121, Jason Dillaman)

  • log: fix timestap precision of log can’t set to millisecond (pr#37659, Guan yunfei)

  • lvm/create.py: fix a typo in the help message (pr#38371, ZhenLiu94)

  • mds : move start_files_to_recover() to recovery_done (pr#37986, Simon Gao)

  • mds: account for closing sessions in hit_session (pr#37820, Dan van der Ster)

  • mds: avoid spurious sleeps (pr#39130, Patrick Donnelly)

  • mds: dir->mark_new() should together with dir->mark_dirty() (pr#39128, “Yan, Zheng”)

  • mds: update defaults for recall configs (pr#39134, Patrick Donnelly)

  • mgr/PyModule: correctly remove config options (pr#38803, Tim Serong)

  • mgr/crash: Serialize command handling (pr#39338, Boris Ranto)

  • mgr/dashboard: CLI commands: read passwords from file (pr#38832, Ernesto Puerta, Alfonso Martínez, Juan Miguel Olmo Martínez)

  • mgr/dashboard: Datatable catches select events from other datatables (pr#37756, Volker Theile, Tiago Melo)

  • mgr/dashboard: Disable TLS 1.0 and 1.1 (pr#38332, Volker Theile)

  • mgr/dashboard: Disable sso without python3-saml (pr#38404, Kevin Meijer)

  • mgr/dashboard: Display a warning message in Dashboard when debug mode is enabled (pr#38799, Volker Theile)

  • mgr/dashboard: Display users current bucket quota usage (pr#38024, Avan Thakkar)

  • mgr/dashboard: Drop invalid RGW client instances, improve logging (pr#38584, Volker Theile)

  • mgr/dashboard: fix ‘ceph dashboard iscsi-gateway-add’ (pr#39175, Alfonso Martínez)

  • mgr/dashboard: Fix for datatable item not showing details after getting selected (pr#38813, Nizamudeen A)

  • mgr/dashboard: Fix for incorrect validation in rgw user form (pr#39117, Nizamudeen A)

  • mgr/dashboard: RGW User Form is validating disabled fields (pr#39543, Aashish Sharma)

  • mgr/dashboard: The /rgw/status endpoint does not check for running service (pr#38771, Volker Theile)

  • mgr/dashboard: Updating the inbuilt ssl providers error (pr#38509, Nizamudeen A)

  • mgr/dashboard: Use secure cookies to store JWT Token (pr#38839, Avan Thakkar, Aashish Sharma)

  • mgr/dashboard: add `–ssl` to `ng serve` (pr#38972, Tatjana Dehler)

  • mgr/dashboard: avoid using document.write() (pr#39526, Avan Thakkar)

  • mgr/dashboard: customize CherryPy Server Header (pr#39419, anurag)

  • mgr/dashboard: delete EOF when reading passwords from file (pr#39438, Alfonso Martínez)

  • mgr/dashboard: disable cluster selection in NFS export editing form (pr#37995, Kiefer Chang)

  • mgr/dashboard: enable different URL for users of browser to Grafana (pr#39136, Patrick Seidensal)

  • mgr/dashboard: fix MTU Mismatch alert (pr#39518, Aashish Sharma)

  • mgr/dashboard: fix issues related with PyJWT versions >=2.0.0 (pr#39837, Alfonso Martínez)

  • mgr/dashboard: fix security scopes of some NFS-Ganesha endpoints (pr#37961, Kiefer Chang)

  • mgr/dashboard: fix tooltip for Provisioned/Total Provisioned fields (pr#39646, Avan Thakkar)

  • mgr/dashboard: minimize console log traces of Ceph backend API tests (pr#39544, Aashish Sharma)

  • mgr/dashboard: prometheus alerting: add some leeway for package drops and errors (pr#39509, Patrick Seidensal)

  • mgr/dashboard: python 2: error when setting non-ASCII password (pr#39441, Alfonso Martínez)

  • mgr/dashboard: remove pyOpenSSL version pinning (pr#38504, Kiefer Chang)

  • mgr/dashboard: set security headers (pr#39626, Avan Thakkar)

  • mgr/dashboard: test_standby\* (tasks.mgr.test_dashboard.TestDashboard) failed locally (pr#38527, Volker Theile)

  • mgr/dashboard: trigger alert if some nodes have a MTU different than the median value (pr#39104, Aashish Sharma)

  • mgr/insights: Test environment requires ‘six’ (pr#38382, Brad Hubbard)

  • mgr/progress: delete all events over the wire (pr#38416, Sage Weil)

  • mgr/progress: make it so progress bar does not get stuck forever (issue#40618, pr#37589, Kamoltat (Junior) Sirivadhna, Kamoltat)

  • mgr/prometheus: Add SLOW_OPS healthcheck as a metric (pr#39747, Paul Cuzner)

  • mgr/prometheus: Fix ‘pool filling up’ with >50% usage (pr#39076, Daniël Vos)

  • mgr/prometheus: Make module more stable (pr#38334, Boris Ranto, Ken Dreyer)

  • mgr/restful: fix TypeError occurring in _gather_osds() (issue#48488, pr#39339, Jerry Pu)

  • mgr/telemetry: fix proxy usage (pr#38816, Nathan Cutler)

  • mgr/volume: subvolume auth_id management and few bug fixes (pr#39292, Rishabh Dave, Patrick Donnelly, Kotresh HR, Ramana Raja)

  • mgr/volumes: Make number of cloner threads configurable (pr#37936, Kotresh HR)

  • mgr: Pin importlib_metadata version 2.1.0 (pr#38296, Brad Hubbard)

  • mgr: don’t update osd stat which is already out (pr#38354, Zhi Zhang)

  • mgr: fix deadlock in ActivePyModules::get_osdmap() (pr#39340, peng jiaqi)

  • mgr: update mon metadata when monmap is updated (pr#39075, Kefu Chai)

  • mon scrub testing (pr#38362, Brad Hubbard)

  • mon/MDSMonitor do not ignore mds’s down:dne request (pr#37822, chencan)

  • mon/MDSMonitor: divide mds identifier and mds real name with dot (pr#37821, Zhi Zhang)

  • mon: Log “ceph health detail” periodically in cluster log (pr#38118, Prashant Dhange)

  • mon: have ‘mon stat’ output json as well (pr#37706, Joao Eduardo Luis, Sage Weil)

  • mon: paxos: Delete logger in destructor (pr#39160, Brad Hubbard)

  • mon: validate crush-failure-domain (pr#39124, Prashant Dhange)

  • monitoring: Use null yaxes min for OSD read latency (pr#37959, Seena Fallah)

  • msg/async/ProtocolV2: allow rxbuf/txbuf get bigger in testing, again (pr#38268, Ilya Dryomov)

  • ocf: add support for mapping images within an RBD namespace (pr#39047, Jason Dillaman)

  • os/bluestore: Add option to check BlueFS reads (pr#39756, Adam Kupczyk)

  • os/bluestore: detect and fix “zombie” spanning blobs using fsck (pr#39255, Igor Fedotov)

  • os/bluestore: fix huge read/writes in BlueFS (pr#39698, Jianpeng Ma, Kefu Chai, Igor Fedotov)

  • os/bluestore: fix inappropriate ENOSPC from avl/hybrid allocator (pr#38475, Igor Fedotov)

  • os/bluestore: fix segfault on out-of-bound offset provided to claim\_… (pr#38637, Igor Fedotov)

  • os/bluestore: go beyond pinned onodes while trimming the cache (pr#39720, Igor Fedotov)

  • os/bluestore: mempool’s finer granularity + adding missed structs (pr#38310, Deepika Upadhyay, Igor Fedotov, Adam Kupczyk)

  • osd: Check for nosrub/nodeep-scrub in between chunks, to avoid races (pr#38411, David Zafman)

  • osd: fix bluestore bitmap allocator calculate wrong last_pos with hint (pr#39708, Xue Yantao)

  • osd: optimize PG removal (part1) (pr#38478, Neha Ojha, Igor Fedotov)

  • pybind/ceph_volume_client: Update the ‘volumes’ key to ‘subvolumes’ in auth-metadata file (pr#39658, Kotresh HR, Michael Fritch)

  • pybind/cephfs: add special values for not reading conffile (pr#37725, Kefu Chai)

  • pybind/cephfs: fix missing terminating NULL char in readlink()’s C string (pr#38894, Tuan Hoang)

  • pybind/mgr/rbd_support: delay creation of progress module events (pr#38833, Jason Dillaman)

  • qa/cephfs: add session_timeout option support (pr#37840, Xiubo Li)

  • qa/distros: add rhel 7.9 (pr#38188, rakeshgm)

  • qa/tasks/ceph_manager.py: don’t use log-early in raw_cluster_cmd (pr#39960, Neha Ojha)

  • qa/tasks/{ceph,ceph_manager}: drop py2 support (pr#37906, Rishabh Dave, Deepika Upadhyay, Kefu Chai)

  • qa: fix tox failures (pr#38627, Patrick Donnelly)

  • qa: krbd_stable_pages_required.sh: move to stable_writes attribute (pr#38834, Ilya Dryomov)

  • qa: restore file name (pr#38772, Patrick Donnelly)

  • qa: unmount volumes before removal (pr#38690, Patrick Donnelly)

  • qa: use normal build for valgrind (pr#39584, Sage Weil)

  • rados/upgrade/nautilus-x-singleton fails due to cluster [WRN] evicting unresponsive client (pr#39706, Patrick Donnelly)

  • rbd-nbd: reexpand the conf meta in child process (pr#38830, Xiubo Li)

  • rbd/bench: include used headers (pr#39123, Kefu Chai)

  • rbd: librbd: ensure that thread pool lock is held when processing throttled IOs (pr#37895, Jason Dillaman)

  • rbd: librbd: update hidden global config when removing pool config override (pr#38831, Jason Dillaman)

  • rgw: Disable prefetch of entire head object when GET request with range header (pr#38556, Or Friedmann)

  • rgw: S3 Put Bucket Policy should return 204 on success (pr#38623, Matthew Oliver)

  • rgw: avoid expiration early triggering caused by overflow (pr#38823, jiahuizeng)

  • rgw: cls/rgw/cls_rgw.cc: fix multiple lastest version problem (pr#38085, Yang Honggang, Ruan Zitao)

  • rgw: cls/user: set from_index for reset stats calls (pr#38822, Mykola Golub, Abhishek Lekshmanan)

  • rgw: distribute cache for exclusive put (pr#38827, Or Friedmann)

  • rgw: fix bucket limit check fill_status warnings (issue#40255, pr#38825, Paul Emmerich)

  • rgw: fix invalid payload issue when serving s3website error page (pr#38590, Ilsoo Byun)

  • rgw: fix trailing null in object names of multipart reuploads (pr#39276, Casey Bodley)

  • rgw: in ordered bucket listing skip namespaced entries internally when possible (pr#38493, J. Eric Ivancich)

  • rgw: keep syncstopped flag when copying bucket shard headers (pr#38589, Ilsoo Byun)

  • rgw: multisite: Verify if the synced object is identical to source (pr#38885, Prasad Krishnan, Yang Honggang, Casey Bodley)

  • rgw: radosgw-admin: clarify error when email address already in use (pr#39661, Matthew Vernon)

  • rgw: rgw-admin: fixes BucketInfo for missing buckets (pr#38588, Nick Janus, caolei)

  • rgw_file: return common_prefixes in lexical order (pr#38828, Matt Benjamin)

  • rpm,deb: change sudoers file mode to 440 (pr#39090, David Turner)

  • rpm: ceph-mgr-dashboard recommends python3-saml on SUSE (pr#38818, Nathan Cutler)

  • run-make-check.sh: Don’t run tests if build fails (pr#38295, Brad Hubbard)

  • test/librados: fix endian bugs in checksum test cases (pr#37605, Ulrich Weigand)

  • test/rbd-mirror: fix broken ceph_test_rbd_mirror_random_write (pr#39650, Jason Dillaman)

  • test/run-cli-tests: use cram from github (pr#39072, Kefu Chai)

  • tests: cancelling both noscrub \*and\* nodeep-scrub (pr#39125, Ronen Friedman)

  • tools/rados: add support for binary object names in the rados CLI (pr#39329, Radoslaw Zarzynski, Kefu Chai)

  • tools/rados: flush formatter periodically during json output of “rados ls” (pr#37834, J. Eric Ivancich)

  • vstart.sh: fix fs set max_mds bug (pr#37836, Jinmyeong Lee)

dgalloway

Careers