Emmanuel Ameh [Tue, 23 Jun 2026 09:26:43 +0000 (10:26 +0100)]
doc: remove ceph-disk migration section and clarify Podman/Docker systemd note
Remove the ceph-disk migration block from ceph-volume/index.rst as ceph-disk
has been deprecated since v13 and ceph-volume is now the assumed standard.
Add a note to operating.rst clarifying that systemctl management applies to
Podman-based deployments and may differ for Docker.
Emmanuel Ameh [Tue, 9 Jun 2026 12:30:37 +0000 (13:30 +0100)]
doc: Remove SysVinit/upstart references from user-facing docs
Ceph has required systemd for several release cycles. Remove the
"Running Ceph with SysVinit" section from operating.rst and update
two other files that still listed sysvinit as a valid init system.
- rados/operations/operating.rst: remove the SysVinit section and
the stale distribution list in the systemd intro paragraph
- ceph-volume/intro.rst: remove "(upstart, sysvinit, etc.)" from
the ceph-disk historical context paragraph
- start/os-recommendations.rst: remove ``sysvinit`` as an example
init framework; systemd is the only supported option
Based on my own estimates. Squid will have one more bug fix cycle after
v19.2.6. Vampire will release in March. We will likely have 1 or 2 more
bug fix cycles before tying it off.
Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
Yuri Weinstein [Tue, 4 Aug 2026 22:04:47 +0000 (15:04 -0700)]
doc: v20.2.3 tentacle release notes
Adds the v20.2.3 tentacle release notes: Notable Changes by component
and the full Changelog, following the same structure as
ceph/ceph#69886.
Notable Changes are curated from the merged-PR changelog per
component (MDS, OSD, RGW, RADOS/librados/neorados, Dashboard,
ceph-volume, NVMe-oF, RBD), skipping test-only, CI, and
internal-refactor entries.
Addresses review feedback:
- afreen23: added a Dashboard bullet for the RGW Roles tab removal /
move under RGW Accounts.
- idryomov/caroav: added an NVMe-oF bullet on the new mgr module and
its automatic ".nvmeof" metadata-pool creation.
- batrick: release date corrected to August 5, 2026 in both
tentacle.rst and releases.yml.
- idryomov: moved the two librbd bullets out of "RADOS / librados /
neorados" (not RADOS-core changes) into a renamed "RBD" section
(was "rbd-mirror").
- caroav: reworded the two terse NVMe-oF bullets (delayed failback,
DELETING-state beacon handling) per her clarifications.
doc: document collocated DB LV split for ceph-volume lvm batch
This commits documents the ability to deploy OSDs where the block.db
LV is carved out of the same physical device as the data LV, without
requiring a dedicated DB disk.
This can be done by passing --block-db-size without --db-devices to
`ceph-volume lvm batch`. The feature was introduced in Squid as part
of tracker #69996.
Manya Dogra [Tue, 4 Aug 2026 10:08:04 +0000 (10:08 +0000)]
mgr: rate-limit repetitive CherryPy access logs
Prometheus scrapes /metrics every few seconds, and service-discovery
endpoints (ceph, node-exporter, alertmanager, ceph-exporter) every
minute, causing CherryPy's access logger to emit thousands of routine
INFO-level entries per day. Add CherryPyAccessFilter to rate-limit
HTTP 200 responses to one log entry per endpoint every 300 seconds
(configurable). Non-200 responses continue to be logged unconditionally.
Set cherrypy.log.access_log.propagate to True so access log records
also propagate into the mgr logging path.
Yuri Weinstein [Tue, 4 Aug 2026 18:00:53 +0000 (11:00 -0700)]
ptl-tool: recover cleanly from merge conflicts instead of crashing
build_branch()'s per-PR merge loop called G.git.merge() with no error
handling. When a PR conflicts with changes already merged earlier in
the same run (two PRs in one label touching the same file is a real,
reproducible case), GitCommandError propagated all the way up through
main() as a raw traceback -- and left the git index in an unresolved
"needs merge" state. The next invocation against that same checkout
then failed a later, unrelated git checkout with "you need to resolve
your current index first", a confusing secondary symptom of the real
problem. Already reported as feedback on
https://github.com/ceph/ceph/pull/70549#issuecomment-5123585401.
Extract the merge call into merge_pr_or_abort(), which catches
GitCommandError, runs `git merge --abort` to restore a clean working
tree (guarded so an abort failure can't mask the original error), logs
which PR failed, and exits via SystemExit with an actionable message.
Also add ensure_clean_checkout(G), called at the start of
build_branch() right after G = git.Repo(args.git). It detects a
checkout already stuck from a previous run that crashed or was
killed -- an in-progress merge (MERGE_HEAD), an in-progress
cherry-pick (CHERRY_PICK_HEAD), or uncommitted tracked changes -- and
raises SystemExit with manual-cleanup instructions rather than
auto-mutating the checkout on the operator's behalf (per batrick's
review on this PR). A clean checkout (the normal case) is untouched.
Verified against real conflicting merges (not just mocks): the repo is
left clean after merge_pr_or_abort() aborts, and MERGE_HEAD is
confirmed to still exist after ensure_clean_checkout() raises, proving
no auto-abort occurs there. All 20 unit tests pass.
mgr/dashboard: fix notification and tearsheet UI issues
- Add Carbon typography classes to running tasks section
- Fix tearsheet footer cutoff by adding min-height: 0 to grid wrapper
- Add launch icon to View in Prometheus link
- Restrict notification detail width to prevent overflow
- Render HTML in notification detail view, strip tags in list preview
- Add gap between timestamp and View more in toast notifications
Afreen Misbah [Mon, 3 Aug 2026 21:13:39 +0000 (02:43 +0530)]
monitoring: show N/A for compression metrics when physical used < 100 GiB
On fresh clusters with no user data, internal metadata compresses
at ~10:1, producing misleading ratio/efficiency values. Gate
compression ratio, efficiency, storage saved, and ratio trend
panels on physical used exceeding 100 GiB.
Dan van der Ster [Wed, 18 Mar 2026 21:12:30 +0000 (14:12 -0700)]
tools/contrib: add upmap-remapped.py utility
This script generates upmap entries for currently remapped PGs, allowing
operators to execute large cluster changes (like massive PG splitting or
adding capacity) without triggering immediate, disruptive I/O storms.
It pins PGs to their current physical locations, deferring data migration
to the background balancer.
Note: This tool is actively maintained over at
https://github.com/cernceph/ceph-scripts. We should strive to keep this
in-tree copy in sync with that repository.
Fixes: https://tracker.ceph.com/issues/78996 Signed-off-by: Dan van der Ster <dan.vanderster@clyso.com>
Ville Ojamo [Mon, 3 Aug 2026 05:58:17 +0000 (12:58 +0700)]
doc/install: update get-packages.rst
Bring the document up to date so that URLs actually work and other
information is current.
Cephadm installation only listed commands for el8. Instead of expanding
it for other distros/versions, just refer to the cephadm install doc.
Minor punctuation, capitalization, markup improvements.
Signed-off-by: Ville Ojamo <git2233+ceph@ojamo.eu>
Emmanuel Ameh [Sun, 2 Aug 2026 15:47:21 +0000 (16:47 +0100)]
doc/csi: address review feedback
Wording and formatting fixes from review: CephX capitalization,
rename the example volume to mycephfs, privileged prompts for ceph
commands, note that Helm charts are being phased out in favor of the
operator, add an RWX-with-RBD warning, and drop the imageFeatures
parameter since the defaults are fine.
After Boost is configured, Windows builds now add ${Boost_INCLUDE_DIRS} to the real Catch2
source targets.
This is basically a temporary hack until either the CI system runs
Catch2 different or I can hack something into the build system that
changes things on Windows.
Assisted-by: Codex:GPT-5 Signed-off-by: Jesse F. Williamson <jfw@ibm.com>
Patrick Donnelly [Wed, 22 Jul 2026 14:41:58 +0000 (10:41 -0400)]
.github/workflows: check external PR author perms and manage CI approval labels
Add a GitHub Actions workflow (`author-ci-perms.yml`) that triggers on PR
creation, updates, and re-openings (`opened`, `synchronize`, `reopened`) to
check if the author has collaborator permissions on the repository.
If the author's permission level is 'none' (external contributor):
- Attach the `needs-ci-approval` label to signal required review.
- Revoke existing approval by removing `ci-approved` on new pushes/updates.
- Comment on initial PR creation explaining that a Ceph org member must
add the `ci-approved` label before CI will run.
Assisted-by: Gemini Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>