Patrick Donnelly [Tue, 18 Nov 2025 13:53:29 +0000 (08:53 -0500)]
Merge PR #66298 into main
* refs/pull/66298/head:
script/ptl-tool: organize options and improve help output
script/ptl-tool: add options to set distros/flavors/archs
ptl-tool: add options to append to branch name
Naman Munet [Mon, 17 Nov 2025 16:22:01 +0000 (21:52 +0530)]
mgr/dashboard: rgw users link user with account e2e failure
Fixes: https://tracker.ceph.com/issues/73835
Changes Include:
Previously, users were initialized without their associated account data,
causing issues in table display and row expansion.
This change ensures that users are initialized only after fetching accounts
and mapping them to each user. If the account API fails, users are still
initialized with a default empty account to prevent errors.
In SingletonClient::init(), objecter->start() called before
monc->authenticate(), it makes conns of monc authencated before
monc->authenticate() called if mons reply faster, in this case,
monc will not subsribe monmap/config.
Signed-off-by: Shaohui Wang <wangshaohui.0512@bytedance.com>
Afreen Misbah [Mon, 17 Nov 2025 05:01:45 +0000 (10:31 +0530)]
mgr/dashboard: Set max subsystem count to 512 rather than 4096
Fixes https://tracker.ceph.com/issues/73867
- regression from https://github.com/ceph/ceph/pull/64477/files
- removing frontend valdations as this values are volatiel and require changes every release. Nvmeof is seeting these and validating as well.
Matan Breizman [Sun, 16 Nov 2025 10:02:23 +0000 (10:02 +0000)]
qa/suites/crimson-rados/thrash: enable seastore
https://github.com/ceph/ceph/pull/64715 added seastore recovery tests
to crimson-rados-experimental. Based on:
https://pulpito.ceph.com/matan-2025-11-11_09:38:51-crimson-rados-experimental-wip-anrao2-testing-2025-11-11-1111-distro-crimson-debug-smithi/
the remaining failures also occur in main (without recovery).
Move the experimental tests to the stable ones as they
do not introduce regressions.
```
=== INSTALLING ===
No match for argument: ceph-crimson-osd
Error: Unable to find a match: ceph-crimson-osd
```
ceph-dev-pipeline builds are not failing (with the above error) -
however, ceph-dev-builds (used for main nightly) are failing with
the above:
https://shaman.ceph.com/builds/ceph/main/8a27bf16140173253ab8f28112bf5deee99cca02/
Anoop C S [Tue, 21 Oct 2025 08:53:50 +0000 (14:23 +0530)]
mgr/smb: Disable posix locking in share definition
The prerequisites for supporting durable handles[1] in Samba include
disabling the mapping of POSIX locks, as well as setting the `kernel
oplocks` and `kernel sharemodes` parameters to disabled. Currently
this configuration is hard‑coded, but in the future it could be made
conditional and combined with other settings to enable persistent
handles on continuously available shares.
Kefu Chai [Sat, 18 Oct 2025 14:23:56 +0000 (22:23 +0800)]
debian/rules: enable WITH_CRIMSON when pkg.ceph.crimson profile is set
Since commit 9b1d524839 ("debian: mark "crimson" specific deps with
"pkg.ceph.crimson""), crimson-specific build dependencies have been
gated by the Build-Profiles: <pkg.ceph.crimson> tag. However,
debian/rules was never updated to pass -DWITH_CRIMSON=ON when this
build profile is active.
This causes builds with the crimson profile enabled to fail during
dh_install, as the crimson-osd binary is never built but the install
file tries to package it:
Failed to copy 'usr/bin/crimson-osd': No such file or directory
dh_install: error: debian/ceph-crimson-osd.install returned exit code 127
Fix this by checking for pkg.ceph.crimson in DEB_BUILD_PROFILES and
enabling the CMake option accordingly, following the same pattern used
for pkg.ceph.arrow.
Kefu Chai [Fri, 17 Oct 2025 14:09:26 +0000 (22:09 +0800)]
qa: install ceph-osd-classic and ceph-osd-crimson
- qa/packages/packages.yaml: add ceph-osd and ceph-osd-classic to
packages/packages.yaml, so that the "install" task can install
ceph-osd-classic by default, this preserves the existing behavior.
- qa/suites/crimson-rados: install ceph-osd-crimson instead of
ceph-osd-classic. adding them to exclude_packages and extra_packages
to task.install allows us to customize the packages to be installed
when performing the "install"
task.
- qa/suites/crimson-rados-experimental: likewise.
debian,ceph.spec: split ceph-osd into shared base and implementation packages
Previously, ceph-osd packaging had two mutually exclusive flavors that
could only be built one at a time: one with classic OSD and another
with crimson OSD. Both provided /usr/bin/ceph-osd, making them
impossible to coexist and confusing from a user perspective.
This commit restructures the packaging to enable both implementations
to coexist on the same system:
- ceph-osd: Contains shared components (systemd units, sysctl configs,
common executables like ceph-erasure-code-tool) and depends on exactly
one OSD implementation
- ceph-osd-classic: Contains the classic OSD implementation binary and
classic-specific tools
- ceph-osd-crimson: Contains the crimson OSD implementation binary and
crimson-specific tools
The two implementation packages install different sets of file, so they
don't conflict with each other anymore, and both depend on ceph-osd for
shared resources.
Changes:
Debian packaging:
- Revert e5f00d2f
- Add ceph-osd-crimson package
- Add Recommends: ceph-osd-classic to prefer classic on upgrades
- Add Replaces/Breaks for smooth upgrades from old monolithic package
- Create separate .install files for crimson and classic osd packages
Enforce exact version matching using ${binary:Version}
RPM packaging:
- Use rich dependencies for OR requirement (classic or crimson)
- Add Recommends: ceph-osd-classic for upgrade preference
Upgrade behavior:
Users upgrading from older versions will automatically get
ceph-osd-classic due to the Recommends directive, maintaining
backward compatibility. Users can explicitly choose crimson by
installing ceph-osd-crimson, which will coexist with classic.
Switching between implementations is supported via standard package
operations, with the alternatives system ensuring /usr/bin/ceph-osd
always points to the active implementation.
ceph-volume: remove exc_info from ceph.conf load warning
This commit removes exc_info=1 from the logger.warning call when failing to
load ceph.conf. According to the preceding comment, this scenario can happen
legitimately, so it is not an unexpected error, it means there is no need to
clutter the logs with a full python traceback for this case.
ceph-volume: migrate namedtuple based config and sysInfo to dataclasses
this commit replaces the previous namedtuple definitions for config and sys_info
with dataclasses.
namedtuple is meant to be immutable, but the code modifies its attributes,
so using dataclasses fixes this misuse.
UnloadedConfig is preserved as the default for ceph in Config
to maintain the runtime error behavior when accessing ceph configuration before
it is loaded.
Imran Imtiaz [Wed, 12 Nov 2025 14:04:44 +0000 (14:04 +0000)]
mgr/dashboard: add API endpoint to create consistency groups
Signed-off-by: Imran Imtiaz <imran.imtiaz@uk.ibm.com> Fixes: https://tracker.ceph.com/issues/73821
Add the ability to create a consistency group via the Dashboard API.