]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
10 months agocephfs: disallow removing root_squash via "fs authorize" cmd 59672/head
Rishabh Dave [Thu, 11 Jul 2024 18:28:22 +0000 (23:58 +0530)]
cephfs: disallow removing root_squash via "fs authorize" cmd

Removing root_squasn from MDS auth caps through "fs authorize" command
should not be allowed as this command it not allowed to/meant for
removing caps.

Fixes: https://tracker.ceph.com/issues/65808
Signed-off-by: Rishabh Dave <ridave@redhat.com>
(cherry picked from commit c6e2c97c6e9cbf1e37c53d5d490d65091205928c)

Conflict:

- qa/tasks/cephfs/test_admin.py
  Test test_idem_unaffected_root_squash (which was fixed by this commit)
  was disabled on the main branch since it was buggy. But that wasn't
  the case with squid branch.

10 months agomds/MDSAuthCaps: allow updating root_squash in entity's MDS cap
Rishabh Dave [Tue, 13 Feb 2024 11:46:00 +0000 (17:16 +0530)]
mds/MDSAuthCaps: allow updating root_squash in entity's MDS cap

Command "ceph fs authorize" can update fsname, path and perm/spec in a
MDS cap but it can't update "root_squash" in it. Add code to allow this.

Specifically, "MDSAuthCaps::merge_one_cap_grant()" doesn't check if
the value for "root_squash" needs an update while attempting to merge
the new MDS cap into the list of MDS caps already held by an entity. It
should do so to ensure correct behaviour.

Fixes: https://tracker.ceph.com/issues/64417
Signed-off-by: Rishabh Dave <ridave@redhat.com>
(cherry picked from commit f6bb5797c1ed3534355ffc6a12dc5f3b08d99f58)

10 months agomds/MDSAuthCaps: allow adding multiple caps via "fs auth" cmd
Rishabh Dave [Thu, 25 Jan 2024 11:20:29 +0000 (16:50 +0530)]
mds/MDSAuthCaps: allow adding multiple caps via "fs auth" cmd

When multiple caps are passed to "ceph fs authorize" command, the
command hangs because the MON crashes due to this command. Underlying
code assumes that only one cap can be passed at a time by the user
through the "ceph fs authorize" command. "ceph_assert()" checks if only
one cap is passed. If not, the code crashes.

Fixes: https://tracker.ceph.com/issues/64127
Signed-off-by: Rishabh Dave <ridave@redhat.com>
(cherry picked from commit 56e0f73afe5fdebf38af339efea0dfde65a4de87)

10 months agoqa/cephfs: minor adjustment in test_admin.TestFsAuthorize
Rishabh Dave [Tue, 13 Feb 2024 16:33:19 +0000 (22:03 +0530)]
qa/cephfs: minor adjustment in test_admin.TestFsAuthorize

Move related methods ("_remount_and_run_tests()" and "_remount()")
closer to each other and move "tearDown()" to the bottom.

Signed-off-by: Rishabh Dave <ridave@redhat.com>
(cherry picked from commit f33cc3303454a5688a2a568caa4067ba4a8dc847)

10 months agomon/AuthMonitor: update MDS caps even if other caps need no update
Rishabh Dave [Thu, 25 Jan 2024 08:31:37 +0000 (14:01 +0530)]
mon/AuthMonitor: update MDS caps even if other caps need no update

When entity's MDS caps are to be updated but MON and OSD caps do not
require an update, in certains cases, the update doesn't happen.

src/mon/AuthMonitor.cc receives boolean values for MON, OSD, and MDS cap
indicating whether or not each of them requires an update. However,
instead of updating entity's keyring when anyone of these caps require
an update, AuthMontitor updates only when the last one of these needs an
update. Thus, if MDS cap needs an update but it is not last one to be
considered (among MON, OSD and MDS caps), update doesn't happen.

Fixes: https://tracker.ceph.com/issues/64182
Signed-off-by: Rishabh Dave <ridave@redhat.com>
(cherry picked from commit 1e90cbfb39868f3df7f564e540f15f08147cb85b)

10 months agoqa/cephfs: handle case where mntpt is '/' in caps_helper.py
Rishabh Dave [Tue, 13 Feb 2024 14:05:06 +0000 (19:35 +0530)]
qa/cephfs: handle case where mntpt is '/' in caps_helper.py

Signed-off-by: Rishabh Dave <ridave@redhat.com>
(cherry picked from commit 7626bd5d37b6f24fe60840c225ef917356f8dfc4)

10 months agoMerge pull request #59596 from aaSharma14/wip-67792-squid
Aashish Sharma [Mon, 9 Sep 2024 10:35:51 +0000 (16:05 +0530)]
Merge pull request #59596 from aaSharma14/wip-67792-squid

squid: mgr/dashboard: Zone details showing incorrect data for data pool values and compression info for Storage Classes

Reviewed-by: Nizamudeen A <nia@redhat.com>
10 months agoMerge pull request #59597 from aaSharma14/wip-66559-squid
Aashish Sharma [Mon, 9 Sep 2024 10:34:27 +0000 (16:04 +0530)]
Merge pull request #59597 from aaSharma14/wip-66559-squid

squid: mgr/dashboard: Show which daemons failed in CEPHADM_FAILED_DAEMON healthcheck

Reviewed-by: Nizamudeen A <nia@redhat.com>
10 months agoMerge pull request #58912 from lxbsz/wip-67122
Venky Shankar [Mon, 9 Sep 2024 08:17:31 +0000 (13:47 +0530)]
Merge pull request #58912 from lxbsz/wip-67122

squid: mds/QuiesceDbManager: get requested state of members before iterating…

Reviewed-by: Venky Shankar <vshankar@redhat.com>
10 months agoMerge pull request #58984 from joscollin/wip-65223-squid
Venky Shankar [Mon, 9 Sep 2024 08:16:59 +0000 (13:46 +0530)]
Merge pull request #58984 from joscollin/wip-65223-squid

squid: cephfs_mirror: use snapdiff api for incremental syncing

Reviewed-by: Venky Shankar <vshankar@redhat.com>
10 months agoMerge pull request #59068 from joscollin/wip-67382-squid
Venky Shankar [Mon, 9 Sep 2024 08:15:08 +0000 (13:45 +0530)]
Merge pull request #59068 from joscollin/wip-67382-squid

squid: qa/suites: drop --show-reachable=yes from fs:valgrind tests

Reviewed-by: Venky Shankar <vshankar@redhat.com>
10 months agoMerge pull request #59070 from joscollin/wip-67387-squid
Venky Shankar [Mon, 9 Sep 2024 07:43:29 +0000 (13:13 +0530)]
Merge pull request #59070 from joscollin/wip-67387-squid

squid: cephfs_mirror: provide metrics for last successful snapshot sync

Reviewed-by: Venky Shankar <vshankar@redhat.com>
Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
10 months agoMerge pull request #59654 from zdover23/wip-doc-2024-09-08-backport-59628-to-squid
Anthony D'Atri [Sun, 8 Sep 2024 13:49:08 +0000 (09:49 -0400)]
Merge pull request #59654 from zdover23/wip-doc-2024-09-08-backport-59628-to-squid

