Adam King [Fri, 24 Oct 2025 01:00:01 +0000 (21:00 -0400)]
Merge branch 'fix_issue_73442_nfs_getting_restarted_twice_in_case_of_reboot' of https://github.com/ShwetaBhosale1/ceph into wip-adk-testing-2025-10-23-2059
Dan Mick [Thu, 23 Oct 2025 21:58:12 +0000 (14:58 -0700)]
container/build.sh: add 'rocky-10' suffix if necessary
'fromtag' is already available as distillation of the
FROM_IMAGE environment variable: everything after last
slash, s/:/-/. Use it as a suffix if it's anything other than
"centos-9stream" so that multiple CI container tags can coexist.
Redouane Kachach [Thu, 23 Oct 2025 11:10:49 +0000 (13:10 +0200)]
mgr/cephadm: add tombstones to persist certs info after mgr failover
Runtime-added TLS objects names were lost across mgr restarts/failovers
since they existed only in memory. We now write a tombstone to the KV
store whenever a new certificate is registered (empty map for
service/host scope; minimal JSON for global), so the object name is
restored during load().
Redouane Kachach [Thu, 23 Oct 2025 11:06:08 +0000 (13:06 +0200)]
mgr/cephadm: fix objects_by_names initialization + some improvements
This commit include the following changes:
1. Fix objects_by_names initialization as we was using a dict for all
the case including global scoped objects which is not correct. For
those cases an instance of an empty TLSObject must be used.
2. Add sanity checks to the load() method to avoid loading incorrect
and malformed entries.
3. Add some helper functions to avoid code repetition
prik73 [Tue, 27 May 2025 19:04:37 +0000 (00:34 +0530)]
mgr/dashboard: remove hardcoded strings in About component
Replaced inline values for user role, version prefix, and
localStorage keys with shared constants (`USER`, `VERSION_PREFIX`,
and `LocalStorage.DASHBOARD_USERNAME`). This keeps things DRY and
makes future updates easier.
Addresses part of the constant reuse cleanup in the dashboard.
prik73 [Fri, 16 May 2025 17:05:10 +0000 (22:35 +0530)]
mgr/dashboard: fix misaligned text links on login page
Fixes a UI regression introduced after the Carbon update where
the help-related links (Help, Security, Trademarks) on the login
page were misaligned. The links are now left-aligned under the
Ceph logo for visual consistency.
Afreen Misbah [Tue, 21 Oct 2025 18:20:19 +0000 (23:50 +0530)]
mgr/dashboard: Fix timestamps in APIs
- remove 'Z' from rbd APIs which are returning now `aware` timestamp
- `datetime.utcfromtimestamp` is deprectated so using `datetime.fromtimestamp(timestamp, tz=tz=timezone.utc)` thereby returning only `aware` timestamp and removing 'Z'.
- similarly `datetime.utcnow()` is deprecated , migrated to `datetime.now(timezone.utc)`
Casey Bodley [Thu, 5 Jun 2025 19:53:31 +0000 (15:53 -0400)]
rgw/lc: replace WorkPool with ceph::async::spawn_throttle
use spawn_throttle to spawn the work functions as coroutines instead of
passing WorkItems to separate WorkQ threads for processing. the
spawn_throttle concurrency limit uses the same rgw_lc_max_wp_worker
value that previously controlled the number of WorkQ threads
Kefu Chai [Tue, 21 Oct 2025 03:25:00 +0000 (11:25 +0800)]
debian: Use system packages for cephadm bundled dependencies
Configure the Debian build to use CEPHADM_BUNDLED_DEPENDENCIES=deb,
which instructs the cephadm build script to bundle dependencies from
system-installed Debian packages instead of downloading from PyPI.
This change addresses build failures in restricted network environments
where Debian build tools do not permit internet access. By leveraging
the Debian package support added in commit 9378a2988e1, the build now
uses python3-markupsafe, python3-jinja2, and python3-yaml packages
that are already installed as build dependencies.
This approach mirrors the existing RPM packaging workflow, ensuring
consistent behavior across different distribution package formats.
Kefu Chai [Tue, 21 Oct 2025 03:26:25 +0000 (11:26 +0800)]
cephadm/tests: Add tests for deb bundled dependencies
Add container definitions and test cases for building cephadm with
Debian package dependencies. The new test_cephadm_build_from_debs
function mirrors the existing RPM test structure, verifying that:
- Build succeeds when required Debian packages are installed
- Build fails when packages are missing
- Bundled packages are correctly identified as sourced from 'deb'
- All expected packages (Jinja2, MarkupSafe, PyYAML) are included
- The zipapp contains expected package directories
Test environments include Ubuntu 22.04 and 24.04 with and without
the required python3-jinja2, python3-yaml, and python3-markupsafe
packages.
Kefu Chai [Tue, 14 Oct 2025 13:04:42 +0000 (21:04 +0800)]
cephadm/build: Add Debian package support for bundled dependencies
Extends the cephadm build script to support bundling dependencies from
Debian packages in addition to pip and RPM packages. This allows building
cephadm on Debian-based distributions using system packages.
Key changes:
- Add 'deb' to DependencyMode enum to enable Debian package mode
- Implement _setup_deb() to configure Debian dependency requirements
- Add _install_deb_deps() to orchestrate Debian package installation
- Add _gather_deb_package_dirs() to parse Debian package file listings
and locate Python package directories (handles both site-packages and
dist-packages directories used by Debian)
- Add _deps_from_deb() to extract Python dependencies from installed
Debian packages using dpkg/apt-cache tools
- Fix variable reference bug in _install_deps() (deps.mode -> config.deps_mode)
The Debian implementation follows a similar pattern to the existing RPM
support, using dpkg-query and dpkg -L to locate installed packages and
their files, with special handling for Debian naming conventions
(e.g., PyYAML -> python3-yaml).
Edwin Rodriguez [Thu, 2 Oct 2025 14:46:51 +0000 (10:46 -0400)]
cmake: add cmake 4 support
This change improves the CMAKE variable detection logic in do_cmake.sh
to allow users to override the CMAKE binary used for building.
Changes:
- Add conditional check to only set CMAKE if not already set
- Add detection for cmake version 4.x and later (prioritized)
- Maintain backward compatibility with cmake3 fallback
- Allow users to specify custom CMAKE path via environment variable
- Pass CMAKE_POLICY_VERSION_MINIMUM if set to submodule build steps for
older modules
This enables users to use a specific cmake binary by setting the CMAKE
environment variable before running the script:
CMAKE=/custom/path/to/cmake ./do_cmake.sh
Additionally, the script now automatically detects and uses cmake 4.x+
when available, falling back to cmake3 or cmake as needed. This supports
building Ceph with newer cmake versions while maintaining compatibility
with existing build environments.
John Mulligan [Mon, 20 Oct 2025 19:04:49 +0000 (15:04 -0400)]
script/build-with-container: optionally source WITH_CRIMSON from env file
Add support for optionally sourcing WITH_CRIMSON from the env file that
can be passed to BWC on the command line. When auto-detecting the
crimson variant we previously only looked at the BWC processes
environment. After speaking with Zack we determined that the Jenkinsfile
only writes the WITH_CRIMSON param into the env file, so we add support
to "peek" in the env file for the WITH_CRIMSON variable.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
John Mulligan [Sat, 18 Oct 2025 00:05:09 +0000 (20:05 -0400)]
script/build-with-container: add more detailed variants
Create two new variants 'packages.minimal' or 'packages.crimson'.
The first disables test deps (make check) and crimson deps.
The second only disables test deps and explicitly enables crimson deps.
The existing 'packages' variant now tries to determine if it should
switch to 'packages.minimal' or 'packages.crimson' by checking for
the same env vars install-deps.sh was (WITH_CRIMSON).
Signed-off-by: John Mulligan <jmulligan@redhat.com>
Ville Ojamo [Mon, 20 Oct 2025 06:31:21 +0000 (13:31 +0700)]
doc/rados: Fix and improve formatting in operations/monitoring.rst
Remove bash "$" prompts from a block that should be command output by
changing from promptified block to simple preformatted block.
Use privileged bash prompt consistently for commands requiring
privileges.
Use :ref: instead of link definitions + external relative links to other
docs content.
Add labels for those links in configuration/ceph-conf.rst
operations/monitoring-osd-pg.rst.
Use semantically correct preformatted block types (json and not
javascript / none and not bash).
Remove spaces at end of lines. Change tabs to spaces (retaining columns
but some seem to be jumbled).
Add space between numbers and units.
Change few double spaces after full stop to single space.
Indent more clearly complex multi-line CLI commands.
Use title case consistently for section titles.
Use admonition instead of spelling out "Note:".
Signed-off-by: Ville Ojamo <14869000+bluikko@users.noreply.github.com>
Dan Mick [Sun, 19 Oct 2025 00:45:31 +0000 (17:45 -0700)]
install-deps.sh: install proper compiler version on Debian/Ubuntu
This code used to run in a pbuilder hook (because it needed to run
inside the build environment chroot). When building in a container,
you also want the right compiler installed.
This is necessary at least to build reef on ubuntu focal.
Fixes: https://tracker.ceph.com/issues/73585 Signed-off-by: Dan Mick <dan.mick@redhat.com>
qa: implement qa tests for admin account REST APIs
This commit implements tests related to setting account quotas at the account and bucket levels for qa and Teuthology
tracker: https://tracker.ceph.com/issues/72527 Signed-off-by: Nicholas Liu <nliu204@bloomberg.net>
doc/radosgw/adminops.rst: add account documentation
This commit adds documentation on how to create, get, modify, and delete accounts using Admin APIs. It also explains how to set quota for an account and how to create a user under an account
Signed-off-by: Nicholas Liu <nliu204@bloomberg.net>
rgw: implement set account quota for admin REST APIs
This commit implements the functionality of setting bucket- and account-level quotas with PUT /admin/account
tracker: https://tracker.ceph.com/issues/72527 Signed-off-by: Nicholas Liu <nliu204@bloomberg.net>
Matan Breizman [Sun, 12 Oct 2025 12:29:10 +0000 (12:29 +0000)]
doc: Introduce Crimson User Guide
All of Crimson's documentation was included under `doc/dev`.
As we gradually lean towards a more user facing documentation such as
deployment, usage, Packaging and so on -- we should have a separated guide with
non dev related docs.
Nizamudeen A [Thu, 16 Oct 2025 05:35:32 +0000 (11:05 +0530)]
mgr/dashboard: fix generic form submit validator for inline edit
currently the validation error is being applied generically to the
parent formgroup which will set the whole form into an error state when
one of the inline editing is failing on a validation. So just changing
that to a single control.
Fixes: https://tracker.ceph.com/issues/73558 Signed-off-by: Nizamudeen A <nia@redhat.com>