]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
2 months agoMerge pull request #60515 from ideepika/fix-68327
Casey Bodley [Wed, 30 Apr 2025 14:43:44 +0000 (10:43 -0400)]
Merge pull request #60515 from ideepika/fix-68327

rgw: make keystone work without admin token(service ac requirement)

Reviewed-by: Tobias Urdin <tobias.urdin@binero.com>
2 months agoMerge pull request #62980 from cbodley/wip-71083
Casey Bodley [Wed, 30 Apr 2025 14:27:56 +0000 (10:27 -0400)]
Merge pull request #62980 from cbodley/wip-71083

rgw/lc: stop using merge_and_store_attrs in remove_bucket_config

Reviewed-by: Matt Benjamin <mbenjamin@redhat.com>
2 months agoMerge PR #63046 into main
Patrick Donnelly [Wed, 30 Apr 2025 14:24:43 +0000 (10:24 -0400)]
Merge PR #63046 into main

* refs/pull/63046/head:
qa/crontab: add tentacle nightlies

Reviewed-by: Yuri Weinstein <yweins@redhat.com>
2 months agoMerge pull request #63060 from zdover23/wip-doc-2025-04-30-cephadm-services-rgw-markup
Anthony D'Atri [Wed, 30 Apr 2025 12:33:08 +0000 (08:33 -0400)]
Merge pull request #63060 from zdover23/wip-doc-2025-04-30-cephadm-services-rgw-markup

doc/cephadm: correct markup in rgw.rst

2 months agoMerge pull request #63062 from bluikko/doc-radogw-fix-radosgw
Anthony D'Atri [Wed, 30 Apr 2025 12:31:24 +0000 (08:31 -0400)]
Merge pull request #63062 from bluikko/doc-radogw-fix-radosgw

doc/radosgw: Use Ceph Object Gateway as term in metrics.rst

2 months agoMerge pull request #62843 from rishabh-d-dave/vols-user-pool
Rishabh Dave [Wed, 30 Apr 2025 11:46:15 +0000 (17:16 +0530)]
Merge pull request #62843 from rishabh-d-dave/vols-user-pool

mgr/vol: don't delete user-created pool in "volume create" command

Reviewed-by: Venky Shankar <vshankar@redhat.com>
2 months agoMerge pull request #62760 from mohit84/pg_stuck_backfill
Matan Breizman [Wed, 30 Apr 2025 09:36:13 +0000 (12:36 +0300)]
Merge pull request #62760 from mohit84/pg_stuck_backfill

crimson: PG backfill is not showing any progress

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
2 months agodoc/radosgw: Use Ceph Object Gateway as term in metrics.rst 63062/head
Ville Ojamo [Wed, 30 Apr 2025 08:41:36 +0000 (15:41 +0700)]
doc/radosgw: Use Ceph Object Gateway as term in metrics.rst

The document uses mostly the term Ceph Object Gateway except in three
places where "Radosgw", "rgw" or obviously typod "radogw" is used.

Change those instances to Ceph Object Gateway consistent with the rest
of the document.

Signed-off-by: Ville Ojamo <14869000+bluikko@users.noreply.github.com>
2 months agodoc/cephadm: correct markup in rgw.rst 63060/head
Zac Dover [Wed, 30 Apr 2025 08:13:40 +0000 (18:13 +1000)]
doc/cephadm: correct markup in rgw.rst

Correct the presentation of an example string in doc/cephadm/rgw.rst in
order to obviate an error reading "rgw.rst:202: WARNING: Inline emphasis start-string without end-string."

Signed-off-by: Zac Dover <zac.dover@proton.me>
2 months agoMerge pull request #62894 from rzarzynski/wip-crimson-unused-errors
Matan Breizman [Wed, 30 Apr 2025 07:59:09 +0000 (10:59 +0300)]
Merge pull request #62894 from rzarzynski/wip-crimson-unused-errors

crimson: fix unused variable warnings due to assert() and NDEBUG builds

Reviewed-by: Ronen Friedman <rfriedma@redhat.com>
Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
2 months agoMerge pull request #62826 from sseshasa/wip-doc-max-iops-cap-override
Sridhar Seshasayee [Wed, 30 Apr 2025 07:58:32 +0000 (13:28 +0530)]
Merge pull request #62826 from sseshasa/wip-doc-max-iops-cap-override

doc/rados: Update mClock doc on steps to override OSD IOPS capacity config

Reviewed-by: Anthony D'Atri <anthonyeleven@users.noreply.github.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
2 months agodoc/rados: Update mClock doc on steps to override OSD IOPS capacity config 62826/head
Sridhar Seshasayee [Tue, 15 Apr 2025 13:01:50 +0000 (18:31 +0530)]
doc/rados: Update mClock doc on steps to override OSD IOPS capacity config

Describe the steps involved to
 - Specify a global value for osd_mclock_max_capacity_iops_{ssd,hdd}, and
 - Override existing individually scoped values for OSDs determined during
   start-up for osd_mclock_max_capacity_iops_{ssd,hdd}.

The above is to help with the following:
 - Steps to override existing setting with a global value.
 - reduce the number of entries in the mon store and instead use a single
   global specification for all OSDs in the cluster in case the underlying
   hardware is the same for all OSDs.

