v15.2.9 Octopus released

dgalloway

This is the 9th backport release in the Octopus series. We recommend users to update to this release.

Notable Changes

  • MGR: progress module can now be turned on/off, using the commands: ceph progress on and ceph progress off.
  • OSD: PG removal has been optimized in this release.

Changelog

  • Do not add sensitive information in Ceph log files (pr#38620, Neha Ojha)
  • PendingReleaseNotes: mgr/pg_autoscaler (pr#39393, Kamoltat)
  • Revert "mgr/pg_autoscaler: avoid scale-down until there is pressure" (pr#39560, Neha Ojha)
  • bluestore: Make mempool assignment same after bufferlist rebuild (pr#38429, Adam Kupczyk)
  • bluestore: Support flock retry (pr#37860, wanghongxu)
  • bluestore: attach csum for compressed blobs (pr#37861, Igor Fedotov)
  • bluestore: fix "end reached" check in collection_list_legacy (pr#38098, Mykola Golub)
  • bluestore: provide a different name for fallback allocator (pr#37794, Igor Fedotov)
  • build/ops: doc: pass --use-feature=2020-resolver to pip (pr#37859, Kefu Chai)
  • ceph-volume: lvm/create.py: fix a typo in the help message (pr#38425, ZhenLiu94)
  • cephadm: Don't make sysctl spam the log file (pr#39020, Sebastian Wagner)
  • cephadm: Revert "spec: Podman (temporarily) requires apparmor-abstractions on suse" (pr#37766, Nathan Cutler)
  • cephadm: Various properties like 'last_refresh' do not contain timezone (pr#39059, Volker Theile)
  • cephadm: batch backport January (1) (pr#38782, Ricardo Marques, Patrick Donnelly, Ken Dreyer, Paul Cuzner, Daniel-Pivonka, Juan Miguel Olmo Martínez, Volker Theile, Sebastian Wagner, Varsha Rao, Adam King, Patrick Seidensal, Michael Fritch, Dan Mick)
  • cephadm: fix rgw osd cap tag (pr#39170, Patrick Donnelly)
  • cephadm: make "ceph orch {restart|...}" asynchronous (pr#39018, Sebastian Wagner)
  • cephadm: silence "Failed to evict container" log msg (pr#39166, Sebastian Wagner, Sage Weil)
  • cephadm: use `apt-get` for package install/update (pr#39297, Michael Fritch)
  • cephfs: client: add ceph.{cluster_fsid/client_id} vxattrs suppport (pr#39000, Xiubo Li)
  • cephfs: client: check rdonly file handle on truncate (pr#38424, Patrick Donnelly)
  • cephfs: client: do not use g_conf().get_val<>() in libcephfs (pr#38466, Xiubo Li)
  • cephfs: client: ensure we take Fs caps when fetching directory link count from cached inode (pr#38949, Jeff Layton)
  • cephfs: client: increment file position on _read_sync near eof (pr#37989, Patrick Donnelly)
  • cephfs: client: set CEPH_STAT_RSTAT mask for dir in readdir_r_cb (pr#38947, chencan)
  • cephfs: mds: dir->mark_new() should together with dir->mark_dirty() (pr#38352, "Yan, Zheng")
  • cephfs: mds: move start_files_to_recover() to recovery_done (pr#37985, Simon Gao)
  • cephfs: osdc: restart read on truncate/discard (pr#37987, Patrick Donnelly)
  • cephfs: release client dentry_lease before send caps release to mds (pr#38349, Wei Qiaomiao)
  • client: dump which fs is used by client for multiple-fs (pr#38551, Zhi Zhang)
  • cmake: add empty RPATH to ceph-diff-sorted (pr#38847, Nathan Cutler)
  • cmake: define BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT for Boost.Asio users (pr#38759, Kefu Chai)
  • cmake: detect and use sigdescr_np() if available (pr#38951, David Disseldorp)
  • do_cmake.sh: use python-3.9 with fedora version 33 (pr#38943, Sunny Kumar)
  • doc: document MDS cache configuration (pr#38202, Patrick Donnelly)
  • global: reexpand conf meta in child process (pr#38340, Xiubo Li)
  • install-deps.sh: Make powertools repo case insensitive (pr#38808, Brad Hubbard)
  • krbd: add support for msgr2 (kernel 5.11) (pr#39203, Ilya Dryomov)
  • librbd: clear implicitly enabled feature bits when creating images (pr#39122, Jason Dillaman)
  • librbd: fix regression in object map diff request (pr#38455, Mykola Golub, Jason Dillaman)
  • librbd: update hidden global config when removing pool config override (pr#38343, Jason Dillaman)
  • mds: dump granular cap info in mds_sessions (pr#37362, Yanhu Cao)
  • mds: provide altrenatives to increase the total cephfs subvolume snapshot counts to greater than the current 400 across a Cephfs volume (pr#38553, "Yan, Zheng")
  • mds: throttle cap acquisition via readdir (pr#38095, Kotresh HR)
  • mgr/ActivePyModules.cc: always release GIL before attempting to acquire a lock (pr#38801, Cory Snyder)
  • mgr/balancer: fix available pgs sent to calc_pg_upmaps (pr#38337, Dan van der Ster)
  • mgr/cephadm: fix host refresh (pr#39532, Sage Weil)
  • mgr/cephadm: lock multithreaded access to OSDRemovalQueue (pr#39019, Sebastian Wagner)
  • mgr/cephadm: raise HEALTH_WARN when cephadm daemon in 'error' state (pr#39169, Sage Weil)
  • mgr/cephadm: tolerate old host inventory without 'hostname' key (pr#39167, Sage Weil)
  • mgr/cephadm: try again calling ceph-volume without --filter-for-batch (pr#39300, Sebastian Wagner)
  • mgr/crash: Serialize command handling (pr#38592, Boris Ranto)
  • mgr/dashboard: Add clay plugin support (pr#38489, Stephan Müller)
  • mgr/dashboard: Create Ceph services via Orchestrator by using ServiceSpec (pr#38888, Volker Theile)
  • mgr/dashboard: Display a warning message in Dashboard when debug mode is enabled (pr#38798, Volker Theile)
  • mgr/dashboard: Drop invalid RGW client instances, improve logging (pr#38583, Volker Theile)
  • mgr/dashboard: Fix CRUSH map viewer VirtualScroll (pr#38607, Avan Thakkar)
  • mgr/dashboard: Fix for misleading "Orchestrator is not available" error (pr#38598, Nizamudeen A)
  • mgr/dashboard: Fixing dashboard logs e2e test (pr#38797, Nizamudeen A)
  • mgr/dashboard: Prevent table items from getting selected while expanding (pr#37930, Nizamudeen A)
  • mgr/dashboard: RGW User Form is validating disabled fields (pr#38594, Aashish Sharma)
  • mgr/dashboard: Temporary User Lockout if 10 Invalid Login attempts (pr#38810, Nizamudeen A)
  • mgr/dashboard: The /rgw/status endpoint does not check for running service (pr#38770, Volker Theile)
  • mgr/dashboard: Updating the inbuilt ssl providers error (pr#38508, Nizamudeen A)
  • mgr/dashboard: Use secure cookies to store JWT Token (pr#39120, Avan Thakkar, Aashish Sharma)
  • mgr/dashboard: add `--ssl` to `ng serve` (pr#38973, Tatjana Dehler)
  • mgr/dashboard: adjust refresh intervals of Services and Daemons (pr#38597, Kiefer Chang)
  • mgr/dashboard: allow selecting all daemons for Orchestrator NFS clusters (pr#38496, Kiefer Chang)
  • mgr/dashboard: assign flags to single OSDs (pr#38469, Tatjana Dehler)
  • mgr/dashboard: disable cluster selection in NFS export editing form (pr#37969, Kiefer Chang)
  • mgr/dashboard: display placement column in service table (pr#38336, Volker Theile)
  • mgr/dashboard: enable different URL for users of browser to Grafana (pr#38761, Patrick Seidensal)
  • mgr/dashboard: fix Reads/Writes ratio of Clients IOPS donut chart (pr#38867, Kiefer Chang)
  • mgr/dashboard: remove pyOpenSSL version pinning (pr#38503, Kiefer Chang)
  • mgr/dashboard: test_standby\* (tasks.mgr.test_dashboard.TestDashboard) failed locally (pr#38526, Volker Theile)
  • mgr/pg_autoscaler: avoid scale-down until there is pressure (pr#39248, Kamoltat)
  • mgr/progress: introduce turn off/on feature (pr#39289, kamoltat)
  • mgr/prometheus: Fix 'pool filling up' with >50% usage (pr#38593, Daniël Vos)
  • mgr/prometheus: Sync and backport prometheus fixes (pr#38333, Paul Cuzner, Boris Ranto, Kefu Chai, Ken Dreyer)
  • mgr/rbd_support: store global schedule without localized prefix (pr#38342, Mykola Golub)
  • mgr/restful: fix TypeError occurring in _gather_osds() (issue#48488, pr#38595, Jerry Pu)
  • mgr/volumes: Add a per subvolume trash (pr#38612, Venky Shankar, Shyamsundar Ranganathan)
  • mgr/volumes: Implement subvolume version v2 (pr#36803, Shyamsundar Ranganathan)
  • mgr: Fix for dashboard/prometheus failure due to laggy pg state (pr#38596, Alexander Sushko)
  • mgr: don't update osd stat which is already out (pr#38353, Zhi Zhang)
  • mon: paxos: Delete logger in destructor (pr#39161, Brad Hubbard)
  • mon: validate crush-failure-domain (pr#38347, Prashant Dhange)
  • monitoring: Use null yaxes min for OSD read latency (pr#37960, Seena Fallah)
  • msg/async/ProtocolV2: allow rxbuf/txbuf get bigger in testing, again (pr#38267, Ilya Dryomov)
  • ocf: add support for mapping images within an RBD namespace (pr#39046, Jason Dillaman)
  • os/bluestore: detect and fix "zombie" spanning blobs using fsck (pr#39256, Igor Fedotov)
  • os/bluestore: fix huge (>4GB) bluefs reads (pr#39253, Igor Fedotov)
  • os/bluestore: fix inappropriate ENOSPC from avl/hybrid allocator (pr#38474, Igor Fedotov)
  • os/bluestore: fix segfault on out-of-bound offset provided to claim_free_to_right() call (pr#38428, Igor Fedotov)
  • os/bluestore: fixing onode pinning and more (pr#39230, Adam Kupczyk, Igor Fedotov)
  • osd: fix bluestore bitmap allocator calculate wrong last_pos with hint (pr#38430, Xue Yantao)
  • osd: optimize PG removal (part1) (pr#38477, Igor Fedotov)
  • pybind/cephfs: fix missing terminating NULL char in readlink()'s C string (pr#38893, Tuan Hoang)
  • pybind/mgr/rbd_support: delay creation of progress module events (pr#38344, Jason Dillaman)
  • python-common/drivegroups: avoid dropping "rotational: 0" from Device Selection (issue#49014, pr#39171, Lukas Stockner)
  • python-common: fix test_datetime_to_str_2 on non-UTC hosts (pr#39296, Sage Weil)
  • qa/cephadm: Add yaml output to smoke test (pr#39168, Sebastian Wagner)
  • qa/mgr: mgr_test_case: raise SkipTest instead of calling skipTest() (pr#38165, Rishabh Dave)
  • qa/tasks/cephfs/nfs: Check if host ip is in cluster info output (pr#39004, Varsha Rao)
  • qa/tasks/mgr/test_progress: update test suite to check for specific progress events (pr#38555, Kamoltat)
  • qa/tasks/vstart_runner: do not teardown test_path if "create-cluster-only" (pr#39540, Kefu Chai)
  • qa/workunits/rbd: fix permission issue when removing mirror peer (pr#38341, Jason Dillaman)
  • qa: accept timeout argument in run_shell (pr#38550, Patrick Donnelly)
  • qa: ignore evicted client warnings (pr#38422, Patrick Donnelly)
  • qa: ignore logrotate state rename error (pr#37690, Patrick Donnelly)
  • qa: krbd_stable_pages_required.sh: move to stable_writes attribute (pr#39321, Ilya Dryomov)
  • qa: tox failures (pr#38626, Patrick Donnelly)
  • qa: unmount volumes before removal (pr#38688, Patrick Donnelly)
  • rgw/multisite: Verify if the synced object is identical to source (pr#38981, Prasad Krishnan, Casey Bodley)
  • rgw/rgw-admin: fixes BucketInfo for missing buckets (pr#38184, Nick Janus, caolei)
  • rgw: S3 Put Bucket Policy should return 204 on success (pr#38420, Matthew Oliver)
  • rgw: adding user related web token claims to ops log (pr#38970, Pritha Srivastava)
  • rgw: avoid expiration early triggering caused by overflow (pr#38421, jiahuizeng)
  • rgw: cls/rgw/cls_rgw.cc: fix multiple lastest version problem (pr#38086, Yang Honggang, Ruan Zitao)
  • rgw: cls/user: set from_index for reset stats calls (pr#38821, Mykola Golub, Abhishek Lekshmanan)
  • rgw: distribute cache for exclusive put (pr#38971, Or Friedmann)
  • rgw: fix bucket limit check fill_status warnings (issue#40255, pr#38826, Paul Emmerich)
  • rgw: fix invalid payload issue when serving s3website error page (pr#38339, Ilsoo Byun)
  • rgw: keep syncstopped flag when copying bucket shard headers (pr#38338, Ilsoo Byun)
  • rgw: lc: correctly dimension lc shard index vector (pr#38824, Matt Benjamin)
  • rgw_file: return common_prefixes in lexical order (pr#38829, Matt Benjamin)
  • rpm,deb: change sudoers file mode to 440 (pr#38427, David Turner)
  • rpm: require smartmontools on SUSE (pr#38755, Nathan Cutler)
  • test/run-cli-tests: use cram from github (pr#39071, Kefu Chai)
  • tests: qa/task/cephadm: run cephadm only on bootstrap_remote (pr#38040, Kyr Shatskyy)