squid: doc/dev: add "activate latest release" RTD step

10 months agodoc/dev: add "activate latest release" RTD step 59654/head
Zac Dover [Thu, 5 Sep 2024 23:31:47 +0000 (09:31 +1000)]
doc/dev: add "activate latest release" RTD step

Add a step to the section called "First Stable Release" that explains
how to activate the latest release in Read the Docs.

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

10 months agoMerge pull request #59637 from zdover23/wip-doc-2024-09-06-backport-59630-to-squid
Zac Dover [Sat, 7 Sep 2024 02:21:52 +0000 (12:21 +1000)]
Merge pull request #59637 from zdover23/wip-doc-2024-09-06-backport-59630-to-squid

squid: doc/README.md: edit "Build Prerequisites"

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
10 months agoMerge pull request #59623 from guits/wip-67924-squid
Guillaume Abrioux [Fri, 6 Sep 2024 18:59:36 +0000 (20:59 +0200)]
Merge pull request #59623 from guits/wip-67924-squid

squid: ceph-volume: switch over to new disk sorting behavior

10 months agodoc/README.md: edit "Build Prerequisites" 59637/head
Zac Dover [Fri, 6 Sep 2024 07:56:27 +0000 (17:56 +1000)]
doc/README.md: edit "Build Prerequisites"

Make the sentences in the "Build Prerequisites" section of README.md
more direct.

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

10 months agoMerge pull request #59598 from guits/wip-67892-squid
Guillaume Abrioux [Fri, 6 Sep 2024 07:19:08 +0000 (09:19 +0200)]
Merge pull request #59598 from guits/wip-67892-squid

squid: ceph-volume: fix generic activation with raw osds

10 months agoMerge pull request #59622 from guits/wip-67923-squid
Guillaume Abrioux [Fri, 6 Sep 2024 07:07:53 +0000 (09:07 +0200)]
Merge pull request #59622 from guits/wip-67923-squid

squid: ceph-volume: pass self.osd_id to create_id() call

10 months agoMerge pull request #59202 from k0ste/wip-67529-squid
Guillaume Abrioux [Fri, 6 Sep 2024 07:05:38 +0000 (09:05 +0200)]
Merge pull request #59202 from k0ste/wip-67529-squid

squid: debian pkg: record python3-packaging dependency for ceph-volume

10 months agoMerge pull request #59602 from idryomov/wip-67752-squid
Ilya Dryomov [Thu, 5 Sep 2024 16:39:33 +0000 (18:39 +0200)]
Merge pull request #59602 from idryomov/wip-67752-squid

squid: rbd: amend "rbd {group,} rename" and "rbd mirror pool" command descriptions

Reviewed-by: Ramana Raja <rraja@redhat.com>
10 months agoceph-volume: switch over to new disk sorting behavior by default 59623/head
Guillaume Abrioux [Mon, 12 Aug 2024 13:57:06 +0000 (13:57 +0000)]
ceph-volume: switch over to new disk sorting behavior by default

The automatic disk sorting behavior is deprecated.
The new behavior should be the default since Ceph Pacific but it
got pushed back multiple times.

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

10 months agoceph-volume: pass self.osd_id to create_id() call 59622/head
Guillaume Abrioux [Wed, 4 Sep 2024 13:12:12 +0000 (15:12 +0200)]
ceph-volume: pass self.osd_id to create_id() call

This fixes a regression
(most likely introduced with 04c93a1ed42)

Current (broken) behavior:
```
[root@devel1-1 /]# ceph osd tree
ID  CLASS  WEIGHT  TYPE NAME     STATUS     REWEIGHT  PRI-AFF
-1              0  root default
 0              0  osd.0         destroyed         0  1.00000
[root@devel1-1 /]# ceph-volume raw prepare --bluestore --data /dev/vdb --osd-id 0
Running command: /usr/bin/ceph-authtool --gen-print-key
Running command: /usr/bin/ceph-authtool --gen-print-key
Running command: /usr/bin/ceph --cluster ceph --name client.bootstrap-osd --keyring /var/lib/ceph/bootstrap-osd/ceph.keyring -i - osd new 543e0268-ea66-451f-a2f6-95ae60ab6146
Running command: /usr/bin/mount -t tmpfs tmpfs /var/lib/ceph/osd/ceph-1
Running command: /usr/sbin/restorecon /var/lib/ceph/osd/ceph-1
Running command: /usr/bin/chown -R ceph:ceph /dev/vdb
Running command: /usr/bin/ln -s /dev/vdb /var/lib/ceph/osd/ceph-1/block
Running command: /usr/bin/ceph --cluster ceph --name client.bootstrap-osd --keyring /var/lib/ceph/bootstrap-osd/ceph.keyring mon getmap -o /var/lib/ceph/osd/ceph-1/activate.monmap
 stderr: got monmap epoch 1
--> Creating keyring file for osd.1
Running command: /usr/bin/chown -R ceph:ceph /var/lib/ceph/osd/ceph-1/keyring
Running command: /usr/bin/chown -R ceph:ceph /var/lib/ceph/osd/ceph-1/
Running command: /usr/bin/ceph-osd --cluster ceph --osd-objectstore bluestore --mkfs -i 1 --monmap /var/lib/ceph/osd/ceph-1/activate.monmap --keyfile - --osd-data /var/lib/ceph/osd/ceph-1/ --osd-uuid 543e0268-ea66-451f-a2f6-95ae60ab6146 --setuser ceph --setgroup ceph
 stderr: 2024-09-04T11:46:54.283+0000 7f0027d2b640 -1 bluestore(/var/lib/ceph/osd/ceph-1//block) _read_bdev_label unable to decode label /var/lib/ceph/osd/ceph-1//block at offset 102: void bluestore_bdev_label_t::decode(ceph::buffer::v15_2_0::list::const_iterator&) decode past end of struct encoding: Malformed input [buffer:3]
 stderr: 2024-09-04T11:46:54.283+0000 7f0027d2b640 -1 bluestore(/var/lib/ceph/osd/ceph-1//block) _read_bdev_label unable to decode label /var/lib/ceph/osd/ceph-1//block at offset 102: void bluestore_bdev_label_t::decode(ceph::buffer::v15_2_0::list::const_iterator&) decode past end of struct encoding: Malformed input [buffer:3]
 stderr: 2024-09-04T11:46:54.283+0000 7f0027d2b640 -1 bluestore(/var/lib/ceph/osd/ceph-1//block) _read_bdev_label unable to decode label /var/lib/ceph/osd/ceph-1//block at offset 102: void bluestore_bdev_label_t::decode(ceph::buffer::v15_2_0::list::const_iterator&) decode past end of struct encoding: Malformed input [buffer:3]
 stderr: 2024-09-04T11:46:54.283+0000 7f0027d2b640 -1 bluestore(/var/lib/ceph/osd/ceph-1/) _read_fsid unparsable uuid
--> ceph-volume raw dmcrypt prepare successful for: /dev/vdb
[root@devel1-1 /]# ceph osd tree
ID  CLASS  WEIGHT  TYPE NAME     STATUS     REWEIGHT  PRI-AFF
-1              0  root default
 0              0  osd.0         destroyed         0  1.00000
 1              0  osd.1              down   1.00000  1.00000
```