Signed-off-by: Sridhar Seshasayee <sseshasa@redhat.com>
Fixes: https://tracker.ceph.com/issues/70774
2 months agoMerge pull request #62972 from laimis9133/laimis9133-compression-docs
Anthony D'Atri [Tue, 29 Apr 2025 22:03:02 +0000 (18:03 -0400)]
Merge pull request #62972 from laimis9133/laimis9133-compression-docs

doc/radosgw/compression: separate RGW and RADOS pool level compression

2 months agoMerge pull request #62836 from athanatos/sjust/wip-crimson-repop-reply-ordering-69439
Samuel Just [Tue, 29 Apr 2025 21:45:20 +0000 (14:45 -0700)]
Merge pull request #62836 from athanatos/sjust/wip-crimson-repop-reply-ordering-69439

crimson: osd_operation cleanups and fix for MOSDRepOpReply ordering

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
2 months agoMerge branch 'main' into laimis9133-compression-docs 62972/head
Laimis Juzeliūnas [Tue, 29 Apr 2025 21:15:20 +0000 (00:15 +0300)]
Merge branch 'main' into laimis9133-compression-docs

Signed-off-by: Laimis Juzeliūnas <58551069+laimis9133@users.noreply.github.com>
2 months agoMerge pull request #59206 from ygtzf/bugfix-compress-use-isal
Yuri Weinstein [Tue, 29 Apr 2025 18:15:08 +0000 (11:15 -0700)]
Merge pull request #59206 from ygtzf/bugfix-compress-use-isal

compressor: compressor_zlib_isal did not take effect in compression

Reviewed-by: Igor Fedotov <ifedotov@suse.com>
2 months agoqa/crontab: add tentacle nightlies 63046/head
Patrick Donnelly [Tue, 29 Apr 2025 18:03:57 +0000 (14:03 -0400)]
qa/crontab: add tentacle nightlies

And delete reef nightlies. This is primarily because we do not have capacity to also test reef.

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
2 months agoMerge PR #62904 into main
Patrick Donnelly [Tue, 29 Apr 2025 16:52:27 +0000 (12:52 -0400)]
Merge PR #62904 into main

* refs/pull/62904/head:
pybind/mgr/volumes: make casesensitive attr uniform in interface

Reviewed-by: Milind Changire <mchangir@redhat.com>
2 months agoMerge pull request #63035 from Matan-B/wip-matanb-crimson-scan_for_backfill-fix
Matan Breizman [Tue, 29 Apr 2025 16:21:45 +0000 (19:21 +0300)]
Merge pull request #63035 from Matan-B/wip-matanb-crimson-scan_for_backfill-fix

crimson/osd/recovery_backend: scan_for_backfill_primary correctly handle missing object

Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
2 months agoMerge pull request #63033 from bluikko/doc-placement-formatting-radosgw
Anthony D'Atri [Tue, 29 Apr 2025 16:21:11 +0000 (12:21 -0400)]
Merge pull request #63033 from bluikko/doc-placement-formatting-radosgw

doc/radosgw: Promptify cmds and improve formatting in placement.rst

2 months agoMerge pull request #63028 from bluikko/doc-d3n-formatting-radosgw
Anthony D'Atri [Tue, 29 Apr 2025 16:15:22 +0000 (12:15 -0400)]
Merge pull request #63028 from bluikko/doc-d3n-formatting-radosgw

doc/radosgw: Improve formatting in d3n_datacache.rst

2 months agoMerge pull request #63029 from bluikko/doc-admin-privprompts-radosgw
Anthony D'Atri [Tue, 29 Apr 2025 16:12:06 +0000 (12:12 -0400)]
Merge pull request #63029 from bluikko/doc-admin-privprompts-radosgw

doc/radosgw: Use privileged prompt for CLI commands in admin.rst

2 months agoMerge pull request #63032 from bluikko/doc-compression-typo-radosgw
Anthony D'Atri [Tue, 29 Apr 2025 16:11:41 +0000 (12:11 -0400)]
Merge pull request #63032 from bluikko/doc-compression-typo-radosgw

doc/radosgw: Remove stray full stop mid-sentence in compression.rst

2 months agoMerge pull request #62672 from adamemerson/wip-test-common-signed-comparison
Yuri Weinstein [Tue, 29 Apr 2025 14:55:58 +0000 (07:55 -0700)]
Merge pull request #62672 from adamemerson/wip-test-common-signed-comparison

test/common: Fix signed comparison

Reviewed-by: Kefu Chai <tchaikov@gmail.com>
2 months agoMerge pull request #62670 from adamemerson/wip-not-before-queue-signed-comparison
Yuri Weinstein [Tue, 29 Apr 2025 14:55:18 +0000 (07:55 -0700)]
Merge pull request #62670 from adamemerson/wip-not-before-queue-signed-comparison

common/not_before_queue: Fix signed comparison warning

Reviewed-by: Ronen Friedman <rfriedma@redhat.com>
2 months agoMerge pull request #61962 from clwluvw/replication-perms
Casey Bodley [Tue, 29 Apr 2025 14:14:25 +0000 (10:14 -0400)]
Merge pull request #61962 from clwluvw/replication-perms

