]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
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 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 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>
5 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 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)

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

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

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

5 months agoceph-volume: fix type annotation in `objectore`
Guillaume Abrioux [Wed, 8 Jan 2025 13:40:54 +0000 (13:40 +0000)]
ceph-volume: fix type annotation in `objectore`

This commit addresses some python type annotations errors
in `objectstore` code.

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

5 months agoceph-volume: add type annotation to api.lvm
Guillaume Abrioux [Wed, 8 Jan 2025 08:38:11 +0000 (08:38 +0000)]
ceph-volume: add type annotation to api.lvm

This adds Python type annotations to `api.lvm`, along with all
necessary adjustments to ensure compatibility and maintain code
clarity.

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

5 months agoceph-volume: add type annotations to util.device
Guillaume Abrioux [Tue, 7 Jan 2025 14:52:44 +0000 (14:52 +0000)]
ceph-volume: add type annotations to util.device

This adds Python type annotations to `ceph_volume.util.device`,
along with all necessary adjustments to ensure compatibility
and maintain code clarity.

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

5 months agoceph-volume: add typing hints to lvm.zap
Guillaume Abrioux [Tue, 7 Jan 2025 09:48:48 +0000 (09:48 +0000)]
ceph-volume: add typing hints to lvm.zap

This adds the python typing hints to lvm.zap

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

5 months agoceph-volume: set default value for BlueStore.block_lv to None
Guillaume Abrioux [Wed, 8 Jan 2025 12:45:34 +0000 (12:45 +0000)]
ceph-volume: set default value for BlueStore.block_lv to None

This change updates the `BlueStore` class in
`ceph_volume.objectstore` by initializing the `block_lv` attribute
to `None` with the type `Optional[Volume]`. This ensures that the
attribute has a default value and avoids potential runtime errors
when the attribute is accessed before being explicitly assigned.

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

5 months agoceph-volume: improve wipefs retry logic in lvm.zap
Guillaume Abrioux [Wed, 8 Jan 2025 12:17:16 +0000 (12:17 +0000)]
ceph-volume: improve wipefs retry logic in lvm.zap

- Simplify the initialization of `tries` and `interval` variables for clarity.
- Adjust the retry logic in the `wipefs` function to:
  - Include the attempt count in the warning message for better debugging.
  - Start the retry loop at 1 and increment up to `tries`.
- Remove unnecessary unpacking of `stdout` and `stderr` since they were unused.
- Update the loop to increment `tries` by 1 to reflect the intended number of attempts.

This change improves code readability and makes retry behavior more transparent.

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

5 months agoMerge pull request #61960 from idryomov/wip-70041-squid
Ilya Dryomov [Mon, 24 Feb 2025 08:25:42 +0000 (09:25 +0100)]
Merge pull request #61960 from idryomov/wip-70041-squid

squid: test/rbd_mirror: clear Namespace::s_instance at the end of a test

Reviewed-by: Vinay Bhaskar Varada <vvarada@redhat.com>
5 months agoMerge pull request #61958 from idryomov/wip-63798-squid
Ilya Dryomov [Mon, 24 Feb 2025 08:25:06 +0000 (09:25 +0100)]
Merge pull request #61958 from idryomov/wip-63798-squid

squid: test/rbd_mirror: flush watch/notify callbacks in TestImageReplayer

Reviewed-by: Vinay Bhaskar Varada <vvarada@redhat.com>
5 months agotest/rbd_mirror: clear Namespace::s_instance at the end of a test 61960/head
Ilya Dryomov [Tue, 18 Feb 2025 16:51:47 +0000 (17:51 +0100)]
test/rbd_mirror: clear Namespace::s_instance at the end of a test

TestMockPoolReplayer.Namespaces and NamespacesError tests leave behind
a dangling pointer to a stack-allocated MockNamespace which leads to an
easily reproducible use-after-free and segfault when tests are shuffled.

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

5 months agotest/rbd_mirror: flush watch/notify callbacks in TestImageReplayer 61958/head
Ilya Dryomov [Mon, 17 Feb 2025 11:41:51 +0000 (12:41 +0100)]
test/rbd_mirror: flush watch/notify callbacks in TestImageReplayer

