]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
4 months agomgr/dashboard: Add ceph_daemon filter to rgw overview grafana panel 62267/head
Aashish Sharma [Thu, 28 Nov 2024 05:58:59 +0000 (11:28 +0530)]
mgr/dashboard: Add ceph_daemon filter to rgw overview grafana panel
queries

Currently rgw_servers filtering is not working in RGW Overview garfana graphs.
It is showing data of all the RGW services, even though filter set to single service.
This PR intends to solve this issue

Fixes: https://tracker.ceph.com/issues/69074
Signed-off-by: Aashish Sharma <aasharma@redhat.com>
(cherry picked from commit 666f8faf11c0a639ce6ead06026850dd72a14d41)

4 months agoMerge pull request #62257 from rhcs-dashboard/wip-70425-squid
afreen23 [Thu, 13 Mar 2025 01:55:59 +0000 (07:25 +0530)]
Merge pull request #62257 from rhcs-dashboard/wip-70425-squid

squid: mgr/dashboard: pin lxml to fix run-dashboard-tox-make-check failure

Reviewed-by: Afreen Misbah <afreen@ibm.com>
4 months agomgr/dashboard: pin lxml to fix run-dashboard-tox-make-check failure 62257/head
Nizamudeen A [Wed, 12 Mar 2025 07:06:42 +0000 (12:36 +0530)]
mgr/dashboard: pin lxml to fix run-dashboard-tox-make-check failure

xmlsec had an upgrade yesterday night and python3-saml might need to
adapt its library accordingly I suppose. Testing a fix by pinning lxml

Another approach is being tried out separately
https://github.com/ceph/ceph/pull/62239, but that is failing with some
other errors.

Fixes: https://tracker.ceph.com/issues/70411
Signed-off-by: Nizamudeen A <nia@redhat.com>
(cherry picked from commit 1f84505f1232dd8445df1a2a819fa000062d3934)

 Conflicts:
src/pybind/mgr/dashboard/requirements.txt
 - didn't add the dependency that are present in main and only added the
   lxml pinning

4 months agoMerge pull request #62177 from guits/wip-70367-squid
Guillaume Abrioux [Wed, 12 Mar 2025 16:13:11 +0000 (17:13 +0100)]
Merge pull request #62177 from guits/wip-70367-squid

squid: ceph-volume: allow zapping partitions on multipath devices

4 months agoMerge pull request #62125 from ifed01/wip-ifed-fragmentation-command-squid
Igor Fedotov [Wed, 12 Mar 2025 09:32:07 +0000 (12:32 +0300)]
Merge pull request #62125 from ifed01/wip-ifed-fragmentation-command-squid

squid: tool/ceph-bluestore-tool: fix wrong keyword for 'free-fragmentation' command

Reviewed-by: ackupczyk@ibm.com
4 months agoMerge pull request #61475 from shraddhaag/wip-68949-squid
SrinivasaBharathKanta [Wed, 12 Mar 2025 06:55:54 +0000 (12:25 +0530)]
Merge pull request #61475 from shraddhaag/wip-68949-squid

squid: qa/standalone/mon/mon_cluster_log.sh: retry check for log line

4 months agoMerge pull request #60784 from kchheda3/wip-68997-squid
SrinivasaBharathKanta [Wed, 12 Mar 2025 06:55:27 +0000 (12:25 +0530)]
Merge pull request #60784 from kchheda3/wip-68997-squid

squid: rgw/notification: add rgw notification specific debug log subsystem

4 months agoMerge pull request #61971 from Jayaprakash-ibm/wip-time-measure-fix-squid
Adam Kupczyk [Tue, 11 Mar 2025 18:34:40 +0000 (19:34 +0100)]
Merge pull request #61971 from Jayaprakash-ibm/wip-time-measure-fix-squid

squid : os/bluestore : Assigning a named variable to ceph::time_guard to prevent immediate destruction

4 months agoMerge pull request #62208 from aaSharma14/wip-67935-squid
afreen23 [Tue, 11 Mar 2025 09:46:17 +0000 (15:16 +0530)]
Merge pull request #62208 from aaSharma14/wip-67935-squid

squid: mgr/dashboard: Fix variable capitalization in embedded rbd-details panel

Reviewed-by: Afreen Misbah <afreen@ibm.com>
4 months agoMerge pull request #62042 from nbalacha/wip-69982-squid
Sunil Angadi [Tue, 11 Mar 2025 09:19:47 +0000 (14:49 +0530)]
Merge pull request #62042 from nbalacha/wip-69982-squid

squid: rbd-mirror: fix possible recursive lock of ImageReplayer::m_lock

4 months agoMerge pull request #62044 from nbalacha/wip-70096-squid
Sunil Angadi [Tue, 11 Mar 2025 09:19:09 +0000 (14:49 +0530)]
Merge pull request #62044 from nbalacha/wip-70096-squid

squid: librbd: fix a crash in get_rollback_snap_id

4 months agoMerge pull request #62128 from idryomov/wip-70190-squid
Sunil Angadi [Tue, 11 Mar 2025 09:18:30 +0000 (14:48 +0530)]
Merge pull request #62128 from idryomov/wip-70190-squid

squid: librbd: fix a deadlock on image_lock caused by Mirror::image_disable()

4 months agoMerge pull request #62130 from idryomov/wip-65720-squid
Sunil Angadi [Tue, 11 Mar 2025 09:17:56 +0000 (14:47 +0530)]
Merge pull request #62130 from idryomov/wip-65720-squid

squid: librbd: add rbd_diff_iterate3() API to take source snapshot by ID

4 months agomgr/dashboard: Fix variable capitalization in embedded rbd-details panel 62208/head
Juan Ferrer Toribio [Tue, 3 Sep 2024 09:02:42 +0000 (11:02 +0200)]
mgr/dashboard: Fix variable capitalization in embedded rbd-details panel

Fix capitalization of image and pool variables in embedded grafana rbd-details panel

Fixes: https://tracker.ceph.com/issues/67849
Signed-off-by: Juan Ferrer Toribio <22457707+juan-ferrer-toribio@users.noreply.github.com>
(cherry picked from commit dfca044b6466d599fc4eb50f31bc40949e91e70e)

4 months agoMerge pull request #62161 from phlogistonjohn/wip-70344-squid
Adam King [Mon, 10 Mar 2025 20:01:09 +0000 (16:01 -0400)]
Merge pull request #62161 from phlogistonjohn/wip-70344-squid

squid: build-with-container: fixes and enhancements

Reviewed-by: Adam King <adking@redhat.com>
4 months agoMerge pull request #62192 from zdover23/wip-doc-2025-03-10-backport-62176-to-squid
Anthony D'Atri [Mon, 10 Mar 2025 04:41:17 +0000 (00:41 -0400)]
Merge pull request #62192 from zdover23/wip-doc-2025-03-10-backport-62176-to-squid