A new osd id has been generated while we want to reuse the existing one (0 in this case).

Expected (fixed) behavior:

```
[root@devel1-1 /]# ceph osd tree
ID  CLASS  WEIGHT  TYPE NAME     STATUS     REWEIGHT  PRI-AFF
-1              0  root default
 0              0  osd.0         destroyed         0  1.00000
[root@devel1-1 /]# ceph-volume raw prepare --bluestore --data /dev/vdb --osd-id 0
Running command: /usr/bin/ceph-authtool --gen-print-key
Running command: /usr/bin/ceph-authtool --gen-print-key
Running command: /usr/bin/ceph --cluster ceph --name client.bootstrap-osd --keyring /var/lib/ceph/bootstrap-osd/ceph.keyring osd tree -f json
Running command: /usr/bin/ceph --cluster ceph --name client.bootstrap-osd --keyring /var/lib/ceph/bootstrap-osd/ceph.keyring -i - osd new c87841fb-f56f-40a2-a653-62bb092e8e95 0
Running command: /usr/bin/mount -t tmpfs tmpfs /var/lib/ceph/osd/ceph-0
Running command: /usr/sbin/restorecon /var/lib/ceph/osd/ceph-0
Running command: /usr/bin/chown -R ceph:ceph /dev/vdb
Running command: /usr/bin/ln -s /dev/vdb /var/lib/ceph/osd/ceph-0/block
Running command: /usr/bin/ceph --cluster ceph --name client.bootstrap-osd --keyring /var/lib/ceph/bootstrap-osd/ceph.keyring mon getmap -o /var/lib/ceph/osd/ceph-0/activate.monmap
 stderr: got monmap epoch 1
--> Creating keyring file for osd.0
Running command: /usr/bin/chown -R ceph:ceph /var/lib/ceph/osd/ceph-0/keyring
Running command: /usr/bin/chown -R ceph:ceph /var/lib/ceph/osd/ceph-0/
Running command: /usr/bin/ceph-osd --cluster ceph --osd-objectstore bluestore --mkfs -i 0 --monmap /var/lib/ceph/osd/ceph-0/activate.monmap --keyfile - --osd-data /var/lib/ceph/osd/ceph-0/ --osd-uuid c87841fb-f56f-40a2-a653-62bb092e8e95 --setuser ceph --setgroup ceph
 stderr: 2024-09-04T13:07:39.125+0000 7ff02baaa640 -1 bluestore(/var/lib/ceph/osd/ceph-0//block) _read_bdev_label unable to decode label /var/lib/ceph/osd/ceph-0//block at offset 102: void bluestore_bdev_label_t::decode(ceph::buffer::v15_2_0::list::const_iterator&) decode past end of struct encoding: Malformed input [buffer:3]
 stderr: 2024-09-04T13:07:39.125+0000 7ff02baaa640 -1 bluestore(/var/lib/ceph/osd/ceph-0//block) _read_bdev_label unable to decode label /var/lib/ceph/osd/ceph-0//block at offset 102: void bluestore_bdev_label_t::decode(ceph::buffer::v15_2_0::list::const_iterator&) decode past end of struct encoding: Malformed input [buffer:3]
 stderr: 2024-09-04T13:07:39.126+0000 7ff02baaa640 -1 bluestore(/var/lib/ceph/osd/ceph-0//block) _read_bdev_label unable to decode label /var/lib/ceph/osd/ceph-0//block at offset 102: void bluestore_bdev_label_t::decode(ceph::buffer::v15_2_0::list::const_iterator&) decode past end of struct encoding: Malformed input [buffer:3]
 stderr: 2024-09-04T13:07:39.126+0000 7ff02baaa640 -1 bluestore(/var/lib/ceph/osd/ceph-0/) _read_fsid unparsable uuid
--> ceph-volume raw dmcrypt prepare successful for: /dev/vdb
[root@devel1-1 /]# ceph osd tree
ID  CLASS  WEIGHT  TYPE NAME     STATUS  REWEIGHT  PRI-AFF
-1              0  root default
 0              0  osd.0           down         0  1.00000
```

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

10 months agoMerge pull request #59492 from ljflores/wip-bz-2305110-squid
Laura Flores [Thu, 5 Sep 2024 14:45:29 +0000 (09:45 -0500)]
Merge pull request #59492 from ljflores/wip-bz-2305110-squid

squid: osd: fix require_min_compat_client handling for msr rules

10 months agoqa/tasks/ceph_manager: set-require-min-compat-client to squid for msr profiles 59492/head
Samuel Just [Fri, 30 Aug 2024 00:34:46 +0000 (00:34 +0000)]
qa/tasks/ceph_manager: set-require-min-compat-client to squid for msr profiles

Signed-off-by: Samuel Just <sjust@redhat.com>
(cherry picked from commit 4f9289e11ae4118f7d26bb154d04288c8fd87a4b)

10 months agorbd: mention namespace in "rbd mirror pool" command descriptions 59602/head
Ilya Dryomov [Fri, 30 Aug 2024 12:00:44 +0000 (14:00 +0200)]
rbd: mention namespace in "rbd mirror pool" command descriptions