TestImageReplayer establishes its own (i.e. outside of the SUT code)
watch on the header of the remote image to be able to synchronize the
execution of the test with certain notifications.  This watch is
established before the remote image is opened and is teared down until
after the remote image is closed but while the image replayer is still
running.  The flush that is part of image close sequence thus isn't
guaranteed to cover all callbacks, especially for snapshot-based
mirroring where UnlinkPeerRequest spawned from Replayer::unlink_peer()
generates a notification on the remote image for each completed unlink.
Since TestImageReplayer further immediately deletes C_WatchCtx, pretty
much any test can segfault when C_WatchCtx::handle_notify() is invoked
by TestWatchNotify infrastructure.  Because it's a virtual method, the
segfault often involves a completely bogus instruction pointer:

  fn_anonymous[3176255]: segfault at b ip 000000000000000b sp 00007fffbceba7a8 error 14 in unittest_rbd_mirror[555555554000+96a000]
  Code: Bad RIP value.

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

5 months agosquid: crush: use std::vector instead of variable length arrays 61956/head
Kefu Chai [Sun, 24 Mar 2024 10:41:40 +0000 (18:41 +0800)]
squid: crush: use std::vector instead of variable length arrays

despite that variable length arrays (VLA for short) has been around
for a long time, it is an extension supported by GCC and Clang, and is
not a part of C++ standard, its implementation allocates the dynamically
sized array on stack, hence is a source of potential stack overflow.

when compiling with Clang, it complains. so in this change, we switch
to std::vector<>, which is defined by the C++ standard, and it allocates
the storage on heap, so it is immune to the possible stack overflow problem.

```
/home/kefu/dev/ceph/src/crush/CrushWrapper.h:1613:16: warning: variable length arrays in C++ are a Clang extension [-Wvla-cxx-extension]
 1613 |     int rawout[maxout];
      |                ^~~~~~
/home/kefu/dev/ceph/src/crush/CrushWrapper.h:1613:16: note: function parameter 'maxout' with unknown value cannot be used in a constant expression
/home/kefu/dev/ceph/src/crush/CrushWrapper.h:1610:60: note: declared here
 1610 |   void do_rule(int rule, int x, std::vector<int>& out, int maxout,
      |                                                            ^
/home/kefu/dev/ceph/src/crush/CrushWrapper.h:1614:15: warning: variable length arrays in C++ are a Clang extension [-Wvla-cxx-extension]
 1614 |     char work[crush_work_size(crush, maxout)];
      |               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/kefu/dev/ceph/src/crush/CrushWrapper.h:1614:31: note: implicit use of 'this' pointer is only allowed within the evaluation of a call to a 'constexpr' member function
 1614 |     char work[crush_work_size(crush, maxout)];
      |                               ^
2 warnings generated.
```

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
(cherry picked from commit 13169741c318443de0e8e889ff4616fe075a17ef)

5 months agoMerge pull request #61931 from zdover23/wip-doc-2025-02-20-backport-61785-to-squid
David Galloway [Thu, 20 Feb 2025 14:19:14 +0000 (09:19 -0500)]
Merge pull request #61931 from zdover23/wip-doc-2025-02-20-backport-61785-to-squid

squid: doc: Upgrade and unpin some python versions

5 months agoMerge pull request #61926 from zdover23/wip-doc-2025-02-20-backport-61883-to-squid
Zac Dover [Thu, 20 Feb 2025 13:14:54 +0000 (23:14 +1000)]
Merge pull request #61926 from zdover23/wip-doc-2025-02-20-backport-61883-to-squid

squid: doc/start: Mention RGW in Intro to Ceph

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
5 months agomgr/dashboard: Add confirmation textbox for resource name on delete action
Naman Munet [Wed, 22 Jan 2025 10:59:20 +0000 (16:29 +0530)]
mgr/dashboard: Add confirmation textbox for resource name on delete action

Before:
=====
User was able to delete a single or multiple critical resources like (  images, snapshots, subvolumes, subvolume-groups, pools, hosts , OSDs, buckets, file system, services ) by just clicking on a checkbox.