squid: doc/releases: Add ordering comment to releases.yml

4 months agodoc/releases: Add ordering comment to releases.yml 62192/head
Anthony D'Atri [Sat, 8 Mar 2025 15:58:37 +0000 (10:58 -0500)]
doc/releases: Add ordering comment to releases.yml

Signed-off-by: Anthony D'Atri <anthonyeleven@users.noreply.github.com>
(cherry picked from commit 2290a904bd6a3194f77b76d7deb0c9d24c8b4b93)

4 months agoceph-volume: allow zapping partitions on multipath devices 62177/head
Guillaume Abrioux [Fri, 7 Mar 2025 16:23:02 +0000 (17:23 +0100)]
ceph-volume: allow zapping partitions on multipath devices

ceph-volume refuses to zap a device if it is a partition on a multipath
device due to an overly strict condition. This change ensures that only
full mapper devices (excluding partitions) are blocked from being zapped,
allowing partitions on multipath devices to be processed correctly.

Fixes: https://tracker.ceph.com/issues/70363
Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
(cherry picked from commit 16daa6a687c0536324b06536af12ce4e8fc04087)

4 months agoMerge pull request #62066 from dmick/wip-70242-squid
Dan Mick [Sun, 9 Mar 2025 01:55:39 +0000 (17:55 -0800)]
Merge pull request #62066 from dmick/wip-70242-squid

squid: container/build.sh: remove local container images

4 months agoMerge pull request #62035 from ceph/template-squid
David Galloway [Fri, 7 Mar 2025 19:42:14 +0000 (14:42 -0500)]
Merge pull request #62035 from ceph/template-squid

Links to Jenkins jobs in PR comment commands / Remove deprecated commands

4 months agodoc: document the new container build tool and link to it in README 62161/head
John Mulligan [Fri, 14 Feb 2025 19:51:03 +0000 (14:51 -0500)]
doc: document the new container build tool and link to it in README

Add a new markdown file in the root of the tree, ContainerBuild.md, that
can serve as a basic introduction to the new container build tools
recently merged to ceph.
Add a small 'breadcrumb' section to the project README.md to help find
this new document.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit 313546146c429e784ec291b686907f47b33c595c)

4 months agoscript/build-with-container: add support for overlay dir
John Mulligan [Thu, 20 Feb 2025 00:17:30 +0000 (19:17 -0500)]
script/build-with-container: add support for overlay dir

The source dir (aka homedir, default /ceph) is mounted in the container
read-write. This is needed as the various ceph build scripts expect to
write things into the tree - often this is in the build directory - but
not always. This can lead to small messes and/or situations that are
confusing to debug, especially if one is jumping between distros often.
Add an option to use an overlay volume for the homedir - by default we
enable a persistent overlay with a supplied "upper dir" where files that
were written will appear. One can also enable a temporary overlay that
forgets the writes when the container exits - maybe useful when doing
experiments in 'interactive' mode.

To use this option run the command with the `--overlay=<dir>` option.
For example: `./src/script/build-with-container.py -b build.inner
--overlay-dir build.ovr`. This will create a directory
`build.ovr/content` automatically and all new files will appear there.
For example the build directory will appear at
`build.ovr/content/build.inner`.

To use the temporary overlay use a `-` as the directory name. For
example: `./src/script/build-with-container.py -b build.inner
--overlay-dir -`

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit 794e3d0b25a05e019e549eb51ba0ddba1268d5a6)

4 months agoscript/build-with-container: skip dnf cache dir volume mounts on docker
John Mulligan [Thu, 20 Feb 2025 14:50:49 +0000 (09:50 -0500)]
script/build-with-container: skip dnf cache dir volume mounts on docker

When using docker the --volume option is not available during build
(docker [buildx] build), unlike podman. Since passing these volumes must
be conditional on them being set up I see no way to handle this short of
just disabling the option on docker. Log the fact that it's being
skipped - the only other issue is that we pointlessly set up some dirs
and the build may be a bit slower.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit 4208a736652190fdaad3006c435f6c068e81a093)

4 months agoscript/build-with-container: remove default --volume arg from ctr build
John Mulligan [Wed, 19 Feb 2025 18:20:36 +0000 (13:20 -0500)]
script/build-with-container: remove default --volume arg from ctr build

On the original github pr #59841 user fayak kindly informed us that the
--volume option was not supported by docker build. Since this section
was a leftover from a previous way of constructing the builder image and
was no longer needed we simply removed it.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit 612a9d6808f4f1d4f93aeca055acba064e7a1209)

4 months agoscript/build-with-container.py: build builder image with --pull=always
John Mulligan [Wed, 19 Feb 2025 18:20:01 +0000 (13:20 -0500)]
script/build-with-container.py: build builder image with --pull=always

Construct the builder image using the --pull=always flag to initiate a
pull of the base image (centos, ubuntu, etc) in order to avoid using a
stale base image. Since the script automatically (by default) avoids
building if a matching tag is in local container storage it is handy to
use a fresh base when it *is* time to build something. Otherwise, you
end up in a situation like I sometimes do - using a months old base
unintentionally.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit f6e6188e30a9d765e86bd2d710666cfbdeb0818c)

4 months agoscript/build-with-container: add a common packages target
John Mulligan [Fri, 14 Feb 2025 19:50:42 +0000 (14:50 -0500)]
script/build-with-container: add a common packages target

Add a `packages` target to build-with-container.py that requests a build
of packages, whatever package type is native to the distro selected.
For example `./src/script/build-with-container.py -d ubuntu22.04 -e
packages` will automatically select a deb packages build where
`./src/script/build-with-container.py -d centos9 -e packages` will
trigger rpm packages to be built. The underlying package-type specific
targets remain unchanged.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit 37b7d509c59348ae11badd6673cb49ce9ce303fa)

4 months agoscript/build-with-container: support custom tag suffixes
John Mulligan [Fri, 14 Feb 2025 16:44:35 +0000 (11:44 -0500)]
script/build-with-container: support custom tag suffixes

Previously, one could use the `--tag` option to completely override the
container tag generated by the script. However, there are cases where
one may want to add information to the tag rather than override it.
Allow the tag value to start with a plus (+) character that indicates
that the remainder of the string is to be suffixed to the generated tag.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit 30836c4ed4b9332f22b31897ce4ece0ad4da6fc0)

4 months agoscript/build-with-container: add --base-branch cli option
John Mulligan [Fri, 14 Feb 2025 16:37:04 +0000 (11:37 -0500)]
script/build-with-container: add --base-branch cli option

Add a command line option --base-branch that allows the user to supply a
custom base branch name. git doesn't make determining this easy so we
always assume a base branch of 'main' by default - but this option lets
one change that.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit ff34bf7241f1a1072f74494cc8f50156e0076019)