rgw: add support replication actions in policy

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2 months agoMerge pull request #62922 from saif-0987/refactor/testid-update-01
afreen23 [Tue, 29 Apr 2025 12:43:34 +0000 (18:13 +0530)]
Merge pull request #62922 from saif-0987/refactor/testid-update-01

mgr/dashboard: Replace data-cy with data-testid for cypress IDs

Reviewed-by: Afreen Misbah <afreen@ibm.com>
2 months agoMerge pull request #63010 from ronen-fr/wip-rf-repair-62451
Ronen Friedman [Tue, 29 Apr 2025 10:36:30 +0000 (13:36 +0300)]
Merge pull request #63010 from ronen-fr/wip-rf-repair-62451

qa/standalone/scrub: fix expected outputs in repair tests

Reviewed-by: Adam Kupczyk <akupczyk@ibm.com>
2 months agocrimson/osd/recovery_backend: scan_for_backfill_primary correctly handle 63035/head
Matan Breizman [Tue, 29 Apr 2025 10:10:07 +0000 (10:10 +0000)]
crimson/osd/recovery_backend: scan_for_backfill_primary correctly handle
missing object

scan_for_backfill was seperated to scan_for_backfill_primary and
scan_for_backfill_replica.
The fix from:
https://github.com/ceph/ceph/pull/62837/commits/88432ebd7432c513ccd495e77425401beddb9953
was only copied to the replica version.

Fixes: https://tracker.ceph.com/issues/71124
Signed-off-by: Matan Breizman <mbreizma@redhat.com>
2 months agoMerge pull request #62978 from afreen23/main
afreen23 [Tue, 29 Apr 2025 09:20:49 +0000 (14:50 +0530)]
Merge pull request #62978 from afreen23/main

mgr/dashboard: Update translations

Reviewed-by: Nizamudeen A <nia@redhat.com>
2 months agodoc/radosgw: Promptify cmds and improve formatting in placement.rst 63033/head
Ville Ojamo [Tue, 29 Apr 2025 06:52:51 +0000 (13:52 +0700)]
doc/radosgw: Promptify cmds and improve formatting in placement.rst

Use preformatted blocks with a privileged bash prompt instead of
hardcoding prompts in the beginning of each line for CLI commands.

Indent continuation lines of multi-line CLI example commands the same
way they are indented elsewhere.

Use inline code formatting consistently, add double-backticks for
inside text references to CLI commands, configuration data, etc.

Signed-off-by: Ville Ojamo <14869000+bluikko@users.noreply.github.com>
2 months agodoc/radosgw: Remove stray full stop mid-sentence in compression.rst 63032/head
Ville Ojamo [Tue, 29 Apr 2025 06:35:09 +0000 (13:35 +0700)]
doc/radosgw: Remove stray full stop mid-sentence in compression.rst

Remove a full stop that seems to be a typo in the middle of a sentence.

Signed-off-by: Ville Ojamo <14869000+bluikko@users.noreply.github.com>
2 months agodoc/radosgw: Use privileged prompt for CLI commands in admin.rst 63029/head
Ville Ojamo [Tue, 29 Apr 2025 06:20:26 +0000 (13:20 +0700)]
doc/radosgw: Use privileged prompt for CLI commands in admin.rst

Instead of not defining a prompt to use in CLI commands and falling back
to the default unprivileged prompt, use explicit privileged bash prompt
for CLI commands that require privileges.

Signed-off-by: Ville Ojamo <14869000+bluikko@users.noreply.github.com>
2 months agodoc/radosgw: Improve formatting in d3n_datacache.rst 63028/head
Ville Ojamo [Tue, 29 Apr 2025 05:49:31 +0000 (12:49 +0700)]
doc/radosgw: Improve formatting in d3n_datacache.rst

Change to a full stop one comma that is followed by capital
case and looks like a separate sentence otherwise too.

Add missing inline code formatting consistently for file
names, config data, etc.

Signed-off-by: Ville Ojamo <14869000+bluikko@users.noreply.github.com>
2 months agoqa/standalone/scrub: fix expected output in snaps repair tests 63010/head
Ronen Friedman [Tue, 29 Apr 2025 03:35:13 +0000 (22:35 -0500)]
qa/standalone/scrub: fix expected output in snaps repair tests

Specifically - TEST_corrupt_snapset_scrub_rep in osd-scrub-repair.sh.

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
2 months agocrimson: add operation wrapper for MOSDRepOpReply 62836/head
Samuel Just [Fri, 4 Apr 2025 02:13:58 +0000 (19:13 -0700)]
crimson: add operation wrapper for MOSDRepOpReply

This should avoid reordering between cores.

Fixes: https://tracker.ceph.com/issues/69439
Signed-off-by: Samuel Just <sjust@redhat.com>
2 months agocrimson: convert cross-core operations to use RemoteOperation
Samuel Just [Sat, 5 Apr 2025 02:12:33 +0000 (02:12 +0000)]
crimson: convert cross-core operations to use RemoteOperation

Signed-off-by: Samuel Just <sjust@redhat.com>
2 months agocrimson: fix DynamicPerfStats usage in ClientRequest
Samuel Just [Sat, 5 Apr 2025 01:57:33 +0000 (18:57 -0700)]
crimson: fix DynamicPerfStats usage in ClientRequest