After:
=====
User now has to type the resource name that they are deleting in the textbox on the delete modal, and then only they will be able to delete the critical resource.
Also from now onwards multiple selection for deletions of critical resources is not possible. Hence, user can delete only single resource at a time. On the other side, non-critical resources can be deleted in one go.

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

Signed-off-by: Naman Munet <naman.munet@ibm.com>
(cherry picked from commit ed222df10900198707d7708518e02af5c06c912b)

5 months agodoc: Upgrade and unpin some python versions 61931/head
David Galloway [Wed, 12 Feb 2025 23:46:06 +0000 (18:46 -0500)]
doc: Upgrade and unpin some python versions

https://access.redhat.com/security/cve/CVE-2022-34749

https://bugzilla.redhat.com/show_bug.cgi?id=2255448

Fixes https://github.com/ceph/ceph/pull/44222

Signed-off-by: David Galloway <david.galloway@ibm.com>
(cherry picked from commit 4e2924433612263ae0dee3fc11d9ffa37a1c0346)

5 months agodoc/start: Mention RGW in Intro to Ceph 61926/head
Anthony D'Atri [Tue, 18 Feb 2025 21:31:47 +0000 (16:31 -0500)]
doc/start: Mention RGW in Intro to Ceph

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

5 months agoscript: allow relative & ~ paths in build-with-container dnf cache arg 61912/head
John Mulligan [Thu, 6 Feb 2025 16:51:54 +0000 (11:51 -0500)]
script: allow relative &  ~ paths in build-with-container dnf cache arg

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

5 months agoscript: set execute bit on build-with-container.py
John Mulligan [Thu, 6 Feb 2025 14:59:29 +0000 (09:59 -0500)]
script: set execute bit on build-with-container.py

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

5 months agoos/bluestore: Add libfmt to "os" 61910/head
Adam Kupczyk [Wed, 3 Jul 2024 14:17:43 +0000 (14:17 +0000)]
os/bluestore: Add libfmt to "os"

Using fmt::format requires libfmt for linking

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
(cherry picked from commit 3c5ae6c7d012a99694dcf4daddb6a5c5d9fadae4)

5 months agoos/bluestore: Add health warning for bluestore fragmentation
Adam Kupczyk [Fri, 20 Dec 2024 20:21:14 +0000 (20:21 +0000)]
os/bluestore: Add health warning for bluestore fragmentation

Changed "bluestore/fragmentation_micros" from quick imprecise to
slow but more representative score.
Introduced config "bluestore_warn_on_free_fragmentation" that controls
when free space fragmentation score becomes a health warning.

Currently calculation of fragmentation score might be non-instant for
severly fragmented disks. It might induce stalls to write IO.
Config value "bluestore_fragmentation_check_period" control score
calculation period.

In future, costly score calculation will be replaced with method that
continously updates score.

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
(cherry picked from commit 72263dbb7984828844c87bdb3b3ff475a68b1ac6)

5 months agoMerge pull request #61869 from Matan-B/wip-matanb-clang-14-squid
Matan Breizman [Wed, 19 Feb 2025 12:13:04 +0000 (14:13 +0200)]
Merge pull request #61869 from Matan-B/wip-matanb-clang-14-squid

squid: script/lib-build: Use clang 14

Reviewed-by: Adam Emerson <aemerson@redhat.com>
5 months agoMerge pull request #61884 from zdover23/wip-doc-2025-02-19-backport-61867-to-squid
Anthony D'Atri [Wed, 19 Feb 2025 01:09:14 +0000 (20:09 -0500)]
Merge pull request #61884 from zdover23/wip-doc-2025-02-19-backport-61867-to-squid

squid: doc/mgr: Add root CA cert instructions to rgw.rst

5 months agodoc/mgr: Add root CA cert instructions to rgw.rst 61884/head
Anuradha Gadge [Tue, 18 Feb 2025 09:09:31 +0000 (14:39 +0530)]
doc/mgr: Add root CA cert instructions to rgw.rst

Add documentation for adding fs_id in root_ca_cert upgrade path