Commit 5e64748927d0 ("doc/rbd: add namespace information for mirror
commands") did this for the man page, update the built-in help as well.

The "by default" bit in the description of "rbd mirror pool enable" and
"rbd mirror pool disable" commands is specific to pool mode which is in
turn specific to journal-based mirroring, so it's removed.

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

10 months agorbd: clarify "rbd {group,} rename" command description
Ilya Dryomov [Tue, 27 Aug 2024 18:34:31 +0000 (20:34 +0200)]
rbd: clarify "rbd {group,} rename" command description

Make it clearer that, despite a full image or group spec being taken
for source and destination, an image or a group can be renamed only
within its pool or namespace.

Rename across pools or namespaces within the same pool is unsupported.

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

10 months agoMerge pull request #59582 from zdover23/wip-doc-2024-09-04-backport-59546-to-squid
Anthony D'Atri [Wed, 4 Sep 2024 11:42:18 +0000 (07:42 -0400)]
Merge pull request #59582 from zdover23/wip-doc-2024-09-04-backport-59546-to-squid

squid: doc/rados/operations: Improve health-checks.rst

10 months agoMerge pull request #59585 from zdover23/wip-doc-2024-09-04-backport-59577-to-squid
Anthony D'Atri [Wed, 4 Sep 2024 11:41:50 +0000 (07:41 -0400)]
Merge pull request #59585 from zdover23/wip-doc-2024-09-04-backport-59577-to-squid

squid: doc/mds: improve wording

10 months agoceph-volume: fix generic activation with raw osds 59598/head
Guillaume Abrioux [Tue, 3 Sep 2024 08:20:34 +0000 (10:20 +0200)]
ceph-volume: fix generic activation with raw osds

Typical failure:

```
Running command: /usr/bin/ceph-authtool --gen-print-key
Running command: /usr/bin/ceph-authtool --gen-print-key
--> Failed to activate via raw: activate() takes 1 positional argument but 5 were given
Running command: /usr/bin/ceph-authtool --gen-print-key
Running command: /usr/bin/ceph-authtool --gen-print-key
--> Failed to activate via LVM: could not find osd.0 with osd_fsid 1e764f4a-db4b-4b41-86eb-468efe4c3f44
--> Failed to activate via simple: 'Namespace' object has no attribute 'json_config'
--> Failed to activate any OSD(s)
```

04c93a1ed42 seems to have broken it.
This commit fixes it.

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

10 months agomgr/dashboard: Show which daemons failed in CEPHADM_FAILED_DAEMON 59597/head
Aashish Sharma [Thu, 5 Oct 2023 05:38:30 +0000 (11:08 +0530)]
mgr/dashboard: Show which daemons failed in CEPHADM_FAILED_DAEMON
healthcheck

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

10 months agomgr/dashboard: Zone details showing incorrect data for data pool values and compressi... 59596/head
Aashish Sharma [Wed, 24 Jul 2024 05:37:27 +0000 (11:07 +0530)]
mgr/dashboard: Zone details showing incorrect data for data pool values and compression info for Storage Classes

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

10 months agoceph-volume: add "packaging" to install_requires 59202/head
Kefu Chai [Tue, 13 Aug 2024 22:37:57 +0000 (06:37 +0800)]
ceph-volume: add "packaging" to install_requires

in 0985e201, "packaging" was introduced as a runtime dependency of
ceph-volume, and `ceph.spec.in` was updated accordingly to note
this new dependency. but the debian packaging was not updated.

in 80edcd40, the missing dependency was added to debian/control as
one of ceph-volume's runtime dependency.

but dh_python3 is able to figure out the dependencies by reading
the egg's metadata of the ceph-volume python module. and as a
python project, ceph-volume is using its `setup.py` for
tracking its dependencies.

so in order to be more consistent, and keep all of its dependencies
in one place, let's move this dependency to setup.py . as the
packagings in both distros are able to figure the dependencies
from egg-info.

see also
- https://manpages.debian.org/testing/dh-python/dh_python3.1.en.html#dependencies
- https://docs.fedoraproject.org/en-US/packaging-guidelines/Python_201x/#_automatically_generated_dependencies

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

10 months agodebian pkg: record python3-packaging dependency for ceph-volume
Thomas Lamprecht [Wed, 31 Jul 2024 07:48:08 +0000 (09:48 +0200)]
debian pkg: record python3-packaging dependency for ceph-volume

Since commit 0985e201342 ("ceph-volume: use 'no workqueue' options
with dmcrypt") the python "packaging" module is used to parse the
cryptsetup version output, but the debian packaging was not updated to
record that new dependency.

So simply record this in the d/control file, adding a <pkg>.requires
file seemed to not really winning us anything here.

Fixes: https://tracker.ceph.com/issues/67290
Fixes: 0985e201342fa53c014a811156aed661b4b8f994
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
(cherry picked from commit 80edcd40e8092d9fb3b45c1a6c7f9b7f4f37b69e)

10 months agoMerge pull request #59446 from afreen23/wip-67724-squid
Nizamudeen A [Wed, 4 Sep 2024 07:09:58 +0000 (12:39 +0530)]
Merge pull request #59446 from afreen23/wip-67724-squid

squid: mgr/dashboard: Add group field in nvmeof service form

Reviewed-by: Aashish Sharma <aasharma@redhat.com>
Reviewed-by: Ankush Behl <cloudbehl@gmail.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
10 months agodoc/mds: improve wording 59585/head
Piotr Parczewski [Tue, 3 Sep 2024 11:25:26 +0000 (13:25 +0200)]
doc/mds: improve wording

Signed-off-by: Piotr Parczewski <piotr@stackhpc.com>
(cherry picked from commit 332804bad58c892d01d2d2da557e42104365ef8a)

10 months agodoc/rados/operations: Improve health-checks.rst 59582/head
Anthony D'Atri [Sun, 1 Sep 2024 00:32:17 +0000 (20:32 -0400)]
doc/rados/operations: Improve health-checks.rst

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

10 months agoMerge pull request #59578 from zdover23/wip-doc-2024-09-03-backport-59545-to-squid
Anthony D'Atri [Tue, 3 Sep 2024 19:36:30 +0000 (15:36 -0400)]
Merge pull request #59578 from zdover23/wip-doc-2024-09-03-backport-59545-to-squid

squid: doc/radosgw: Improve config-ref.rst

10 months agodoc/radosgw: Improve config-ref.rst 59578/head
Anthony D'Atri [Sat, 31 Aug 2024 23:53:35 +0000 (19:53 -0400)]
doc/radosgw: Improve config-ref.rst

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

10 months agomgr/dashboard: Fixed bug in service form 59446/head
Afreen Misbah [Tue, 3 Sep 2024 06:48:46 +0000 (12:18 +0530)]
mgr/dashboard: Fixed bug in service form

The commit in main went through this PR https://github.com/ceph/ceph/pull/59496/commits/6c25635be8c2ec0c2f637c4fe6952f781c1ad12c

This PR wont be backported to squid hence adding the change in separate commit.

Signed-off-by: Afreen Misbah <afreen23.git@gmail.com>
10 months agoMerge pull request #59559 from zdover23/wip-doc-2024-09-02-backport-59556-to-squid
Anthony D'Atri [Mon, 2 Sep 2024 13:04:26 +0000 (09:04 -0400)]
Merge pull request #59559 from zdover23/wip-doc-2024-09-02-backport-59556-to-squid

squid: doc: Correct link to Prometheus docs

10 months agodoc: Correct link to Prometheus docs 59559/head
Matthew Vernon [Mon, 2 Sep 2024 09:16:36 +0000 (10:16 +0100)]
doc: Correct link to Prometheus docs

The link is to the `#http_sd_config` anchor in the prometheus config docs; that link only works without the trailing `/`.

This correction would ideally get backported to at least reef & squid.

Signed-off-by: Matthew Vernon <mvernon@wikimedia.org>
(cherry picked from commit 84a30ba6b94b34806faac8217ccaa299c9ee68d6)

10 months agoMerge pull request #59548 from zdover23/wip-doc-2024-09-01-backport-59544-to-squid
Zac Dover [Sun, 1 Sep 2024 23:41:05 +0000 (09:41 +1000)]
Merge pull request #59548 from zdover23/wip-doc-2024-09-01-backport-59544-to-squid

squid: doc: update tests-integration-testing-teuthology-workflow.rst

Reviewed-by: Vallari Agrawal <val.agl002@gmail.com>
10 months agodoc: update tests-integration-testing-teuthology-workflow.rst 59548/head
Vallari Agrawal [Sat, 31 Aug 2024 14:27:25 +0000 (19:57 +0530)]
doc: update tests-integration-testing-teuthology-workflow.rst

* add "Infrastructure" section.

* move "Naming the ceph-ci branch" section under
   "Getting binaries - Build Ceph". Also mention
   about centos9-only trick.

* in "Teuthology Archives", mention about developer
   playground machines and ceph log files.

Signed-off-by: Vallari Agrawal <val.agl002@gmail.com>
(cherry picked from commit 9bfcb8e17db8c61e523e10856d12b237433d831a)

10 months agoMerge pull request #59464 from sajibreadd/wip-67037-squid
Anthony D'Atri [Sat, 31 Aug 2024 23:43:13 +0000 (19:43 -0400)]
Merge pull request #59464 from sajibreadd/wip-67037-squid

squid: os/bluestore: Warning added for slow operations and stalled read

10 months agoMerge pull request #59540 from zdover23/wip-doc-2024-08-31-backport-59528-to-squid
Anthony D'Atri [Sat, 31 Aug 2024 14:29:02 +0000 (10:29 -0400)]
Merge pull request #59540 from zdover23/wip-doc-2024-08-31-backport-59528-to-squid

squid: doc/ceph-volume: add spillover fix procedure

10 months agodoc/ceph-volume: add spillover fix procedure 59540/head
Zac Dover [Fri, 30 Aug 2024 11:16:57 +0000 (21:16 +1000)]
doc/ceph-volume: add spillover fix procedure

Add a procedure that explains how, after an upgrade, to move bytes that
have spilled over to a relatively slow device back to the faster device.

This procedure was developed by Chris Dunlop on the [ceph-users] mailing
list, here: https://lists.ceph.io/hyperkitty/list/ceph-users@ceph.io/message/POPUFSZGXR3P2RPYPJ4WJ4HGHZ3QESF6/

Eugen Block requested the addition of this procedure to the
documentation on 30 Aug 2024.

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

10 months agoMerge pull request #59537 from neha-ojha/wip-squid-stable
Neha Ojha [Fri, 30 Aug 2024 20:02:37 +0000 (13:02 -0700)]
Merge pull request #59537 from neha-ojha/wip-squid-stable

squid: src/ceph_release, doc: mark squid stable

Reviewed-by: Laura Flores <lflores@redhat.com>
Reviewed-by: Yuri Weinstein <yweinste@redhat.com>
10 months agosrc/ceph_release, doc: mark squid stable 59537/head
Neha Ojha [Fri, 30 Aug 2024 16:17:57 +0000 (16:17 +0000)]
src/ceph_release, doc: mark squid stable

Signed-off-by: Neha Ojha <nojha@redhat.com>
10 months agoMerge pull request #59491 from cbodley/wip-67782-squid
Casey Bodley [Thu, 29 Aug 2024 14:53:00 +0000 (10:53 -0400)]
Merge pull request #59491 from cbodley/wip-67782-squid

squid: doc/rgw/account: Handling notification topics when migrating an existing user into an account

Reviewed-by: Oguzhan Ozmen <oozmen@bloomberg.net>
10 months agoMerge pull request #59084 from kamoltat/wip-ksirivad-backport-squid-56233
Kamoltat (Junior) Sirivadhna [Thu, 29 Aug 2024 02:38:42 +0000 (22:38 -0400)]
Merge pull request #59084 from kamoltat/wip-ksirivad-backport-squid-56233

squid: RADOS: Generalize stretch mode pg temp handling to be usable without stretch mode
Reviewed-by: Samuel Just <sjust@redhat.com>
10 months agoMerge pull request #59221 from cbodley/wip-67554-squid
Casey Bodley [Thu, 29 Aug 2024 00:32:15 +0000 (20:32 -0400)]
Merge pull request #59221 from cbodley/wip-67554-squid

squid: rgw: revert account-related changes to get_iam_policy_from_attr()

Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
10 months agomon/OSDMonitor: check crush features in crush_rule_create_erasure
Samuel Just [Tue, 27 Aug 2024 20:51:00 +0000 (13:51 -0700)]
mon/OSDMonitor: check crush features in crush_rule_create_erasure

Also adjusts validate_crush_against_features to use an ostream&
rather than a stringstream&.

Fixes: https://tracker.ceph.com/issues/67755
Signed-off-by: Samuel Just <sjust@redhat.com>
(cherry picked from commit 1d6b4d4a507a1241a5e03016231e8160ef4b8f92)

10 months agoosd: use CEPH_FEATUREMASK_CRUSH_MSR, not CEPH_FEATURE_CRUSH_MSR
Samuel Just [Wed, 28 Aug 2024 02:09:40 +0000 (02:09 +0000)]
osd: use CEPH_FEATUREMASK_CRUSH_MSR, not CEPH_FEATURE_CRUSH_MSR

This was simply a mistake:

uint64_t features = 0;
features |= CEPH_FEATURE_CRUSH_MSR;
ceph_assert(HAVE_FEATURE(features, CRUSH_MSR));

will fail the assert as CEPH_FEATURE_CRUSH_MSR lacks the mask.  In
basically all cases, CEPH_FEATUREMASK_* is the correct choice.

Signed-off-by: Samuel Just <sjust@redhat.com>
(cherry picked from commit cb157b45c713e76ec95d8b80548998587e02a758)

10 months agoosd/OSDMap: require CRUSH_MSR if any rule is msr, even if used by no pool
Samuel Just [Wed, 28 Aug 2024 01:54:04 +0000 (18:54 -0700)]
osd/OSDMap: require CRUSH_MSR if any rule is msr, even if used by no pool

OSDMap::get_features is used by
OSDMonitor::validate_crush_against_features via
OSDMap::get_min_compat_client() to check whether changes to the crushmap
will require newer features than the existing require_min_compat_client
field.

Monitor commands which create rules from ec profiles may result in msr
rules.  While it might be harmless to allow msr rules to exist as long
as there aren't any pools actually using the rule, it's probably simpler
to disallow their creation in the first place until
require_min_compat_client is updated.

Signed-off-by: Samuel Just <sjust@redhat.com>
(cherry picked from commit 2130115ec2252e37403a377c482e9599a5c81a66)

10 months agomon: validate everybody understands MSR on set-require-min-compat-client
Radoslaw Zarzynski [Fri, 31 May 2024 12:41:27 +0000 (12:41 +0000)]
mon: validate everybody understands MSR on set-require-min-compat-client

Unit testing
------------
```
[rzarzynski@o06 build]$ bin/unittest_features
...
[ RUN      ] features.release_features
1 argonaut features 0x40000 looks like argonaut
2 bobtail features 0x40000 looks like argonaut
3 cuttlefish features 0x40000 looks like argonaut
4 dumpling features 0x42040000 looks like dumpling
5 emperor features 0x42040000 looks like dumpling
6 firefly features 0x20842040000 looks like firefly
7 giant features 0x20842040000 looks like firefly
8 hammer features 0x1020842040000 looks like hammer
9 infernalis features 0x1020842040000 looks like hammer
10 jewel features 0x401020842040000 looks like jewel
11 kraken features 0xc01020842040000 looks like kraken
12 luminous features 0xe01020842240000 looks like luminous
13 mimic features 0xe01020842240000 looks like luminous
14 nautilus features 0xe01020842240000 looks like luminous
15 octopus features 0xe01020842240000 looks like luminous
16 pacific features 0xe01020842240000 looks like luminous
17 quincy features 0xe01020842240000 looks like luminous
18 reef features 0xe010208d2240000 looks like reef
19 squid features 0xe010248d2240000 looks like squid
[       OK ] features.release_features (0 ms)
```

Manual testing
--------------
\### `reef` client present in `squid` cluster
```
[rzarzynski@o06 build]$ bin/ceph daemon mon.a sessions | jq  -jr '.[] | .name, "\t", .con_features, "\t", .con_features_hex, "\n"' | grep client
client.?        4540701547738038271     3f03cffffffdffff
client.?        4540138322906710015     3f01cfbffffdffff
[rzarzynski@o06 build]$ bin/ceph osd get-require-min-compat-client
luminous
[rzarzynski@o06 build]$ bin/ceph osd set-require-min-compat-client squid
Error EPERM: cannot set require_min_compat_client to squid: 1 connected client(s) look like reef (missing 0x4000000000); add --yes-i-really-mean-it to do it anyway
```

\### only `squid` clients and `squid` cluster
```
[rzarzynski@o06 build]$ bin/ceph daemon mon.a sessions | jq  -jr '.[] | .name, "\t", .con_features, "\t", .con_features_hex, "\n"' | grep client
client.?        4540701547738038271     3f03cffffffdffff
client.?        4540701547738038271     3f03cffffffdffff
[rzarzynski@o06 build]$ bin/ceph osd set-require-min-compat-client squid
set require_min_compat_client to squid
```

Fixes: https://tracker.ceph.com/issues/66297
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
(cherry picked from commit 4b54b07640b56e387716f2e73d9004fa7757f4e3)

10 months agodoc/rgw/account: Handling notification topics when migrating an existing user into... 59491/head
Oguzhan Ozmen [Thu, 22 Aug 2024 02:44:01 +0000 (22:44 -0400)]
doc/rgw/account: Handling notification topics when migrating an existing user into an account

Add a subsection under "Migrate an existing User into an Account" to
describe how a client can seamlessly migrate the notification topics
after account migration.

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

Signed-off-by: Oguzhan Ozmen <oozmen@bloomberg.net>
(cherry picked from commit 574d3f8e73570d06f259cdb9c36429effa6fb426)

10 months agoqa/suites/rados: 3-az-stretch-cluster-netsplit test 59084/head
Kamoltat [Tue, 21 May 2024 19:02:03 +0000 (19:02 +0000)]
qa/suites/rados: 3-az-stretch-cluster-netsplit test

Test the case where 2 DC loses connection with each other
for a 3 AZ stretch cluster with stretch pool enabled.
Check if cluster is accessible and PGs are active+clean
after reconnected.

Signed-off-by: Kamoltat <ksirivad@redhat.com>
(cherry picked from commit 7b41aff3f001d247e4ea5d73b774b5f7709eda49)

Conflicts:
- qa/tasks/ceph_test_case.py (trivial fix)

10 months agodoc/rados/operations/pools.rst: Added docs for stretch pool set|unset|show
Kamoltat [Tue, 26 Mar 2024 17:21:02 +0000 (17:21 +0000)]
doc/rados/operations/pools.rst: Added docs for stretch pool set|unset|show

Fixes: https://tracker.ceph.com/issues/64802
Signed-off-by: Kamoltat <ksirivad@redhat.com>
(cherry picked from commit fb0011a692c656db0c64bbeb7d47d79cc62b16c9)

10 months agoqa/suites/rados/singleton/all: init mon-stretch-pool.yaml
Kamoltat [Mon, 25 Mar 2024 19:42:25 +0000 (19:42 +0000)]
qa/suites/rados/singleton/all: init mon-stretch-pool.yaml

Test the following new Ceph CLI commands:

`ceph osd pool stretch set`
`ceph osd pool stretch unset`
`ceph osd pool stretch show`

`qa/workunits/mon/mon-stretch-pool.sh`

will create the stretch cluster
while performing input validation for the CLI
Commands mentioned above.

`qa/tasks/stretch_cluster.py`

is in charge of
setting a pool to stretch cluster
and checks whether it prevents PGs
from the going active when there is not
enough buckets available in the acting
set of PGs to go active.

Also, test different MON fail over scenarios
after setting pool as stretch

`qa/suites/rados/singleton/all/mon-stretch-pool.yaml`

brings the scripts together.

Fixes: https://tracker.ceph.com/issues/64802
Signed-off-by: Kamoltat <ksirivad@redhat.com>
(cherry picked from commit 4ca1320727d1f7dca2ddfe7ad1a0b76f95b80ab0)

Conflicts:
- qa/tasks/ceph_test_case.py (trivial fix)

10 months agoAllow setting peering_crush_bucket_{count|target|barrier}
Kamoltat [Fri, 15 Mar 2024 22:01:06 +0000 (22:01 +0000)]
Allow setting peering_crush_bucket_{count|target|barrier}

In the command `ceph osd pool stretch set`

<pool> <peering_crush_bucket_count>
<peering_crush_bucket_target> <peering_crush_bucket_barrier>
<crush_rule> <size> <min_size>

user has the option of setting the value of `peering_crush_bucket_{count|target|barrier}`.
This will then allow the utilization `calc_replicated_acting_stretch`,
since with `peering_crush_bucket_count != 0`
the pool is now a stretch_pool and we can handle pg_temp
better by settubg barriers and limits to how much OSDs
should be in a pg_temp.

This will enable the specify pool to
handle pg_temp properly during create_acting, as a stretch pool
should.

User can also use the command:
`osd pool stretch show <pool> `

to show all the stretch related information for the pool

pool: cephfs.a.data
pool_id: 3
is_stretch_pool: 1
peering_crush_bucket_count: 3
peering_crush_bucket_target: 3
peering_crush_bucket_barrier: 8
crush_rule: replicated_rule_custom
size: 3
min_size: 2

User can also unset the stretch pool wiith the commnad:
`osd pool stretch unset <pool>`
However, the pool must be a stretch pool.

Fixes: https://tracker.ceph.com/issues/64802
Signed-off-by: Kamoltat <ksirivad@redhat.com>
(cherry picked from commit 661e8e22cff8763cf8775f204dda4490e464db2c)

10 months agoMerge pull request #59083 from kamoltat/wip-ksirivad-backport-squid-57381
Kamoltat (Junior) Sirivadhna [Wed, 28 Aug 2024 18:30:44 +0000 (14:30 -0400)]
Merge pull request #59083 from kamoltat/wip-ksirivad-backport-squid-57381

squid: PeeringState.cc: Only populate want_acting when num_osds < bucket_max
Reviewed-by: Samuel Just <sjust@redhat.com>
10 months agoMerge pull request #58669 from kamoltat/wip-ksirivad-backport-squid-57906
Kamoltat (Junior) Sirivadhna [Wed, 28 Aug 2024 18:26:20 +0000 (14:26 -0400)]
Merge pull request #58669 from kamoltat/wip-ksirivad-backport-squid-57906

squid: mon/ElectionLogic: tie-breaker mon ignore proposal from marked down mon
Reviewed-by: Samuel Just <sjust@redhat.com>
10 months agoMerge pull request #59471 from adk3798/wip-67732-squid
Guillaume Abrioux [Wed, 28 Aug 2024 14:52:20 +0000 (16:52 +0200)]
Merge pull request #59471 from adk3798/wip-67732-squid

squid: qa/distros: reinstall nvme-cli on centos 9 nodes

10 months agoMerge pull request #59038 from aaSharma14/wip-67359-squid
Aashish Sharma [Wed, 28 Aug 2024 04:50:14 +0000 (10:20 +0530)]
Merge pull request #59038 from aaSharma14/wip-67359-squid

squid: mgr/dashboard: Dashboard not showing Object/Overview correctly.

Reviewed-by: Nizamudeen A <nia@redhat.com>
10 months agoMerge pull request #59380 from zdover23/wip-doc-2024-08-21-backport-59348-to-squid
Zac Dover [Wed, 28 Aug 2024 00:01:14 +0000 (10:01 +1000)]
Merge pull request #59380 from zdover23/wip-doc-2024-08-21-backport-59348-to-squid

squid: doc/rados: document unfound object cache-tiering scenario

Reviewed-by: Cole Mitchell <cole.mitchell.ceph@gmail.com>
10 months agoqa/distros: reinstall nvme-cli on centos 9 nodes 59471/head
Adam King [Thu, 22 Aug 2024 17:53:38 +0000 (13:53 -0400)]
qa/distros: reinstall nvme-cli on centos 9 nodes

To work around a potential linking issue between
nvme-cli ad libnvme that prevents nvme-cli from
correctly generating a hostnqn, causing

nvme_fabrics: found same hostid edb4e426-766f-44c6-b127-da2a5b7446ef but different hostnqn hostnqn

messages in dmesg and the inability to setup nvme
loop devices

Fixes: https://tracker.ceph.com/issues/67684
Signed-off-by: Adam King <adking@redhat.com>
(cherry picked from commit 4e5f269c01dd94741fbddaa7f76ebe4ac155e650)

10 months agoMerge pull request #59445 from cbodley/wip-67723-squid
J. Eric Ivancich [Tue, 27 Aug 2024 17:14:13 +0000 (13:14 -0400)]
Merge pull request #59445 from cbodley/wip-67723-squid

squid: rgw: ignore zoneless default realm when not configured

Reviewed-by: J. Eric Ivancich <ivancich@redhat.com>
10 months agoWarning added for slow operations and stalled read in BlueStore. User can control... 59464/head
sajibreadd [Mon, 27 May 2024 07:30:06 +0000 (13:30 +0600)]
Warning added for slow operations and stalled read in BlueStore. User can control how much time the warning should persist after last occurence and maximum number of operations as a threshold will be considered for the warning.

Fixes: https://tracker.ceph.com/issues/62500
Signed-off-by: Md Mahamudur Rahaman Sajib <mahamudur.sajib@croit.io>
(cherry picked from commit 73b80a9a2c38259346fb646f85fa2ba4dcbb1329)

10 months agomgr/dashboard: Add group field in nvmeof service form
Afreen Misbah [Tue, 20 Aug 2024 09:17:47 +0000 (14:47 +0530)]
mgr/dashboard: Add group field in nvmeof service form

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

Signed-off-by: Afreen Misbah <afreen23.git@gmail.com>
(cherry picked from commit c90cf8460e02000197b52ca1e7ffaa206c5fd997)

10 months agotest/rgw: include --rgw-realm/zonegroup/zone args for 'account create' 59445/head
Casey Bodley [Fri, 23 Aug 2024 19:55:44 +0000 (15:55 -0400)]
test/rgw: include --rgw-realm/zonegroup/zone args for 'account create'

Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit aa1ba5de6e730d039967c4ce1d0892f65905f56a)

10 months agotest/rgw: test_multi.py creates realm with --default
Casey Bodley [Fri, 23 Aug 2024 19:54:18 +0000 (15:54 -0400)]
test/rgw: test_multi.py creates realm with --default

mstart.sh relies on default realm/zonegroup/zone configuration, because
it doesn't supply them to radosgw as config options

Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit c5a8afd56a88dda9463d604ccdcd339a30f33247)

