]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
2 months agocrimson/osd: Logging fixes 62847/head
Matan Breizman [Sun, 4 May 2025 14:22:38 +0000 (14:22 +0000)]
crimson/osd: Logging fixes

* Fix "failed to log message"
* PGRecovery move to new logging macro
* PGRecovery to print pg prefix as it's impossible to debug specific pg
  recovery ops without it.

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
2 months agocrimson/osd/pg: Let PGListener use start_peering_event_operation
Matan Breizman [Thu, 24 Apr 2025 07:57:00 +0000 (07:57 +0000)]
crimson/osd/pg: Let PGListener use start_peering_event_operation

PG::start_peering_event_operation is a template function while
PGRecovery::pg is of PGRecoveryListener* type. We can't expose a template
function through the PGRecoveryListener interface since it must be
also virtual.
Instead, introduce start_peering_event_operation_listener which will act
as a wrapper to PG::start_peering_event_operation for PGRecovery to use
freely.

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
2 months agocrimson/osd: Convert do_recovery() from bool to stop_iteration
Matan Breizman [Wed, 16 Apr 2025 12:24:31 +0000 (12:24 +0000)]
crimson/osd: Convert do_recovery() from bool to stop_iteration

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
2 months agocrimson/osd/pg_recovery: rewrite start_recovery_ops
Matan Breizman [Wed, 16 Apr 2025 11:58:51 +0000 (11:58 +0000)]
crimson/osd/pg_recovery: rewrite start_recovery_ops

We had few confusions around the return value from start_recovery_ops.
This commit is a groundwork for the return type change.

* Move to coroutines
* Update logging macro

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
2 months agoMerge pull request #62809 from rzarzynski/wip-bug-70878
SrinivasaBharathKanta [Sun, 4 May 2025 00:47:53 +0000 (06:17 +0530)]
Merge pull request #62809 from rzarzynski/wip-bug-70878

osd: fix init of op_queue_type_t due to returnable ceph_assert()

2 months agoMerge pull request #62705 from NitzanMordhai/wip-nitzan-pglog-missing-validation
SrinivasaBharathKanta [Sun, 4 May 2025 00:47:20 +0000 (06:17 +0530)]
Merge pull request #62705 from NitzanMordhai/wip-nitzan-pglog-missing-validation

osd_types: Restore new_object marking for delete missing entries

2 months agoMerge pull request #62873 from chardan/jfw-wip-rgw-support-catch2
Jesse Williamson [Fri, 2 May 2025 23:32:44 +0000 (16:32 -0700)]
Merge pull request #62873 from chardan/jfw-wip-rgw-support-catch2

Add Support for Catch2 unit tests

2 months agoAdd support for Catch2 62873/head
Jesse F. Williamson [Wed, 16 Apr 2025 21:56:14 +0000 (14:56 -0700)]
Add support for Catch2

Makes Catch2 available for C++ unit tests;
Adds GPM script availability to CMake.
Adds rudimentary test for rgw_hex.

Signed-off-by: Jesse F. Williamson <jfw@ibm.com>
2 months agoMerge pull request #63081 from clwluvw/admin-bucket-rm-err-code
Casey Bodley [Fri, 2 May 2025 13:04:06 +0000 (09:04 -0400)]
Merge pull request #63081 from clwluvw/admin-bucket-rm-err-code

rgw-admin: report correct error code for non-existent bucket on deletion

Reviewed-by: Shilpa Jagannath <smanjara@redhat.com>
2 months agoMerge pull request #62993 from cbodley/wip-71098
Casey Bodley [Fri, 2 May 2025 13:03:54 +0000 (09:03 -0400)]
Merge pull request #62993 from cbodley/wip-71098

rgw/multisite: rgw_forward_request_to_master() preserves Error responses