Fixes: https://tracker.ceph.com/issues/70014
Signed-off-by: Anuradha Gadge <anuradha.gadge@ibm.com>
(cherry picked from commit 76106dd9890fdbd9440a5f7de85e9d5de6d0a2b4)

doc/mgr: edit grammar and formatting of rgw.rst

Improve the grammar and correct the formatting of the "Upgrading root ca
certificates" procedure that was added to the documentation in https://github.com/ceph/ceph/pull/61867

Fixes: https://tracker.ceph.com/issues/70014
Signed-off-by: Zac Dover <zac.dover@proton.me>
(cherry picked from commit 7d9298e3de74e91db116c79a7087f559464ae52d)

5 months agoMerge pull request #61809 from ceph/wip-yuriw-squid-p2p-squid
Yuri Weinstein [Tue, 18 Feb 2025 21:40:20 +0000 (13:40 -0800)]
Merge pull request #61809 from ceph/wip-yuriw-squid-p2p-squid

qa/tests: added squid-p2p suite

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
5 months agoscript/lib-build: Use clang 14 61869/head
Matan Breizman [Tue, 18 Feb 2025 10:40:24 +0000 (12:40 +0200)]
script/lib-build: Use clang 14

Updating to newer clang requires multiple fixes.
Don't use newer clang than 14. If needed, we could backport
the fixes from [1] and then use newer releases.

[1] https://github.com/ceph/ceph/pull/61740

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
5 months agoqa/tasks: improve ignorelist for thrashing OSDs 61864/head
Laura Flores [Mon, 17 Feb 2025 22:53:56 +0000 (22:53 +0000)]
qa/tasks: improve ignorelist for thrashing OSDs

This yaml file is used in rados/thrash-old-clients.
In this commit, I added some pattern matching for
warnings that show up in the cluster log detail that
are related to degraded PGs. In these tests, we are intentionally
marking down or killing OSDs, which leads to these states
showing up in the cluster log. So, the warnings are intended
and can be ignored in the context of OSD thrashing.

This directly aligns the squid ignorelist with main's, rather than
just a direct backport of
https://github.com/ceph/ceph/pull/61723/commits/ec50fc720c4fc0bdd3165d0014f19c36e9819012.

Fixes: https://tracker.ceph.com/issues/69962
Signed-off-by: Laura Flores <lflores@ibm.com>
5 months agoosd/scrub: discard repair_oinfo_oid() 61935/head
Ronen Friedman [Thu, 30 Jan 2025 09:27:58 +0000 (03:27 -0600)]
osd/scrub: discard repair_oinfo_oid()

repair_oinfo_oid(), called every scrub, has a very specific
functionality: fix the object ID specified in the Object Info
attribute, if different from the ID of the owning object.

This fix was added in 2017, as a response to a unique failure
scenario that was observed in Sepia - probably following a
filesystem bug. See https://tracker.ceph.com/issues/18409 &
https://tracker.ceph.com/issues/20471.

The limited functionality of repair_oinfo_oid() -
only repairing this one specific issue, and only if the OI_ATTR
exists and is decodable - does not justify the overhead of
running it every scrub.

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
(cherry picked from commit 7853731a83769ef643659390725d2be077999b8f)

5 months agoMerge pull request #61645 from idryomov/wip-58185-squid
Vinay Bhaskar Varada [Mon, 17 Feb 2025 15:24:06 +0000 (20:54 +0530)]
Merge pull request #61645 from idryomov/wip-58185-squid

squid: librbd: stop filtering async request error codes

5 months agoMerge pull request #61527 from idryomov/wip-69619-squid
Vinay Bhaskar Varada [Mon, 17 Feb 2025 15:23:43 +0000 (20:53 +0530)]
Merge pull request #61527 from idryomov/wip-69619-squid

squid: librbd: clear ctx before initiating close in Image::{aio_,}close()

5 months agoMerge pull request #61170 from idryomov/wip-69319-squid
Sunil Angadi [Mon, 17 Feb 2025 13:07:07 +0000 (18:37 +0530)]
Merge pull request #61170 from idryomov/wip-69319-squid

squid: rbd: open images in read-only mode for "rbd mirror pool status --verbose"