10 months agorgw: ignore zoneless default realm when not configured
Casey Bodley [Fri, 23 Aug 2024 19:03:31 +0000 (15:03 -0400)]
rgw: ignore zoneless default realm when not configured

"default" zone/zonegroup deployments without a realm can be broken by
the creation of an unrelated realm, because that realm is (was)
automatically set as the default

when startup detects an incomplete default realm (one that doesn't have
a default zone), fall back to the realmless "default" zone/zonegroup
instead

Fixes: https://tracker.ceph.com/issues/67697
Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 902cc0a71e91faf6d6e3685c036d346251e4f77f)

10 months agoradosgw-admin: add 'realm default rm' command
Casey Bodley [Fri, 23 Aug 2024 18:53:46 +0000 (14:53 -0400)]
radosgw-admin: add 'realm default rm' command

the 'realm default' command could only set a different realm as the
default, and provided no way to clear the default

Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit e946c4f5cfd6f356dbc18c5c42d8d639cb49270d)

10 months agorgw: realm create only sets default realm on --default
Casey Bodley [Fri, 23 Aug 2024 18:49:32 +0000 (14:49 -0400)]
rgw: realm create only sets default realm on --default

Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit d64e273de1623fe784a3b8c9d2c21990f78b7be2)

10 months agoMerge pull request #59410 from adk3798/wip-67681-squid
Adam King [Mon, 26 Aug 2024 15:05:33 +0000 (11:05 -0400)]
Merge pull request #59410 from adk3798/wip-67681-squid