ClientRequest::get_connection() return l_conn, which will be
null by the time PG::add_client_request_lat is called in
ClientRequest::do_process.  Modify get_connection() to
return a Connection& from whichever of l_conn or r_conn
isn't null.

Signed-off-by: Samuel Just <sjust@redhat.com>
2 months agocrimson/.../osd_operation.h: add RemoteOperation
Samuel Just [Fri, 4 Apr 2025 01:34:50 +0000 (01:34 +0000)]
crimson/.../osd_operation.h: add RemoteOperation

Subsequent commits will switch various ops to inherit from
this thereby removing some boilerplate.

Signed-off-by: Samuel Just <sjust@redhat.com>
2 months agocrimson/.../osd.cc: convert active ops to start_pg_operation_active
Samuel Just [Fri, 4 Apr 2025 02:16:11 +0000 (19:16 -0700)]
crimson/.../osd.cc: convert active ops to start_pg_operation_active

Signed-off-by: Samuel Just <sjust@redhat.com>
2 months agocrimson/.../pg_shard_manager: add start_pg_operation_active
Samuel Just [Tue, 25 Mar 2025 21:02:03 +0000 (21:02 +0000)]
crimson/.../pg_shard_manager: add start_pg_operation_active

Messages between OSDs for PGs that have already completed peering
require fewer checks than otherwise.

Signed-off-by: Samuel Just <sjust@redhat.com>
2 months agoMerge PR #62872 into main
Patrick Donnelly [Mon, 28 Apr 2025 19:44:01 +0000 (15:44 -0400)]
Merge PR #62872 into main

* refs/pull/62872/head:
qa: add test for cloning with charmap
pybind/mgr/volumes: fix typo in casesensitive vxattr

Reviewed-by: Anoop C S <anoopcs@cryptolab.net>
Reviewed-by: Xavi Hernandez <xhernandez@gmail.com>
Reviewed-by: Greg Farnum <gfarnum@redhat.com>
2 months agoMerge PR #62089 into main
Patrick Donnelly [Mon, 28 Apr 2025 19:31:02 +0000 (15:31 -0400)]
Merge PR #62089 into main

* refs/pull/62089/head:
doc/dev/release-checklists: add vX.3.0 checklist item
doc/dev/release-checklist: check v20.0.0 tag

Reviewed-by: Adam King <adking@redhat.com>
2 months agoMerge PR #63011 into main
Patrick Donnelly [Mon, 28 Apr 2025 18:44:23 +0000 (14:44 -0400)]
Merge PR #63011 into main

* refs/pull/63011/head:
.github: run verify-qa from base branch
 .github: run verify-qa when PR HEAD is updated

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2 months agorgw: utilize is_impersonating for forwarded sts requests 61962/head
Seena Fallah [Mon, 28 Apr 2025 17:44:10 +0000 (19:44 +0200)]
rgw: utilize is_impersonating for forwarded sts requests

With the introduction of is_impersonating in SysReqApplier,
RoleApplier can now use the same mechanism to mark when a request
has been forwarded by a system user on behalf of another role (e.g.,
through STS) to mark it as a system request (s->system_request).

Signed-off-by: Seena Fallah <seenafallah@gmail.com>
2 months ago.github: run verify-qa from base branch 63011/head
Patrick Donnelly [Mon, 28 Apr 2025 17:44:08 +0000 (13:44 -0400)]
.github: run verify-qa from base branch

If the PR does not have the script, perhaps it does not run?

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
2 months ago .github: run verify-qa when PR HEAD is updated
Patrick Donnelly [Mon, 28 Apr 2025 13:50:55 +0000 (09:50 -0400)]
 .github: run verify-qa when PR HEAD is updated

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
2 months agorgw: dont rate limit forwarded requests
Seena Fallah [Wed, 23 Apr 2025 22:22:23 +0000 (00:22 +0200)]
rgw: dont rate limit forwarded requests

rely on s->system_request to skip rate limiting on forwarded requests
as well as normal system user requests.

Signed-off-by: Seena Fallah <seenafallah@gmail.com>
2 months agorgw: use is_admin() for permission checks
Seena Fallah [Wed, 23 Apr 2025 22:22:08 +0000 (00:22 +0200)]
rgw: use is_admin() for permission checks

Signed-off-by: Seena Fallah <seenafallah@gmail.com>
2 months agorgw: override perms for admin on data sync
Seena Fallah [Fri, 18 Apr 2025 14:42:24 +0000 (16:42 +0200)]
rgw: override perms for admin on data sync

If pipe is in user mode and the user is admin, don't check for perms
and let it go.

Signed-off-by: Seena Fallah <seenafallah@gmail.com>
2 months agorgw: change is_admin_of() to is_admin()
Seena Fallah [Thu, 17 Apr 2025 22:09:12 +0000 (00:09 +0200)]
rgw: change is_admin_of() to is_admin()

As admin propery of a user is something global and nothing related
to any other owner, we don't need any comparision.