Reviewed-by: Seena Fallah <seenafallah@gmail.com>
Reviewed-by: Shilpa Jagannath <smanjara@redhat.com>
2 months agoMerge pull request #62903 from jzhu116-bloomberg/wip-70992
Casey Bodley [Fri, 2 May 2025 13:03:21 +0000 (09:03 -0400)]
Merge pull request #62903 from jzhu116-bloomberg/wip-70992

rgw: prefetch data from versioned object instance head

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2 months agoMerge pull request #62011 from kchheda3/wip-allow-multiple-rgws
Casey Bodley [Fri, 2 May 2025 13:03:02 +0000 (09:03 -0400)]
Merge pull request #62011 from kchheda3/wip-allow-multiple-rgws

rgw/frontend: Allow multiple RGWs to run on same port on same host

Reviewed-by: Adam C. Emerson <aemerson@redhat.com>
2 months agoMerge pull request #62851 from cbodley/wip-rgw-beast-async-disable
Casey Bodley [Fri, 2 May 2025 13:01:52 +0000 (09:01 -0400)]
Merge pull request #62851 from cbodley/wip-rgw-beast-async-disable

rgw: frontend reads/writes respect rgw_beast_enable_async

Reviewed-by: Matt Benjamin <mbenjamin@redhat.com>
2 months agoMerge PR #63083 into main
Patrick Donnelly [Fri, 2 May 2025 02:53:36 +0000 (22:53 -0400)]
Merge PR #63083 into main

* refs/pull/63083/head:
doc/cephfs: add snapshot name note

Reviewed-by: Anthony D Atri <anthony.datri@gmail.com>
2 months agodoc/cephfs: add snapshot name note 63083/head
Patrick Donnelly [Wed, 30 Apr 2025 20:55:18 +0000 (16:55 -0400)]
doc/cephfs: add snapshot name note

The charmap is not applied to snapshot names!

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
2 months agoMerge pull request #63056 from ronen-fr/wip-rf-fadvise
Ronen Friedman [Thu, 1 May 2025 15:37:23 +0000 (18:37 +0300)]
Merge pull request #63056 from ronen-fr/wip-rf-fadvise

osd/scrub: making Scrub's fadvide flags a constant

Reviewed-by: Alex Ainscow <aainscow@uk.ibm.com>
2 months agoMerge pull request #62805 from Matan-B/wip-matanb-rep-read-perfcount
Yuri Weinstein [Thu, 1 May 2025 14:42:40 +0000 (07:42 -0700)]
Merge pull request #62805 from Matan-B/wip-matanb-rep-read-perfcount

osd/PrimaryLogPG: Relax replicated reads when recovering

Reviewed-by: Samuel Just <sjust@redhat.com>
2 months agoMerge pull request #62866 from ifed01/wip-ifed-osd-bench-more-logging
Igor Fedotov [Thu, 1 May 2025 11:02:30 +0000 (14:02 +0300)]
Merge pull request #62866 from ifed01/wip-ifed-osd-bench-more-logging

osd: be more verbose in OSD::run_osd_bench_test

Reviewed-by: Sridhar Seshasayee <sseshasa@redhat.com>
2 months agoMerge pull request #63041 from cbodley/wip-qa-rgw-upgrade-goodbye-quincy
Casey Bodley [Wed, 30 Apr 2025 20:24:44 +0000 (16:24 -0400)]
Merge pull request #63041 from cbodley/wip-qa-rgw-upgrade-goodbye-quincy

qa/rgw: prepare for tentacle testing

Reviewed-by: J. Eric Ivancich <ivancich@redhat.com>
2 months agorgw-admin: report correct error code for non-existent bucket on deletion 63081/head
Seena Fallah [Wed, 30 Apr 2025 18:40:13 +0000 (20:40 +0200)]
rgw-admin: report correct error code for non-existent bucket on deletion

admin api should return the correct error code when the bucket doesn't
exist on bucket deletion. apparently a regression by 9ae2d8c4e95807179fc17f84be6754d2b19fe639.