squid: mgr/cephadm: add "original_weight" parameter to OSD class

Reviewed-by: John Mulligan <jmulligan@redhat.com>
10 months agoMerge pull request #59430 from zdover23/wip-doc-2024-08-26-backport-59428-to-squid
Anthony D'Atri [Mon, 26 Aug 2024 13:22:46 +0000 (09:22 -0400)]
Merge pull request #59430 from zdover23/wip-doc-2024-08-26-backport-59428-to-squid

squid: doc/cephadm: how to get exact size_spec from device

10 months agoMerge pull request #59139 from k0ste/wip-67123-squid
afreen23 [Mon, 26 Aug 2024 09:08:25 +0000 (14:38 +0530)]
Merge pull request #59139 from k0ste/wip-67123-squid

squid: mgr/dashboard: add restful api for creating crush rule with type of 'erasure'

Reviewed-by: Afreen Misbah <afreen23.git@gmail.com>
10 months agodoc/cephadm: how to get exact size_spec from device 59430/head
Zac Dover [Sun, 25 Aug 2024 20:03:34 +0000 (06:03 +1000)]
doc/cephadm: how to get exact size_spec from device

Add instructions for retrieving the exact size of block devices.

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

10 months agoMerge pull request #59106 from aclamk/wip-67454-squid
Pere Diaz Bou [Sun, 25 Aug 2024 09:47:06 +0000 (11:47 +0200)]
Merge pull request #59106 from aclamk/wip-67454-squid