4 months agosrc/script: rename CEPH_BRANCH to CEPH_BASE_BRANCH for build container
John Mulligan [Fri, 14 Feb 2025 16:24:29 +0000 (11:24 -0500)]
src/script: rename CEPH_BRANCH to CEPH_BASE_BRANCH for build container

Previously, we were passing build argument of CEPH_BRANCH, but that was
a bit misleading as we expect the current branch to vary a bit (as users
will be using branches to develop and test the code). What we actually
care about is the base branch ('main', 'squid', etc) as that is fed into
our bootstrap script and we want the option to simple variations based
on the name of said base branch.
Rename CEPH_BRANCH to CEPH_BASE_BRANCH for clarity.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit a1d49d557cfcc75bab6121e652350a6bfec3409f)

4 months agoscript/build-with-container: add --current-branch cli option
John Mulligan [Fri, 14 Feb 2025 16:24:06 +0000 (11:24 -0500)]
script/build-with-container: add --current-branch cli option

Add a new --current-branch argument that lets the user supply a name for
the current branch. This allows the automatic tag generation to avoid
calling git - something useful if the tree is not using a git checkout
(like a tarball). It also allows you to pull a temporary branch in git
but ignore it and act like the temporary branch is the base branch.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit c1713c5bc37b7e31bd84555066c06a72bb0f025b)

4 months agoscript/build-with-container: add more distro aliases
John Mulligan [Tue, 11 Feb 2025 23:36:13 +0000 (18:36 -0500)]
script/build-with-container: add more distro aliases

Add a system to define distro name aliases and use that to define some
additional aliases, primarily to match ubuntu codenames rather than
version numbers. Requested by Zack.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit 65f055f0d8390b9787007433d16cf3a1737584ff)

4 months agoscript/build-with-container: apply black formatting to file
John Mulligan [Thu, 20 Feb 2025 00:21:27 +0000 (19:21 -0500)]
script/build-with-container: apply black formatting to file

After the last set of fixes and enhancements I forgot to reformat the
file. This applies standard `black` formatting to the file.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit de855aec1c7a483ca5f0971a149860e8aaee8f7f)

4 months agoMerge pull request #61435 from idryomov/wip-57864-squid
Yuri Weinstein [Wed, 5 Mar 2025 22:28:56 +0000 (14:28 -0800)]
Merge pull request #61435 from idryomov/wip-57864-squid

squid: qa/tasks: Include stderr on tasks badness check.

Reviewed-by: Laura Flores <lflores@redhat.com>
4 months agoMerge pull request #61110 from NitzanMordhai/wip-67137-squid
Yuri Weinstein [Wed, 5 Mar 2025 22:28:17 +0000 (14:28 -0800)]
Merge pull request #61110 from NitzanMordhai/wip-67137-squid

squid: test/neorados: timeout test won't reconnect at timeout

Reviewed-by: Laura Flores <lflores@redhat.com>
4 months agoMerge pull request #61864 from ljflores/wip-69962-squid
Yuri Weinstein [Wed, 5 Mar 2025 22:19:17 +0000 (14:19 -0800)]
Merge pull request #61864 from ljflores/wip-69962-squid

squid: qa/tasks: improve ignorelist for thrashing OSDs

Reviewed-by: Ilya Dryomov <idryomov@redhat.com>
4 months agoMerge pull request #61639 from prazumovsky/close-range-squid
Yuri Weinstein [Wed, 5 Mar 2025 22:18:43 +0000 (14:18 -0800)]
Merge pull request #61639 from prazumovsky/close-range-squid

squid: common: use close_range on Linux

Reviewed-by: Ilya Dryomov <idryomov@redhat.com>
4 months agoMerge pull request #61335 from idryomov/wip-69135-squid
Yuri Weinstein [Wed, 5 Mar 2025 22:17:28 +0000 (14:17 -0800)]
Merge pull request #61335 from idryomov/wip-69135-squid

squid: qa/suites/upgrade/reef-x: sync log-ignorelist with quincy-x

Reviewed-by: Samuel Just <sjust@redhat.com>
4 months agoMerge pull request #61910 from aclamk/wip-aclamk-bs-fragmentation-health-squid
Laura Flores [Wed, 5 Mar 2025 17:05:19 +0000 (11:05 -0600)]
Merge pull request #61910 from aclamk/wip-aclamk-bs-fragmentation-health-squid

squid: os/bluestore: Add health warning for bluestore fragmentation

4 months agoMerge pull request #61956 from pdvian/wip-70112-squid
SrinivasaBharathKanta [Wed, 5 Mar 2025 14:06:21 +0000 (19:36 +0530)]
Merge pull request #61956 from pdvian/wip-70112-squid

squid: crush: use std::vector instead of variable length arrays

4 months agoMerge pull request #57361 from batrick/wip-65869-squid
SrinivasaBharathKanta [Wed, 5 Mar 2025 14:05:59 +0000 (19:35 +0530)]
Merge pull request #57361 from batrick/wip-65869-squid

squid: common/StackStringStream: update pointer to newly allocated memory in overflow()

4 months agotest/pybind/rbd: fix read offset in write zeroes tests 62130/head
Ilya Dryomov [Mon, 3 Mar 2025 16:59:35 +0000 (17:59 +0100)]
test/pybind/rbd: fix read offset in write zeroes tests

Random data is written and write zeroes is invoked on 0~256, but the
read is done on 256~256.  This means that if write zeroes malfunctions
the test wouldn't catch it (especially in the thick provision case).

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit d41f0fa01f59a8d056dc28934b92212c78a05a62)

4 months agolibrbd: add rbd_diff_iterate3() API to take source snapshot by ID
VinayBhaskar-V [Tue, 26 Nov 2024 11:18:51 +0000 (16:48 +0530)]
librbd: add rbd_diff_iterate3() API to take source snapshot by ID

Allow a diff to start from a non-user snapshot.  This would be used by
"rbd du" command to account for non-user snapshots which are currently
just skipped potentially resulting in underreported space usage and in
other places.

Fixes: https://tracker.ceph.com/issues/65720
Co-authored-by: Ilya Dryomov <idryomov@gmail.com>
Signed-off-by: Vinay Bhaskar Varada <vvarada@redhat.com>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit 54f47cc28ffd2d29b4f8cfaf56a5a5be2909bde7)