Signed-off-by: Seena Fallah <seenafallah@gmail.com>
2 months agorgw: make rgw_sync_pipe_params::user optional
Seena Fallah [Tue, 1 Apr 2025 15:28:10 +0000 (17:28 +0200)]
rgw: make rgw_sync_pipe_params::user optional

In rgw_sync_pipe_params, the mode can be either system or user.
When in system mode, no user is involved, but the current
implementation holds an empty rgw_user, which can cause confusion
in pipe_rules::find_basic_info_without_tags().

With this change, rgw_user is now optional, ensuring that when no
user is involved, it is explicitly nullopt rather than an empty object.

Signed-off-by: Seena Fallah <seenafallah@gmail.com>
2 months agoqa/rgw: add perm check test for copy obj between zonegroups
Seena Fallah [Fri, 28 Mar 2025 23:00:02 +0000 (00:00 +0100)]
qa/rgw: add perm check test for copy obj between zonegroups

Make sure perms are evaluated properly for the source object.

Signed-off-by: Seena Fallah <seenafallah@gmail.com>
2 months agodoc: add release note for new policy actions on replication
Seena Fallah [Mon, 24 Feb 2025 15:47:50 +0000 (16:47 +0100)]
doc: add release note for new policy actions on replication

Fixes: https://tracker.ceph.com/issues/70093
Signed-off-by: Seena Fallah <seenafallah@gmail.com>
2 months agorgw: remote copy obj pass rgwx-perm-check-uid for perm evaluation
Seena Fallah [Fri, 28 Mar 2025 20:55:20 +0000 (21:55 +0100)]
rgw: remote copy obj pass rgwx-perm-check-uid for perm evaluation

When copying object from remote source (bucket from another zonegroup)
the perms of the source is not evaluated resulting in reading from
unauthorized buckets.
passing `rgwx-perm-check-uid` will let the source zone evaluates the
perm and close this bug.

Signed-off-by: Seena Fallah <seenafallah@gmail.com>
2 months agorgw: RGWRadosPutObj evals source bucket perm for backward compatibility
Seena Fallah [Fri, 28 Mar 2025 20:52:47 +0000 (21:52 +0100)]
rgw: RGWRadosPutObj evals source bucket perm for backward compatibility

As of a3f40b4 we no longer evaluate perms locally for source bucket,
this could cause broken permission evaluation dusring upgrade as one
zone is not respecting the perm evaluation based on the `rgwx-perm-check-uid`
arg.

This can be dropped in T+2 release.

Signed-off-by: Seena Fallah <seenafallah@gmail.com>
2 months agorgw: make verify_bucket_permission functions const
Seena Fallah [Thu, 24 Apr 2025 19:02:08 +0000 (21:02 +0200)]
rgw: make verify_bucket_permission functions const

Signed-off-by: Seena Fallah <seenafallah@gmail.com>
2 months agorgw: give hint via header for perm evaluation in GetObj
Seena Fallah [Fri, 28 Mar 2025 20:48:34 +0000 (21:48 +0100)]
rgw: give hint via header for perm evaluation in GetObj

Return `Rgwx-Perm-Checked` header as a hint for the destination zone
to know whether the perms where considered or not.
This is just a backward compatibility for upgrade and can be dropped
in T+2 release.

Signed-off-by: Seena Fallah <seenafallah@gmail.com>
2 months agorgw: rest client callback when all headers are passed
Seena Fallah [Fri, 28 Mar 2025 20:36:38 +0000 (21:36 +0100)]
rgw: rest client callback when all headers are passed

Signed-off-by: Seena Fallah <seenafallah@gmail.com>
2 months agorgw: pass rgwx-perm-check-uid for multisite fetch object
Seena Fallah [Wed, 5 Mar 2025 19:52:48 +0000 (20:52 +0100)]
rgw: pass rgwx-perm-check-uid for multisite fetch object

Signed-off-by: Seena Fallah <seenafallah@gmail.com>
2 months agorgw: GetObject(Version) not allowed to replicate sse-kms objects
Seena Fallah [Fri, 28 Feb 2025 16:07:32 +0000 (17:07 +0100)]
rgw: GetObject(Version) not allowed to replicate sse-kms objects

To replicate objects encrypted via sse-kms objects,
s3:GetObjectVersionForReplication is required.

Signed-off-by: Seena Fallah <seenafallah@gmail.com>
2 months agorgw: take account GetObject(Version)Tagging when replicating
Seena Fallah [Thu, 27 Feb 2025 10:53:44 +0000 (11:53 +0100)]
rgw: take account GetObject(Version)Tagging when replicating

In case the uid has no permission to read tagging, the tags should
not be replicated.
Ref. https://docs.aws.amazon.com/AmazonS3/latest/userguide/setting-repl-config-perm-overview.html

Signed-off-by: Seena Fallah <seenafallah@gmail.com>
2 months agoqa/rgw: add test for source object perm check in multisite
Seena Fallah [Mon, 24 Feb 2025 22:56:13 +0000 (23:56 +0100)]
qa/rgw: add test for source object perm check in multisite

Check whether the policies are honored on source object in source
zone when replicating.

Signed-off-by: Seena Fallah <seenafallah@gmail.com>
2 months agorgw: replication require lock perm if enabled
Seena Fallah [Fri, 28 Feb 2025 15:51:07 +0000 (16:51 +0100)]
rgw: replication require lock perm if enabled