Fixes: https://tracker.ceph.com/issues/71159
Signed-off-by: Seena Fallah <seenafallah@gmail.com>
2 months agoMerge pull request #62827 from afreen23/bump-version
Adam King [Wed, 30 Apr 2025 17:42:24 +0000 (13:42 -0400)]
Merge pull request #62827 from afreen23/bump-version

mgr/dashboard: Bump grafana version to 11.6.0

Reviewed-by: Adam King <adking@redhat.com>
2 months agoMerge pull request #63057 from bluikko/doc-rgw-capitalization-radosgw
Anthony D'Atri [Wed, 30 Apr 2025 16:08:10 +0000 (12:08 -0400)]
Merge pull request #63057 from bluikko/doc-rgw-capitalization-radosgw

doc/radosgw: Improve language, capitalization and use config database

2 months agodoc/radosgw: Improve language, capitalization and use config database 63057/head
Ville Ojamo [Wed, 30 Apr 2025 07:37:57 +0000 (14:37 +0700)]
doc/radosgw: Improve language, capitalization and use config database

Use "RADOS Gateway" instead of "Rados Gateway", "rados gateway" etc.
I am aware of the term "Ceph Object Gateway" but this change intends to
be an uncontroversial low hanging fruit fix of obviously incorrectly
capitalized terms.

Use "RGW daemon" instead of "Gateway", "Rados Gateway" etc.
Use "RGW instance" instead of "rados gateway" for consistency with
exactly similar other instance.
If referring obviously clearly to an instance of the daemon with an
obviously not preferred term, change it to "RGW daemon"; for example
when talking about restarting the RGW.
Do not touch other instances that are not 100% clear.

The files touched mostly do not use "Ceph Object Gateway" so changing
the term to it would create inconsistency, or several more changes
would need to be done to update all instances to use this terminology.

Use configuration database instead of ceph.conf in d3n_datacache.rst.

Improve language in d3n_datacache.rst.

Signed-off-by: Ville Ojamo <14869000+bluikko@users.noreply.github.com>
2 months agorgw/frontend: Allow multiple rgw's to run on same port on same host. 62011/head
kchheda3 [Wed, 26 Feb 2025 15:36:15 +0000 (10:36 -0500)]
rgw/frontend: Allow multiple rgw's to run on same port on same host.

The idea here is to leverage the `SO_REUSEPORT` param supported by kernel 3.9 and above, which allows the multiple services to run on the same port.

Signed-off-by: kchheda3 <kchheda3@bloomberg.net>
2 months agoMerge pull request #63064 from bluikko/doc-metrics-inlinecode-radosgw
Anthony D'Atri [Wed, 30 Apr 2025 14:52:56 +0000 (10:52 -0400)]
Merge pull request #63064 from bluikko/doc-metrics-inlinecode-radosgw

doc/radosgw: Use inline code for label syntax in metrics.rst

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 agodoc/radosgw: Language and use inline code for labels in metrics.rst 63064/head
Ville Ojamo [Wed, 30 Apr 2025 09:06:31 +0000 (16:06 +0700)]
doc/radosgw: Language and use inline code for labels in metrics.rst

Use inline code formatting for label syntax examples inside text.

Small improvements to language. Use all lower case for labels.

Signed-off-by: Ville Ojamo <14869000+bluikko@users.noreply.github.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 agoosd/scrub: making Scrub's fadvide flags a constant 63056/head
Ronen Friedman [Wed, 30 Apr 2025 07:00:25 +0000 (02:00 -0500)]
osd/scrub: making Scrub's fadvide flags a constant

Signed-off-by: Ronen Friedman <rfriedma@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 agotest/rgw/multisite: test error handling of forwarded s3:PutBucketPolicy 62993/head
Casey Bodley [Mon, 28 Apr 2025 17:00:00 +0000 (13:00 -0400)]
test/rgw/multisite: test error handling of forwarded s3:PutBucketPolicy

PutBucketPolicy doesn't parse the given policy until after it's
forwarded and applied on the master zone, so add a test that sends a
non-json policy document that will fail to parse