squid: os/bluestore: Multiple bdev labels on main block device

Reviewed-by: Pere Diaz Bou <pdiazbou@redhat.com>
Reviewed-by: Yuri Weinstein <yweins@redhat.com>
10 months agoMerge pull request #59424 from zdover23/wip-doc-2024-08-25-backport-59418-to-squid
Anthony D'Atri [Sun, 25 Aug 2024 03:06:56 +0000 (23:06 -0400)]
Merge pull request #59424 from zdover23/wip-doc-2024-08-25-backport-59418-to-squid

squid: doc/glossary: add "object storage"

10 months agodoc/glossary: add "object storage" 59424/head
Zac Dover [Fri, 23 Aug 2024 12:36:16 +0000 (22:36 +1000)]
doc/glossary: add "object storage"

Add a (very basic) definition of object storage.

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

10 months agoos/bluestore: Fix unbalanced new[]/delete[] in read_bdev_label functions 59106/head
Adam Kupczyk [Thu, 25 Jul 2024 12:42:43 +0000 (12:42 +0000)]
os/bluestore: Fix unbalanced new[]/delete[] in read_bdev_label functions

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

10 months agoos/bluestore: Modify read_meta()
Adam Kupczyk [Fri, 12 Jul 2024 08:04:41 +0000 (08:04 +0000)]
os/bluestore: Modify read_meta()