Signed-off-by: Seena Fallah <seenafallah@gmail.com>
2 months agorgw: check source object replication by replication actions
Seena Fallah [Mon, 24 Feb 2025 22:41:13 +0000 (23:41 +0100)]
rgw: check source object replication by replication actions

Check for permissions of `s3:GetObjectVersionForReplication` in
addition to `s3:GetObject` and `s3:GetObjectVersion` when fetching
the object for multisite.

Signed-off-by: Seena Fallah <seenafallah@gmail.com>
2 months agorgw: export action_bit_string through header file
Seena Fallah [Sat, 1 Mar 2025 00:22:07 +0000 (01:22 +0100)]
rgw: export action_bit_string through header file

Signed-off-by: Seena Fallah <seenafallah@gmail.com>
2 months agorgw: only allow system override if identity is not impersonating
Seena Fallah [Mon, 24 Feb 2025 22:33:45 +0000 (23:33 +0100)]
rgw: only allow system override if identity is not impersonating

Since multisite now delegates permission checks for source objects
to the source zone (a3f40b4), we need to avoid allowing system-level
overrides when the request is impersonating another identity.

SysReqApplier should only grant override permission if the request
is truly system-authenticated and not acting on behalf of another
user or role (i.e., no rgwx-perm-check-uid or rgwx-perm-check-role
in the request).

Signed-off-by: Seena Fallah <seenafallah@gmail.com>
2 months agorgw: SysReqApplier overrides is_admin_of based on impersonation
Seena Fallah [Thu, 17 Apr 2025 12:55:00 +0000 (14:55 +0200)]
rgw: SysReqApplier overrides is_admin_of based on impersonation

SysReqApplier now returns true for is_admin_of() when the requester
was a system user and was not impersonating any user/role using
rgwx-perm-check-uid or rgwx-perm-check-role.

Signed-off-by: Seena Fallah <seenafallah@gmail.com>
2 months agoqa/rgw: add test for new replication actions
Seena Fallah [Fri, 21 Feb 2025 00:34:27 +0000 (01:34 +0100)]
qa/rgw: add test for new replication actions

Signed-off-by: Seena Fallah <seenafallah@gmail.com>
2 months agorgw: support s3ReplicateTags perm on destination bucket for replication
Seena Fallah [Thu, 20 Feb 2025 23:57:25 +0000 (00:57 +0100)]
rgw: support s3ReplicateTags perm on destination bucket for replication

Check for tag replication permission on destination bucket, so if
there was an explicit deny, donot include tags in the replicated
object.

Signed-off-by: Seena Fallah <seenafallah@gmail.com>
2 months agorgw: check for s3ReplicateObject perm on destination bucket for replication
Seena Fallah [Thu, 20 Feb 2025 23:56:28 +0000 (00:56 +0100)]
rgw: check for s3ReplicateObject perm on destination bucket for replication

Instead of s3:PutObject rely on s3:s3ReplicateObject permission to
check whether the user can replicate to the destination bucket.

Signed-off-by: Seena Fallah <seenafallah@gmail.com>
2 months agorgw: verify perm on delete replication
Seena Fallah [Thu, 20 Feb 2025 21:15:31 +0000 (22:15 +0100)]
rgw: verify perm on delete replication

Check for s3:ReplicateDelete for replicating object deletes and
delete markers when pipe is set to user mode.

Signed-off-by: Seena Fallah <seenafallah@gmail.com>
2 months agorgw: move RGWUserPermHandler to header
Seena Fallah [Sat, 22 Feb 2025 23:50:16 +0000 (00:50 +0100)]
rgw: move RGWUserPermHandler to header

So it can be used by others.

Signed-off-by: Seena Fallah <seenafallah@gmail.com>
2 months agorgw: weaning off RGWUserPermHandler from RGWDataSyncEnv
Seena Fallah [Thu, 20 Feb 2025 20:38:50 +0000 (21:38 +0100)]
rgw: weaning off RGWUserPermHandler from RGWDataSyncEnv

So it can be called by RGWAsyncRadosRequest classes not holding
sync_env.

Signed-off-by: Seena Fallah <seenafallah@gmail.com>
2 months agorgw: send bucket sync structs to bucket_sync.h
Seena Fallah [Sat, 22 Feb 2025 23:47:55 +0000 (00:47 +0100)]
rgw: send bucket sync structs to bucket_sync.h

So it can be imported by headers like rgw_cr_rados.h that already
has dependency to rgw_data_sync.h.

Signed-off-by: Seena Fallah <seenafallah@gmail.com>
2 months agorgw: drop unused params passed to RGWStatRemoteObjCR by RGWObjFetchCR
Seena Fallah [Wed, 19 Feb 2025 22:51:11 +0000 (23:51 +0100)]
rgw: drop unused params passed to RGWStatRemoteObjCR by RGWObjFetchCR

Signed-off-by: Seena Fallah <seenafallah@gmail.com>
2 months agoMerge pull request #56576 from pritha-srivastava/wip-rgw-assume-role-multisite
Shilpa Jagannath [Mon, 28 Apr 2025 16:45:13 +0000 (09:45 -0700)]
Merge pull request #56576 from pritha-srivastava/wip-rgw-assume-role-multisite