without the fix to rgw_forward_request_to_master(), the InvalidArgument
error Code is still mapped correctly, but the error Message is not
preserved:

>     assert e.response['Error']['Message']
> AssertionError

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2 months agotest/rgw/multisite: test error handling of forwarded iam:DeleteRole
Casey Bodley [Sun, 27 Apr 2025 16:44:40 +0000 (12:44 -0400)]
test/rgw/multisite: test error handling of forwarded iam:DeleteRole

DeleteRole's conflict handling happens after forwarding, so use
test_role_delete_sync() to test that forwarded 409 Conflict errors
preserve the DeleteConflict code and error message

without the fix to forward_iam_request_to_master(), DeleteRole instead
fails with:

> botocore.exceptions.ClientError: An error occurred (BucketNotEmpty) when calling the DeleteRole operation: None

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2 months agorgw/multisite: forward_iam_request_to_master() preserves ErrorResponse responses
Casey Bodley [Sun, 27 Apr 2025 14:49:54 +0000 (10:49 -0400)]
rgw/multisite: forward_iam_request_to_master() preserves ErrorResponse responses

same changes as rgw_forward_request_to_master(), except the <Error>
element is wrapped in a <ErrorResponse>

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2 months agorgw/multisite: rgw_forward_request_to_master() preserves Error responses
Casey Bodley [Sat, 26 Apr 2025 02:46:12 +0000 (22:46 -0400)]
rgw/multisite: rgw_forward_request_to_master() preserves Error responses

when a forwarded request fails on the master zone, the local zone should
return that same error response back to the client. this means
reproducing both the http error and the aws xml <Error> response

rgw_forward_request_to_master() stores these errors in s->err, and
set_req_state_err() now avoids overwriting existing an error

Fixes: https://tracker.ceph.com/issues/71098
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2 months agorgw/rest: RGWRESTConn::forward() prefers to return http errors
Casey Bodley [Sat, 26 Apr 2025 01:02:29 +0000 (21:02 -0400)]
rgw/rest: RGWRESTConn::forward() prefers to return http errors

callers need to distinguish between transport errors (a failure to
forward the request) and http errors (successfully forwarded and got a
response). forward() was losing this information by mapping any http
errors to errnos

use tl::expected to differentiate between transport errors and http
errors, with the latter being the successful/expected case

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2 months agorgw: remove unused RGWObjVersionTracker from RGWDeleteBucket
Casey Bodley [Tue, 29 Apr 2025 15:16:43 +0000 (11:16 -0400)]
rgw: remove unused RGWObjVersionTracker from RGWDeleteBucket

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2 months agorgw/rest: removed unused 'objv' from RGWRESTConn::forward()
Casey Bodley [Sun, 27 Apr 2025 14:17:09 +0000 (10:17 -0400)]
rgw/rest: removed unused 'objv' from RGWRESTConn::forward()

all callers of forward() and forward_iam_request() were passing null

Signed-off-by: Casey Bodley <cbodley@redhat.com>
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 agoqa/rgw/upgrade: add upgrade from tentacle 63041/head
Casey Bodley [Tue, 29 Apr 2025 13:41:44 +0000 (09:41 -0400)]
qa/rgw/upgrade: add upgrade from tentacle

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2 months agoqa/rgw/upgrade: add upgrade from squid
Casey Bodley [Tue, 29 Apr 2025 13:39:43 +0000 (09:39 -0400)]
qa/rgw/upgrade: add upgrade from squid

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2 months agoqa/rgw/upgrade: remove upgrade from reef
Casey Bodley [Tue, 29 Apr 2025 14:42:18 +0000 (10:42 -0400)]
qa/rgw/upgrade: remove upgrade from reef

Signed-off-by: Casey Bodley <cbodley@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 agoqa/rgw/upgrade: remove upgrade from quincy
Casey Bodley [Tue, 29 Apr 2025 13:36:16 +0000 (09:36 -0400)]
qa/rgw/upgrade: remove upgrade from quincy

Signed-off-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>