When bdev is not opened, do not fallback to file-backed values
immediately.
First try to open temporary open bdev.

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

10 months agoos/bluestore: fix fsck fixing multiple bdev label (superblock)
Adam Kupczyk [Mon, 1 Jul 2024 13:44:41 +0000 (13:44 +0000)]
os/bluestore: fix fsck fixing multiple bdev label (superblock)

The problem was that after fixing label location,
location was not marked as "good label".
In result the region was not excluded when saving allocator state.
After reading allocator state, label was treated as corrupted.

Fixed fixing bdev label when freelist is bitmap (HDD).

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

10 months agoos/bluestore: Review fixes
Adam Kupczyk [Fri, 10 May 2024 07:38:56 +0000 (07:38 +0000)]
os/bluestore: Review fixes

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

10 months agotest/store_test: Add double check for repair
Adam Kupczyk [Fri, 10 May 2024 09:19:43 +0000 (09:19 +0000)]
test/store_test: Add double check for repair

Add fsck after repair to verify.
Also drop some unnecesary calls to mount().

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

10 months agoceph-bluestore-tool: Fix set-label-key and rm-label-key
Adam Kupczyk [Wed, 24 Apr 2024 17:13:22 +0000 (17:13 +0000)]
ceph-bluestore-tool: Fix set-label-key and rm-label-key

Functions were not adapted to multiple superblocks.
Now for superblock labels that handle multiple copies, all are updated.

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

10 months agoos/bluestore: multiple bdev label (superblock) fixes
Adam Kupczyk [Wed, 24 Apr 2024 14:29:08 +0000 (14:29 +0000)]
os/bluestore: multiple bdev label (superblock) fixes

- fixed logic of bluestore_debug_permit_any_bdev_label
- minor fixes

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

10 months agoos/bluestore: Adapt unittest for multi bdev label
Adam Kupczyk [Tue, 13 Feb 2024 12:57:26 +0000 (12:57 +0000)]
os/bluestore: Adapt unittest for multi bdev label

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

10 months agoos/bluestore: Small fix to mkfs
Adam Kupczyk [Tue, 13 Feb 2024 12:54:27 +0000 (12:54 +0000)]
os/bluestore: Small fix to mkfs

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

10 months agoos/bluestore: Made read/write_meta bdev aware
Adam Kupczyk [Tue, 13 Feb 2024 12:48:33 +0000 (12:48 +0000)]
os/bluestore: Made read/write_meta bdev aware

When bdev is not set, do not even try to operate on label.

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

10 months agoos/bluestore: Add read/write_bdev_label functions
Adam Kupczyk [Tue, 13 Feb 2024 12:46:38 +0000 (12:46 +0000)]
os/bluestore: Add read/write_bdev_label functions

Made _read/_write_bdev_label private.
Instead created read/write_bdev_label.

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

10 months agoos/bluestore: Modify bdev-label functions operate on bdev
Adam Kupczyk [Tue, 13 Feb 2024 12:30:53 +0000 (12:30 +0000)]
os/bluestore: Modify bdev-label functions operate on bdev

Now bdev-label related function operate on BlockDevices.
It used to open own file descriptor to operate.
It could no longer be supported because we need bdev->get_size().

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

10 months agoos/bluestore: Bluefs, expand api for getting BlockDevice on BD/WAL
Adam Kupczyk [Tue, 13 Feb 2024 12:50:51 +0000 (12:50 +0000)]
os/bluestore: Bluefs, expand api for getting BlockDevice on BD/WAL

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

10 months agoos/bluestore: Minor fixes
Adam Kupczyk [Thu, 8 Feb 2024 23:53:25 +0000 (23:53 +0000)]
os/bluestore: Minor fixes

These were noticed during review.

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

10 months agoos/bluestore: Update test for resilience of bdev label against bad UUID
Adam Kupczyk [Thu, 8 Feb 2024 14:38:09 +0000 (14:38 +0000)]
os/bluestore: Update test for resilience of bdev label against bad UUID

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

10 months agoos/bluestore: Only accept bdev labels with our UUID
Adam Kupczyk [Thu, 8 Feb 2024 14:35:29 +0000 (14:35 +0000)]
os/bluestore: Only accept bdev labels with our UUID

This fixed the problem that some saboteur label of different UUID
with high "epoch" will trick label discovery.

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

10 months agoos/bluestore: Split check* and set* _main_bdev_label
Adam Kupczyk [Thu, 8 Feb 2024 23:36:49 +0000 (23:36 +0000)]
os/bluestore: Split check* and set* _main_bdev_label

Splitting makes them clearer.

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

10 months agoos/bluestore: Adapt multi bdev label tests for !bdev->supported_bdev_label()
Adam Kupczyk [Wed, 7 Feb 2024 17:26:50 +0000 (17:26 +0000)]
os/bluestore: Adapt multi bdev label tests for !bdev->supported_bdev_label()

Just skip tests.

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