rgw/sts: correcting authentication in case s3 ops are directed to a primary from secondary after assumerole.

2 months agoqa/standalone/scrub: fix expected output in replicated repair tests
Ronen Friedman [Mon, 28 Apr 2025 16:34:47 +0000 (11:34 -0500)]
qa/standalone/scrub: fix expected output in replicated repair tests

Specifically - TEST_corrupt_scrub_replicated in osd-scrub-repair.sh.

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
2 months agoMerge pull request #63004 from dasJ/fix/ceph-volume-split
Guillaume Abrioux [Mon, 28 Apr 2025 15:02:14 +0000 (17:02 +0200)]
Merge pull request #63004 from dasJ/fix/ceph-volume-split

ceph-volume: Fix splitting with too many parts

2 months agoMerge pull request #63008 from bluikko/doc-compression-promptify-radosgw
Anthony D'Atri [Mon, 28 Apr 2025 14:58:46 +0000 (10:58 -0400)]
Merge pull request #63008 from bluikko/doc-compression-promptify-radosgw

doc/radosgw: Promptify CLI commands in compression.rst

2 months agoMerge pull request #63007 from bluikko/doc-keystone-formatting-radosgw
Anthony D'Atri [Mon, 28 Apr 2025 14:57:55 +0000 (10:57 -0400)]
Merge pull request #63007 from bluikko/doc-keystone-formatting-radosgw

doc/radosgw: Promptify commands and improve formatting in keystone.rst

2 months agoMerge pull request #63006 from bluikko/doc-bucketpolicy-formatting-radosgw
Anthony D'Atri [Mon, 28 Apr 2025 14:56:05 +0000 (10:56 -0400)]
Merge pull request #63006 from bluikko/doc-bucketpolicy-formatting-radosgw

doc/radosgw: Improve formatting in bucketpolicy.rst

2 months agodoc/radosgw/compression: separate RGW and RADOS pool level compression
Laimis Juzeliūnas [Fri, 25 Apr 2025 10:08:38 +0000 (13:08 +0300)]
doc/radosgw/compression: separate RGW and RADOS pool level compression

Add notes indicating a difference between compressions done by RGW and on RADOS pool level for better understanding.

Signed-off-by: Laimis Juzeliunas <laimis.juzeliunas@oxylabs.io>
Co-authored-by: Anthony D'Atri <anthonyeleven@users.noreply.github.com>
2 months agoMerge pull request #63009 from bluikko/doc-bucketpolicy-addedin-radosgw
Anthony D'Atri [Mon, 28 Apr 2025 14:34:19 +0000 (10:34 -0400)]
Merge pull request #63009 from bluikko/doc-bucketpolicy-addedin-radosgw

doc/radosgw: Use macro for release info in bucketpolicy.rst

2 months agoMerge PR #61796 into main
Patrick Donnelly [Mon, 28 Apr 2025 13:58:02 +0000 (09:58 -0400)]
Merge PR #61796 into main

* refs/pull/61796/head:
rgw/sts: Use client_id for assumerolewithwebidentityresponse
rgw/sts: adding validation of jwks_uri cert according
rgw/sts: fix to pick jwk which is of type
rgw/sts: adding code for JWT signature validation

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2 months agoqa/standalone/scrub: fix expected output in EC repair tests
Ronen Friedman [Mon, 28 Apr 2025 13:14:54 +0000 (08:14 -0500)]
qa/standalone/scrub: fix expected output in EC repair tests

Specifically - TEST_corrupt_scrub_erasure_* in osd-scrub-repair.sh.
This is required following recent changes to the EC code.

Fixes: https://tracker.ceph.com/issues/70851
Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
2 months agodoc/radosgw: Improve formatting in bucketpolicy.rst 63006/head
Ville Ojamo [Mon, 28 Apr 2025 09:44:32 +0000 (16:44 +0700)]
doc/radosgw: Improve formatting in bucketpolicy.rst

Add a missing empty line before an unordered list that
caused it to be rendered as just normal text in a
single paragraph, instead of a list.

Use inline code for CLI command names and other
such identifiers.

Capitalize "s3" correctly as "S3" when it refers to
the S3 service/API.

Signed-off-by: Ville Ojamo <14869000+bluikko@users.noreply.github.com>
2 months agoMerge pull request #62657 from jamiepryde/ec-plugins-tidying-nits-and-bits
Jamie Pryde [Mon, 28 Apr 2025 13:04:47 +0000 (14:04 +0100)]
Merge pull request #62657 from jamiepryde/ec-plugins-tidying-nits-and-bits

erasure-code: Handle review comments from #61804 to tidy up EC plugin changes

2 months agoMerge pull request #53365 from AliMasarweh/wip-alimasa-keystone-auth-rgw
Ali Masarwa [Mon, 28 Apr 2025 12:49:01 +0000 (15:49 +0300)]
Merge pull request #53365 from AliMasarweh/wip-alimasa-keystone-auth-rgw

RGW: When using Keystone auth for RGW, include the Keystone user in ops log