Conflicts:
src/include/rbd/librbd.h [ commit e5ccce14c4b0 ("rbd: add group
  snap info command") not in squid ]

4 months agolibrbd: fix a deadlock on image_lock caused by Mirror::image_disable() 62128/head
Ilya Dryomov [Sun, 2 Mar 2025 08:24:52 +0000 (09:24 +0100)]
librbd: fix a deadlock on image_lock caused by Mirror::image_disable()

With Mirror::image_disable() taking image_lock for write and calling
list_children() under it, the following deadlock is possible:

1. Mirror::image_disable() takes image_lock for write and calls
   list_children()
2. AbstractWriteLog::periodic_stats() timer fires (it runs every
   5 seconds) and ImageCacheState::write_image_cache_state() is called
   under a global timer_lock
3. ImageCacheState::write_image_cache_state() successfully takes
   owner_lock and blocks attempting to take image_lock for read because
   it's already held for write by Mirror::image_disable()
4. list_children() blocks inside of a call to ImageState::close() on
   a descendant image
5. The descendant image close can't proceed because TokenBucketThrottle
   requires a global timer_lock to complete QosImageDispatch shutdown
6. safe_timer thread which is holding timer_lock can't proceed because
   ImageCacheState::write_image_cache_state() is effectively blocked on
   the descendant image close through Mirror::image_disable()

Until commit 281a64acf920 ("librbd: remove snapshot mirror image-meta
when disabling"), Mirror::image_disable() was taking image_lock only for
read meaning that this deadlock wasn't possible.  The only other change
that commit 281a64acf920 made to the code block protected by image_lock
was using child_mirror_image_internal for cls_client::mirror_image_get()
call on descendant images instead of mirror_image_internal to preserve
the value of mirror_image_internal for later.  Both are local variables
that have nothing to do with image_lock, so I'm going back and making
Mirror::image_disable() take image_lock only for read again.

Fixes: https://tracker.ceph.com/issues/70190
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit ff9aa20bc358775bf372052787322b1452886c13)

4 months agotool/ceph-bluestore-tool: fix wrong keyword for 'free-fragmentation' command. 62125/head
Igor Fedotov [Mon, 14 Mar 2022 18:12:01 +0000 (21:12 +0300)]
tool/ceph-bluestore-tool: fix wrong keyword for 'free-fragmentation' command.

Signed-off-by: Igor Fedotov <igor.fedotov@croit.io>
(cherry picked from commit 33037eccf07ded85ba9127bde333184a4de8f060)

4 months agoMerge pull request #61969 from afreen23/wip-70124-squid
Nizamudeen A [Wed, 5 Mar 2025 05:23:11 +0000 (10:53 +0530)]
Merge pull request #61969 from afreen23/wip-70124-squid

squid: mgr/dashboard: (refactor)fix image size in nvmeof namespace create/update api

4 months agoMerge pull request #60861 from ifed01/wip-ifed-fix-67080
Igor Fedotov [Tue, 4 Mar 2025 16:05:12 +0000 (19:05 +0300)]
Merge pull request #60861 from ifed01/wip-ifed-fix-67080

squid: tools/objectstore: check for wrong coll open_collection

Reviewed-by: Adam Kupczyk <akupczyk@ibm.com>
4 months agoMerge pull request #61011 from NitzanMordhai/wip-69165-squid
NitzanMordhai [Tue, 4 Mar 2025 12:07:08 +0000 (14:07 +0200)]
Merge pull request #61011 from NitzanMordhai/wip-69165-squid

squid: workunit/dencoder: dencoder test forward incompat fix

4 months agoMerge pull request #61574 from zdover23/wip-doc-2025-01-30-backport-61566-to-squid
Zac Dover [Tue, 4 Mar 2025 11:57:12 +0000 (21:57 +1000)]
Merge pull request #61574 from zdover23/wip-doc-2025-01-30-backport-61566-to-squid

squid: doc/cephadm: simplify confusing math proposition

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
4 months agomgr/dashboard: Make API backward compatible with size param change 61969/head
Afreen Misbah [Tue, 18 Feb 2025 11:24:19 +0000 (16:54 +0530)]
mgr/dashboard: Make API backward compatible with size param change

- We changed the api with size and now its an issue for other folks utilizing the API
- Hence making it compatible to work backwards as well

Fixes https://tracker.ceph.com/issues/70020

Signed-off-by: Afreen Misbah <afreen@ibm.com>
(cherry picked from commit 5d5cf5b42250d9107c6d20dbefadbb8700eb1e9c)

4 months agomgr/dashboard: fix image size in nvmeof namespace create/update api
Afreen Misbah [Fri, 7 Feb 2025 11:43:51 +0000 (17:13 +0530)]
mgr/dashboard: fix image size in nvmeof namespace create/update api

- Different name is used in POST and PATCH for `rbd_image_size`
- Using same name in both requests
- fixing typing issues in frontend

Fixes https://tracker.ceph.com/issues/69864

Signed-off-by: Afreen Misbah <afreen@ibm.com>
(cherry picked from commit 7fa78e62a456bd706dafd6fd30568dfd88acf3b4)

 Conflicts:
src/pybind/mgr/dashboard/frontend/src/app/ceph/block/nvmeof-namespaces-form/nvmeof-namespaces-form.component.ts
src/pybind/mgr/dashboard/frontend/src/app/shared/api/nvmeof.service.spec.ts
src/pybind/mgr/dashboard/frontend/src/app/shared/api/nvmeof.service.ts
        - restore it to the request type where groups is not present

4 months agoworkunit/dencoder: fix corpus test for backword and forward compability 61011/head
Nitzan Mordechai [Wed, 31 Jul 2024 10:38:11 +0000 (10:38 +0000)]
workunit/dencoder: fix corpus test for backword and forward compability

- changed the check for non-deterministic, return code 1 is also legit
- unneeded check for is_dir, if it exist
- limit the number of threads to prevent error

Fixes: https://tracker.ceph.com/issues/67263
Signed-off-by: NitzanMordhai <nmordech@redhat.com>
(cherry picked from commit 30921272ddee5e7c8aaf4bdb8d69645ce92ba379)

4 months agocorpus: update forward incompat for cls_rgw_reshard_*
Nitzan Mordechai [Wed, 31 Jul 2024 10:31:45 +0000 (10:31 +0000)]
corpus: update forward incompat for cls_rgw_reshard_*
ceph-object-corpus submodule
Fixes: https://tracker.ceph.com/issues/67263
Signed-off-by: NitzanMordhai <nmordech@redhat.com>
(cherry picked from commit 02496a8665090b43cf42192b811eaf5d215537ac)

4 months agoMerge pull request #61671 from aclamk/wip-aclamk-fix-bluefs-bdev-expand-squid
NitzanMordhai [Tue, 4 Mar 2025 07:13:33 +0000 (09:13 +0200)]
Merge pull request #61671 from aclamk/wip-aclamk-fix-bluefs-bdev-expand-squid

squid: os/bluestore: Create additional bdev labels when expanding block device.

4 months agoMerge pull request #61111 from k0ste/wip-68734-squid
NitzanMordhai [Tue, 4 Mar 2025 06:50:35 +0000 (08:50 +0200)]
Merge pull request #61111 from k0ste/wip-68734-squid

squid: os/bluestore: Fix BlueRocksEnv attempts to use POSIX

4 months agoMerge pull request #58732 from pereman2/wip-67080-squid
NitzanMordhai [Tue, 4 Mar 2025 06:47:17 +0000 (08:47 +0200)]
Merge pull request #58732 from pereman2/wip-67080-squid

squid: tools/objectstore: check for wrong coll open_collection #58353

4 months agoMerge pull request #59327 from cbodley/wip-67620-squid
Yuri Weinstein [Mon, 3 Mar 2025 22:04:08 +0000 (14:04 -0800)]
Merge pull request #59327 from cbodley/wip-67620-squid

squid: qa: barbican: restrict python packages with upper-constraints

Reviewed-by: Laura Flores <lflores@redhat.com>
4 months agoMerge pull request #59497 from pponnuvel/wip-67605-squid
Yuri Weinstein [Mon, 3 Mar 2025 21:39:09 +0000 (13:39 -0800)]
Merge pull request #59497 from pponnuvel/wip-67605-squid

squid: os/bluestore: allow use BtreeAllocator

Reviewed-by: Igor Fedotov <ifedotov@suse.com>
4 months agoMerge pull request #61972 from rhcs-dashboard/wip-70121-squid
afreen23 [Mon, 3 Mar 2025 05:35:04 +0000 (11:05 +0530)]
Merge pull request #61972 from rhcs-dashboard/wip-70121-squid

squid: mgr/dashboard: disable deleting bucket with objects

Reviewed-by: Afreen Misbah <afreen@ibm.com>
4 months agoMerge pull request #62077 from zdover23/wip-doc-2025-03-03-backport-62076-to-squid
Anthony D'Atri [Sun, 2 Mar 2025 21:10:25 +0000 (16:10 -0500)]
Merge pull request #62077 from zdover23/wip-doc-2025-03-03-backport-62076-to-squid

squid: doc/rados/operations: Clarify stretch mode vs device class

4 months agodoc/rados/operations: Clarify stretch mode vs device class 62077/head
Anthony D'Atri [Sun, 2 Mar 2025 15:43:18 +0000 (10:43 -0500)]
doc/rados/operations: Clarify stretch mode vs device class

Signed-off-by: Anthony D'Atri <anthonyeleven@users.noreply.github.com>
(cherry picked from commit 75be0272e8469ed214302b8f354bed675cdcaed6)

4 months agocontainer/build.sh: remove local container images 62066/head
Dan Mick [Thu, 27 Feb 2025 00:16:26 +0000 (16:16 -0800)]
container/build.sh: remove local container images

Optionally, for those that want to run build.sh locally and
use the images.  The default is to remove, for Jenkins builders,
which will build, push, and rmi.

Fixes: https://tracker.ceph.com/issues/70196
Signed-off-by: Dan Mick <dan.mick@redhat.com>
(cherry picked from commit 642e5f2da00ad7382393c2b721078bccb9f823c0)

4 months agoqa/workunits/rbd: add a test for force promote with a user snapshot 62044/head
Ilya Dryomov [Thu, 20 Feb 2025 15:38:41 +0000 (16:38 +0100)]
qa/workunits/rbd: add a test for force promote with a user snapshot

Add a reproducer for the crash on a bad variant access which was fixed
in commit 7d75161051da ("librbd: fix a crash in get_rollback_snap_id").

The reproducer deliberately works around many other issues with force
promote in snapshot-based mirroring: stopping rbd-mirror daemon
shouldn't be necessary (let alone with SIGKILL), get_rollback_snap_id()
and its caller can_create_primary_snapshot() are flawed and can pick
the wrong snapshot to roll back to or skip rollback when it's actually
required, the user snapshot in this scenario should be removed as part
of force promoting because it's incomplete and won't be usable after
the image is promoted, etc.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit 0f4a37dd9f28070d0d421379385a5f2912cc9627)

Conflicts:
qa/workunits/rbd/rbd_mirror.sh [ commit 3fdbc160bb21
  ("rbd-mirror: allow mirroring to a different namespace") not
  in squid ]

4 months agoMerge pull request #61935 from ronen-fr/wip-rf-61590-squid
Ronen Friedman [Fri, 28 Feb 2025 16:41:54 +0000 (18:41 +0200)]
Merge pull request #61935 from ronen-fr/wip-rf-61590-squid

squid: osd/scrub: discard repair_oinfo_oid()

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
4 months agoMerge pull request #62056 from zdover23/wip-doc-2025-02-28-backport-61626-to-squid
Anthony D'Atri [Fri, 28 Feb 2025 15:30:35 +0000 (10:30 -0500)]
Merge pull request #62056 from zdover23/wip-doc-2025-02-28-backport-61626-to-squid

squid: doc/rados: improve pg_num/pgp_num info

4 months agodoc/rados: improve pg_num/pgp_num info 62056/head
Zac Dover [Mon, 3 Feb 2025 13:37:34 +0000 (23:37 +1000)]
doc/rados: improve pg_num/pgp_num info

Improve the guidance around setting pg_num, and clear up confusion
around whether pgp_num should be set manually or, indeed, if it even can
be set manually.

This PR was raised in response to Mark Schouten's email here: https://lists.ceph.io/hyperkitty/list/ceph-users@ceph.io/thread/CBDJTLTTIEZVG7GVZBX37UAWGYNSSMPD/

Co-authored-by: Anthony D'Atri <anthony.datri@gmail.com>
Signed-off-by: Zac Dover <zac.dover@proton.me>
(cherry picked from commit c43e7337212fe38e8db63d00345fa9858b3cb10a)

4 months agomgr/dashboard: disable deleting bucket with objects 61972/head
Naman Munet [Wed, 19 Feb 2025 15:14:26 +0000 (20:44 +0530)]
mgr/dashboard: disable deleting bucket with objects

Fixes: https://tracker.ceph.com/issues/70078
Signed-off-by: Naman Munet <naman.munet@ibm.com>
(cherry picked from commit 11677c29ee6ee60d9191edfdbfbe37b5308eb45e)

 Conflicts:
src/pybind/mgr/dashboard/frontend/src/app/ceph/rgw/rgw-bucket-list/rgw-bucket-list.component.ts

4 months agoMerge pull request #61961 from rhcs-dashboard/squid-critical-confirmation-modal-changes
afreen23 [Fri, 28 Feb 2025 08:20:54 +0000 (13:50 +0530)]
Merge pull request #61961 from rhcs-dashboard/squid-critical-confirmation-modal-changes

squid: mgr/dashboard: critical confirmation modal changes

Reviewed-by: Afreen Misbah <afreen@ibm.com>
4 months agolibrbd: fix a crash in get_rollback_snap_id
N Balachandran [Wed, 19 Feb 2025 16:10:29 +0000 (21:40 +0530)]
librbd: fix a crash in get_rollback_snap_id

get_rollback_snap_id() did not check if the snapshot it was
accessing was a mirror snapshot, causing it to crash if it wasn't.

Fixes: https://tracker.ceph.com/issues/70075
Signed-off-by: N Balachandran <nithya.balachandran@ibm.com>
(cherry picked from commit 7d75161051dad8047925259555d7ddd1a3e98de2)

4 months agorbd-mirror: fix possible recursive lock of ImageReplayer::m_lock 62042/head
N Balachandran [Sat, 15 Feb 2025 13:26:31 +0000 (18:56 +0530)]
rbd-mirror: fix possible recursive lock of ImageReplayer::m_lock

If periodic status update (LambdaContext which is queued from
handle_update_mirror_image_replay_status()) races with shutdown and
ends up being the last in-flight operation that shutdown was pending
on, we attempt to recursively acquire m_lock in shut_down() because
m_in_flight_op_tracker.finish_op() is called with m_lock (and also
m_threads->timer_lock) held.  These locks are needed only for the call
to schedule_update_mirror_image_replay_status() and should be unlocked
immediately.

Fixes: https://tracker.ceph.com/issues/69978
Co-authored-by: Ilya Dryomov <idryomov@gmail.com>
Signed-off-by: N Balachandran <nithya.balachandran@ibm.com>
(cherry picked from commit c60514087bc29540d3babd7855c5a4e28f2bf1b0)

4 months agodoc: PR Template - Remove non-functional trigger phrases 62035/head
David Galloway [Wed, 26 Feb 2025 21:32:19 +0000 (16:32 -0500)]
doc: PR Template - Remove non-functional trigger phrases

Signed-off-by: David Galloway <david.galloway@ibm.com>
4 months agodoc: PR Template - Add Jenkins job URLs to commands
David Galloway [Wed, 26 Feb 2025 21:31:37 +0000 (16:31 -0500)]
doc: PR Template - Add Jenkins job URLs to commands

Signed-off-by: David Galloway <david.galloway@ibm.com>
4 months agoMerge pull request #61988 from zdover23/wip-doc-2025-02-25-backport-61985-to-squid
Zac Dover [Thu, 27 Feb 2025 11:57:43 +0000 (21:57 +1000)]
Merge pull request #61988 from zdover23/wip-doc-2025-02-25-backport-61985-to-squid

squid: doc/releases: correct squid release order

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
5 months agoMerge pull request #61998 from Hezko/wip-70130-squid
afreen23 [Wed, 26 Feb 2025 18:56:50 +0000 (00:26 +0530)]
Merge pull request #61998 from Hezko/wip-70130-squid

squid: mgr/dashboard: Add additional NVME API endpoints

Reviewed-by: Afreen Misbah <afreen@ibm.com>
5 months agoMerge pull request #61999 from Hezko/wip-70131-squid
afreen23 [Wed, 26 Feb 2025 18:55:56 +0000 (00:25 +0530)]
Merge pull request #61999 from Hezko/wip-70131-squid

squid: mgr/dashboard: namespace update route robustness

Reviewed-by: Afreen Misbah <afreen@ibm.com>
5 months agoMerge pull request #62004 from zdover23/wip-doc-2025-02-26-backport-62001-to-squid
Zac Dover [Wed, 26 Feb 2025 13:16:44 +0000 (23:16 +1000)]
Merge pull request #62004 from zdover23/wip-doc-2025-02-26-backport-62001-to-squid

squid: doc: fix incorrect radosgw-admin subcommand

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
5 months agodoc: fix incorrect radosgw-admin subcommand 62004/head
Toshikuni Fukaya [Wed, 26 Feb 2025 04:34:23 +0000 (04:34 +0000)]
doc: fix incorrect radosgw-admin subcommand

Signed-off-by: Toshikuni Fukaya <toshikuni-fukaya@cybozu.co.jp>
(cherry picked from commit c3b7d6f19360af90ead61cd5ef8bc73ca1c7fe8f)

5 months agosquid: os/bluestore : Assigning a named variable to ceph::time_guard to prevent immed... 61971/head
Jaya Prakash [Wed, 19 Feb 2025 16:37:51 +0000 (22:07 +0530)]
squid: os/bluestore : Assigning a named variable to ceph::time_guard to prevent immediate destruction

Fixes: https://tracker.ceph.com/issues/70133
Signed-off-by: Jaya Prakash <jayaprakash@ibm.com>
(cherry picked from commit 684f1938506d09d69944796da9c51b228acab972)

5 months agomgr/dashboard: ns update route robustness 61999/head
Tomer Haskalovitch [Thu, 30 Jan 2025 09:09:13 +0000 (11:09 +0200)]
mgr/dashboard: ns update route robustness

improve namespace update endpoint

fixes: https://tracker.ceph.com/issues/62705

Signed-off-by: Tomer Haskalovitch <il033030@Tomers-MBP.lan>
(cherry picked from commit 649f33777dda810191c50457e74cdf29ed6c99fb)

5 months agoMerge pull request #61420 from guits/wip-69445-squid
Guillaume Abrioux [Tue, 25 Feb 2025 15:06:46 +0000 (16:06 +0100)]
Merge pull request #61420 from guits/wip-69445-squid

squid: ceph-volume: fix loop devices support

5 months agoMerge pull request #61975 from guits/wip-70127-squid
Guillaume Abrioux [Tue, 25 Feb 2025 14:54:02 +0000 (15:54 +0100)]
Merge pull request #61975 from guits/wip-70127-squid

squid: ceph-volume: support splitting db even on collocated scenario

5 months agoceph-volume: update lvm batch unit tests 61975/head
Guillaume Abrioux [Mon, 24 Feb 2025 12:16:05 +0000 (12:16 +0000)]
ceph-volume: update lvm batch unit tests

This adds the recently `has_block_db_size_without_db_devices` attribute to the
mocked `args` object for lvm batch unit tests.

Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
(cherry picked from commit 3053af8b11cef375468ab182d0c8b74b5a716d2b)

5 months agomgr/dashboard: Add additional cli endpoints to align with existing nvmeof cli 61998/head
Tomer Haskalovitch [Wed, 15 Jan 2025 09:49:18 +0000 (11:49 +0200)]
mgr/dashboard: Add additional cli endpoints to align with existing nvmeof cli

Added new endpoints to ceph cli and dashboard API to align with cli commands that already exist in existing nvmeof cli.

fixes: https://tracker.ceph.com/issues/62705

Signed-off-by: Tomer Haskalovitch <il033030@Tomers-MBP.lan>
(cherry picked from commit af8e7523ebf0ae566fd941c25ad5e4fe1925526c)

5 months agodoc/releases: correct squid release order 61988/head
Zac Dover [Tue, 25 Feb 2025 04:57:11 +0000 (14:57 +1000)]
doc/releases: correct squid release order

Put the releases of Squid in descending order. This change alters the
order of the Squid releases so that it is the same as the order of the
other Ceph releases.

Signed-off-by: Zac Dover <zac.dover@proton.me>
(cherry picked from commit 2bd1cc13700cc0e5a92f4d968c3b0e861a5157db)

5 months agomgr/dashboard: renaming critical-confirmation-modal to delete-confirmation-modal... 61961/head
Naman Munet [Mon, 10 Feb 2025 03:34:19 +0000 (09:04 +0530)]
mgr/dashboard: renaming critical-confirmation-modal to delete-confirmation-modal and keeping default deletion impact as medium

Fixes: https://tracker.ceph.com/issues/69628
Signed-off-by: Naman Munet <naman.munet@ibm.com>
(cherry picked from commit 6866d6a3fe72a62b5239267d2efa42729c9aa4a4)

 Conflicts:
src/pybind/mgr/dashboard/frontend/src/app/ceph/block/mirroring/pool-list/pool-list.component.ts
src/pybind/mgr/dashboard/frontend/src/app/ceph/block/rbd-list/rbd-list.component.ts
src/pybind/mgr/dashboard/frontend/src/app/ceph/block/rbd-namespace-list/rbd-namespace-list.component.ts
src/pybind/mgr/dashboard/frontend/src/app/ceph/block/rbd-snapshot-list/rbd-snapshot-list.component.ts
src/pybind/mgr/dashboard/frontend/src/app/ceph/cephfs/cephfs-directories/cephfs-directories.component.ts
src/pybind/mgr/dashboard/frontend/src/app/ceph/cephfs/cephfs-list/cephfs-list.component.ts
src/pybind/mgr/dashboard/frontend/src/app/ceph/cephfs/cephfs-subvolume-group/cephfs-subvolume-group.component.ts
src/pybind/mgr/dashboard/frontend/src/app/ceph/cephfs/cephfs-subvolume-list/cephfs-subvolume-list.component.ts
src/pybind/mgr/dashboard/frontend/src/app/ceph/cephfs/cephfs-subvolume-snapshots-list/cephfs-subvolume-snapshots-list.component.ts
src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/configuration/configuration-form/configuration-form.component.ts
src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/hosts/hosts.component.ts
src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/multi-cluster/multi-cluster-list/multi-cluster-list.component.ts
src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/osd/osd-list/osd-list.component.spec.ts
src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/osd/osd-list/osd-list.component.ts
src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/services/services.component.ts
src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/upgrade/upgrade-progress/upgrade-progress.component.ts
src/pybind/mgr/dashboard/frontend/src/app/ceph/nfs/nfs-list/nfs-list.component.ts
src/pybind/mgr/dashboard/frontend/src/app/ceph/pool/pool-list/pool-list.component.ts
src/pybind/mgr/dashboard/frontend/src/app/ceph/rgw/rgw-multisite-details/rgw-multisite-details.component.ts
src/pybind/mgr/dashboard/frontend/src/app/ceph/rgw/rgw-multisite-sync-policy-details/rgw-multisite-sync-policy-details.component.ts
src/pybind/mgr/dashboard/frontend/src/app/ceph/rgw/rgw-storage-class-list/rgw-storage-class-list.component.ts
src/pybind/mgr/dashboard/frontend/src/app/ceph/rgw/rgw-user-accounts/rgw-user-accounts.component.ts
src/pybind/mgr/dashboard/frontend/src/app/ceph/smb/smb-cluster-list/smb-cluster-list.component.ts
src/pybind/mgr/dashboard/frontend/src/app/shared/components/delete-confirmation-modal/delete-confirmation-modal.component.html
src/pybind/mgr/dashboard/frontend/src/app/shared/components/delete-confirmation-modal/delete-confirmation-modal.component.spec.ts
src/pybind/mgr/dashboard/frontend/src/app/shared/components/delete-confirmation-modal/delete-confirmation-modal.component.ts
src/pybind/mgr/dashboard/frontend/src/app/shared/datatable/crud-table/crud-table.component.ts

5 months agoMerge pull request #61912 from phlogistonjohn/wip-70089-squid
Adam King [Mon, 24 Feb 2025 15:57:07 +0000 (10:57 -0500)]
Merge pull request #61912 from phlogistonjohn/wip-70089-squid

squid: build-with-container fixes exec bit, dnf cache dir option

Reviewed-by: Adam King <adking@redhat.com>
5 months agoceph-volume: migrate unit tests from 'mock' to 'unittest.mock'
Guillaume Abrioux [Mon, 17 Feb 2025 12:43:14 +0000 (12:43 +0000)]
ceph-volume: migrate unit tests from 'mock' to 'unittest.mock'

unit tests in ceph-volume was still using the external 'mock' library
for unit tests, which is unnecessary since 'unittest.mock' is part
of the Python standard library (available since Python 3.3).
This commit updates all imports to use 'unittest.mock' instead,
ensuring better maintainability and removing the need for an extra
dependency.

Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
(cherry picked from commit 55c3ac55dcedaf185c96ad37d799d6f65ff203df)

5 months agoceph-volume: refactor get_physical_osds()
Guillaume Abrioux [Fri, 14 Feb 2025 12:34:50 +0000 (12:34 +0000)]
ceph-volume: refactor get_physical_osds()

This refactors `get_physical_osds()`.
The calculation of `data_slots` is now more concise. The handling of
`dev_size`, `rel_data_size`, and `abs_size` is standardized.
The initialization of `free_size` is moved outside the loop
for clarity. Redundant checks and assignments are removed to simplify
the code.

Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
(cherry picked from commit 140199b098bcc203b480330dbd8547230a7954c2)

5 months agoceph-volume: support splitting db even on collocated scenario
Guillaume Abrioux [Tue, 11 Feb 2025 16:00:51 +0000 (16:00 +0000)]
ceph-volume: support splitting db even on collocated scenario

This change enables ceph-volume to create OSDs where the DB is
explicitly placed on a separate LVM partition, even in collocated
scenarios (i.e., block and DB on the same device).
This helps mitigate BlueStore fragmentation issues.

Given that ceph-volume can't automatically predict a proper default size for the db device,
the idea is to use the `--block-db-size` parameter:

Passing `--block-db-size` and `--db-devices` makes ceph-volume create db devices
on dedicated devices (current implementation):

```
Total OSDs: 2

  Type            Path                                                    LV Size         % of device
----------------------------------------------------------------------------------------------------
  data            /dev/vdb                                                200.00 GB       100.00%
  block_db        /dev/vdd                                                4.00 GB         2.00%
----------------------------------------------------------------------------------------------------
  data            /dev/vdc                                                200.00 GB       100.00%
  block_db        /dev/vdd                                                4.00 GB         2.00%
```

Passing `--block-db-size` without `--db-devices` makes ceph-volume create a separate
LV for db device on the same device (new behavior):
```
Total OSDs: 2

  Type            Path                                                    LV Size         % of device
----------------------------------------------------------------------------------------------------
  data            /dev/vdb                                                196.00 GB       98.00%
  block_db        /dev/vdb                                                4.00 GB         2.00%
----------------------------------------------------------------------------------------------------
  data            /dev/vdc                                                196.00 GB       98.00%
  block_db        /dev/vdc                                                4.00 GB         2.00%
```

This new behavior is supported with the `--osds-per-device` parameter:

```
Total OSDs: 4

  Type            Path                                                    LV Size         % of device
----------------------------------------------------------------------------------------------------
  data            /dev/vdb                                                96.00 GB        48.00%
  block_db        /dev/vdb                                                4.00 GB         2.00%
----------------------------------------------------------------------------------------------------
  data            /dev/vdb                                                96.00 GB        48.00%
  block_db        /dev/vdb                                                4.00 GB         2.00%
----------------------------------------------------------------------------------------------------
  data            /dev/vdc                                                96.00 GB        48.00%
  block_db        /dev/vdc                                                4.00 GB         2.00%
----------------------------------------------------------------------------------------------------
  data            /dev/vdc                                                96.00 GB        48.00%
  block_db        /dev/vdc                                                4.00 GB         2.00%
```

Fixes: https://tracker.ceph.com/issues/69996
Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
(cherry picked from commit 7dfeceed4a6996c32df6f56454d91d217ad32926)

5 months agoceph-volume: enhance BlockSysFs
Guillaume Abrioux [Mon, 10 Feb 2025 16:29:04 +0000 (16:29 +0000)]
ceph-volume: enhance BlockSysFs

This refactores `BlockSysFs` to introduce `_get_sysfs_file_content()` for
retrieving sysfs file contents in a cleaner and reusable way.

It renames `self.sys_dev_block` to `self.sys_dev_block_dir` for clarity.
I've added `_get_sysfs_file_content()` to centralize sysfs file reads.

3 new methodes are introduced:
`blocks`, `logical_block_size`, and `size` properties for computing block
device size in a structured manner.

Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
(cherry picked from commit 8d8f203caef526bb68a21498650d329d94ba5ea9)

5 months agoceph-volume: update unit tests
Guillaume Abrioux [Wed, 15 Jan 2025 12:37:31 +0000 (12:37 +0000)]
ceph-volume: update unit tests

This commit consolidates all necessary changes to address unit tests
related to the introduction of Python type annotations.

Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
(cherry picked from commit d602c8da3dcb578e315664b31a16846fd0f88131)

5 months agoceph-volume: remove duplicate code
Guillaume Abrioux [Wed, 15 Jan 2025 12:33:45 +0000 (12:33 +0000)]
ceph-volume: remove duplicate code

This check is already performed in `arg_validators.py`.
By the way, this check is only valid when the user passes a VG/LV with
the `<vg>/<lv>` format.

Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
(cherry picked from commit 8d477959d62c172ef34f67c7284e908454044540)

5 months agoceph-volume: add type annotations to devices.lvm.batch
Guillaume Abrioux [Thu, 9 Jan 2025 10:22:15 +0000 (10:22 +0000)]
ceph-volume: add type annotations to devices.lvm.batch

This commit adds the Python type annotations to `devices.lvm.batch`.

Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
(cherry picked from commit 1107f5b0e32581222c61bf808446d177ecef4c5d)

5 months agoceph-volume: add type annotations to devices.lvm.listing
Guillaume Abrioux [Wed, 8 Jan 2025 16:02:53 +0000 (16:02 +0000)]
ceph-volume: add type annotations to devices.lvm.listing

This commit adds the Python type annotations to `devices.lvm.listing`.

Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
(cherry picked from commit 12b1e7ed348203f02a598b2782ba5d91cd2804ff)

5 months agoceph-volume: improve clarity and consistency in List.single_report
Guillaume Abrioux [Wed, 8 Jan 2025 15:54:45 +0000 (15:54 +0000)]
ceph-volume: improve clarity and consistency in List.single_report

- Rename the parameter `arg` to `osd` for better readability.
- Simplify the check for numeric OSD identifiers using `isdigit()`.

Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
(cherry picked from commit e65bc616ad2f3ad13324b08fc574ef7864a7d60b)

5 months agoceph-volume: add type annotations to devices.lvm.common
Guillaume Abrioux [Wed, 8 Jan 2025 15:52:21 +0000 (15:52 +0000)]
ceph-volume: add type annotations to devices.lvm.common

This commit adds the Python type annotations to `devices.lvm.common`.

Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
(cherry picked from commit 93827e8703d9c2b8b829d5b6608340b05d65b842)

5 months agoceph-volume: add type annotations to devices.lvm.prepare
Guillaume Abrioux [Wed, 8 Jan 2025 15:51:35 +0000 (15:51 +0000)]
ceph-volume: add type annotations to devices.lvm.prepare

This commit adds the Python type annotations to `devices.lvm.prepare`.

Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
(cherry picked from commit 229dcb88b8b9c7c7e862e625aaf176b3303908ad)

5 months agoceph-volume: add type annotations to devices.lvm.trigger
Guillaume Abrioux [Wed, 8 Jan 2025 15:50:40 +0000 (15:50 +0000)]
ceph-volume: add type annotations to devices.lvm.trigger

This commit adds the Python type annotations to `devices.lvm.trigger`.

Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
(cherry picked from commit d10b7cc81b4d4f767564aa4f45d9be70596b06ca)

5 months agoceph-volume: add type annotations to devices.lvm.main
Guillaume Abrioux [Wed, 8 Jan 2025 14:27:33 +0000 (14:27 +0000)]
ceph-volume: add type annotations to devices.lvm.main

This commit adds the Python type annotations to `devices.lvm.main`.

Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
(cherry picked from commit b460a1a19ef4700dd0d0b2a5dac0a8249f649c19)

5 months agoceph-volume: add type annotations to devices.lvm.deactivate
Guillaume Abrioux [Wed, 8 Jan 2025 14:17:29 +0000 (14:17 +0000)]
ceph-volume: add type annotations to devices.lvm.deactivate

This commit adds the Python type annotations to `devices.lvm.deactivate`.

Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
(cherry picked from commit aa26a5aa0df4be37f78c614b52f119b325d6099f)

5 months agoceph-volume: add type annotations to devices.lvm.create
Guillaume Abrioux [Wed, 8 Jan 2025 14:13:16 +0000 (14:13 +0000)]
ceph-volume: add type annotations to devices.lvm.create

This commit adds the Python type annotations to `devices.lvm.create`.

Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
(cherry picked from commit a9a149b887499c8897d37557f3a36ba5cd7d5a4b)