Reviewed-by: Matthew Benjamin <mbenjamin@redhat.com>
2 months agodoc/radosgw: Use macro for release info in bucketpolicy.rst 63009/head
Ville Ojamo [Mon, 28 Apr 2025 11:34:23 +0000 (18:34 +0700)]
doc/radosgw: Use macro for release info in bucketpolicy.rst

Don't spell out the release that added the feature, instead use RST
macro for it, like other documents do.

Signed-off-by: Ville Ojamo <14869000+bluikko@users.noreply.github.com>
2 months agodoc/radosgw: Promptify CLI commands in compression.rst 63008/head
Ville Ojamo [Mon, 28 Apr 2025 10:23:44 +0000 (17:23 +0700)]
doc/radosgw: Promptify CLI commands in compression.rst

Use the bash prompt block for example CLI command.
Separate command output from the CLI command.

Use the correct privileged bash prompt on an already
promptified example command, instead of an
unprivileged bash prompt.

Signed-off-by: Ville Ojamo <14869000+bluikko@users.noreply.github.com>
2 months agodoc/radosgw: Promptify commands and improve formatting in keystone.rst 63007/head
Ville Ojamo [Mon, 28 Apr 2025 10:02:32 +0000 (17:02 +0700)]
doc/radosgw: Promptify commands and improve formatting in keystone.rst

Use blocks with bash privileged command prompt for CLI
command examples. Separate example command output to a
preformatted block. Previously a hard-coded prompt in
some place inconsistently while no prompts in others.

Indent multi-line CLI command examples consistently.

Use Title Case consistency in section titles, instead
of some capitalized only first letter of title text.

Use double-backtick inline code for syntax strings,
HTTP header names etc as seems common.

Signed-off-by: Ville Ojamo <14869000+bluikko@users.noreply.github.com>
2 months agoceph-volume: Fix splitting with too many parts 63004/head
Janne Heß [Mon, 28 Apr 2025 09:04:25 +0000 (11:04 +0200)]
ceph-volume: Fix splitting with too many parts

The data can be anything and also contain a `=`, causing the line to
fail with `Too many values to unpack`. In my case, it failed with
`ID_FS_LABEL=pvc_name=rook-ceph-lvm-data-44f2gc`.

Regression was introduced here: https://github.com/ceph/ceph/pull/60006

Fixes: https://tracker.ceph.com/issues/71101
Signed-off-by: Janne Heß <janne@hess.ooo>
2 months agoMerge pull request #62860 from joscollin/wip-D70953-cephfs-journal-tool
Zac Dover [Mon, 28 Apr 2025 03:37:29 +0000 (13:37 +1000)]
Merge pull request #62860 from joscollin/wip-D70953-cephfs-journal-tool

doc: update cephfs-journal-tool docs

Reviewed-by: Zac Dover <zac.dover@proton.me>
2 months agoMerge pull request #62977 from tchaikov/mgr-std-variant
Kefu Chai [Mon, 28 Apr 2025 03:34:26 +0000 (11:34 +0800)]
Merge pull request #62977 from tchaikov/mgr-std-variant

mgr: migrate from boost::variant to std::variant

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
2 months agoMerge pull request #62975 from tchaikov/libcephfs_proxy-silence-warning
Kefu Chai [Mon, 28 Apr 2025 03:23:00 +0000 (11:23 +0800)]
Merge pull request #62975 from tchaikov/libcephfs_proxy-silence-warning

libcephfs_proxy: remove arithmetic on void*

Reviewed-by: Adam C. Emerson <aemerson@redhat.com>
Reviewed-by: Xavi Hernandez <xhernandez@gmail.com>
2 months agoMerge pull request #62991 from tchaikov/common-aligned_storage
Kefu Chai [Sun, 27 Apr 2025 23:52:29 +0000 (07:52 +0800)]
Merge pull request #62991 from tchaikov/common-aligned_storage

common: avoid using std::aligned_storage_t

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2 months agoMerge pull request #62996 from ronen-fr/wip-rf-testtoofast
Ronen Friedman [Sun, 27 Apr 2025 12:45:15 +0000 (15:45 +0300)]
Merge pull request #62996 from ronen-fr/wip-rf-testtoofast

osd/scrub: always round up reported scrub duration

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
2 months agomgr: migrate from boost::variant to std::variant 62977/head
Kefu Chai [Fri, 25 Apr 2025 15:53:08 +0000 (23:53 +0800)]
mgr: migrate from boost::variant to std::variant

Replace `boost::variant` with `std::variant` as part of our effort to reduce
third-party dependencies in favor of C++ standard library alternatives.

Benefits include:
- Improved code readability and maintainability
- Reduced external dependency surface
- More consistent API usage with other components

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2 months agocrimson: Create the shared promise before waited upon 62760/head
Mohit Agrawal [Mon, 14 Apr 2025 12:51:08 +0000 (18:21 +0530)]
crimson: Create the shared promise before waited upon

RecoveryBackend::pushes map creates each shared_promise
in wait_for_pushes call. There can be a situation where
set_pushed is called due to handled push reply (handle_push_reply)
before the shared_promise was even constructed due to backfill progress
is stuck.

Fixes: https://tracker.ceph.com/issues/70502
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Signed-off-by: Mohit Agrawal <moagrawa@redhat.com>