J. Eric Ivancich [Tue, 18 Mar 2025 18:33:42 +0000 (14:33 -0400)]
rgw: modify radoslist to better support the rgw-gap-list tool
When the `radosgw-admin bucket radoslist ...` sub-command was
introduced, it was written specifically for finding orphans. It has
since been updated to work for finding gaps, that is indexed RGW
objects that are missing one or more supporting rados objects.
When a head object was not found, it was ignored. Now it does produce
output with the oid and related information for the missing head
object.
Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
J. Eric Ivancich [Tue, 18 Mar 2025 18:31:05 +0000 (14:31 -0400)]
rgw: fix regression in radoslist with SLO manifests
A regression was inadvertently introduced in commit bcd7883d7212c96ebfb89c938c79fc7efbb80d2f that then prevented
`radosgw-admin bucket radoslist ...` from working properly with
buckets using SLO manifests. This corrects that regression.
Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
Nizamudeen A [Wed, 5 Mar 2025 16:46:03 +0000 (22:16 +0530)]
mgr/dashboard: fix access control permissions for roles
Since prometheus is being used in the dashboard page we need to make
sure every role has prometheus read only access so that the dashboard
page can load the utilization metrics.
I also saw permission issue with the osd settings endpoint when its
trying to get the nearfull/full ratio. so instead of failing the entire
page i am proceeding with a chart that doesn't have those details when
the user doesn't have permission to access the config opt.
Multisite page was not accessible in the case of rgw-manager or
read-only user because its trying to show the status of rgw module. This
si also now gracefully handled to show the alert only when the user has
sufficient permission.
Fixes: https://tracker.ceph.com/issues/70331 Signed-off-by: Nizamudeen A <nia@redhat.com>
Alex Ainscow [Wed, 19 Mar 2025 13:59:35 +0000 (13:59 +0000)]
test/common: skip google tests which create core dumps in test_interval_set
CI Pipelines are being broken because this test is creating a number of core dumps. This
does not make the test fail, but it does create some core dumps. This appears to be
breaking something in the CI pipeline. This commit is a workaround and I will find a
better solution later.
Fixes: https://tracker.ceph.com/issues/70543 Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
This commit fixes documentation about many-to-many topic relationship for notifications. The current sentence states the same fact twice instead of clarifying.
Ronen Friedman [Wed, 12 Mar 2025 09:26:54 +0000 (04:26 -0500)]
common: add cmd_getval_cast_or()
This slight variation of cmd_getval_or() can be used where
the object type is different from the configuration item
type (as when the object is a wrapper around an integer).
It allows specifying the 'default' value in the object type.
Fix a clang warning in proxy_async.c where an unsigned value was being
unnecessarily compared against 0:
```
/home/kefu/dev/ceph/src/libcephfs_proxy/proxy_async.c:29:12: warning: result of comparison of unsigned expression >= 0 is always true [-Wtautological-unsigned-zero-compare]
29 | if ((size >= 0) && !info->write) {
| ~~~~ ^ ~
1 warning generated.
```
Since unsigned values are always >= 0 by definition, remove this
tautological check to resolve the "-Wtautological-unsigned-zero-compare"
warning.
Laura Flores [Fri, 7 Mar 2025 06:22:00 +0000 (06:22 +0000)]
mon, osd: add command to remove invalid pg-upmap-primary entries
The current rm-pg-upmap-primary command checks that the pgid exists
in the pgmap before continuing to remove it. Due to https://tracker.ceph.com/issues/66867,
some invalid pg-upmap-primary entires may exist for pools that have been removed.
Currently, these mappings are impossible to remove since the pgids no longer
exist in the pgmap.
This new command, rm-pg-upmap-primary-all, allows users the ability to remove
any and all pg-upmap-primary mappings in the osdmap at once, which includes
valid and invalid entries.
This command may also be helpful when upgrading from versions where users
are plagued by https://tracker.ceph.com/issues/61948. Users may use an upgraded
mon to remove all pg-upmap-primray entries (valid and invalid) so they continue
to upgrade to a safe version.
See manual testing for this patch here: https://tracker.ceph.com/issues/67179#note-12
Fixes: https://tracker.ceph.com/issues/67179 Fixes: https://tracker.ceph.com/issues/69760 Signed-off-by: Laura Flores <lflores@ibm.com>
Vallari Agrawal [Mon, 17 Mar 2025 16:28:19 +0000 (21:58 +0530)]
monitoring: rename NVMeoFSingleGatewayGroup alert
Rename the alert to NVMeoFSingleGateway.
The original name was confusing because it
accidently might convey that alert would be
triggered if there is a single gateway group.
Though 'NVMeoFSingleGatewayGroup' alert means that
there is single gateway in a group.
Kefu Chai [Mon, 17 Mar 2025 09:52:25 +0000 (17:52 +0800)]
crypto: remove unused include
openssl_crypto_accel.cc does not need the declarations included by
openssl/engine.h, also, openssl/engine.h was deprecated in favor of
the provider API, the engine support was removed in fedora 41.
so, let's avoid including it. please note, the "ENGINE" struct's
definition is available in openssl/types.h.
Seena Fallah [Mon, 3 Mar 2025 16:16:55 +0000 (17:16 +0100)]
rgw: skip versioned entries to non-versioned buckets and vice-versa
As instance field is preserved while replicating, this can make
confusion for versioned buckets having non-versioned objects and
non-versioned buckets having versioned objects.
Seena Fallah [Thu, 6 Mar 2025 18:36:50 +0000 (19:36 +0100)]
rgw: reject PutBucketReplication on mismatched versioning and lock
Reject PutBucketReplication calls if versioning is not identical
between the source and destination buckets. This check also applies
to object lock configurations to ensure consistency.
Venky Shankar [Fri, 14 Mar 2025 14:07:28 +0000 (19:37 +0530)]
Merge PR #61877 into main
* refs/pull/61877/head:
libcephfs_proxy: implement client side async rw operation
libcephfs_proxy: implement server side async rw operation
libcephfs_proxy: implement the async rw callback
libcephfs_proxy: define async rw opcode and structures
libcephfs_proxy: define some helper macros for callbacks
libcephfs_proxy: move pointer obfuscation functions to proxy_helpers.h
libcephfs_proxy: negotiate and use the async cbk feature
libcephfs_proxy: implement asynchronous callbacks
libcephfs_proxy: gracefully handle connection close
libcephfs_proxy: add negotiation documentation
libcephfs_proxy: replace legacy handshake by negotation in server side
libcephfs_proxy: replace legacy handshake by negotation in client side
libcephfs_proxy: implement server side negotiation
libcephfs_proxy: implement client side negotiation
libcephfs_proxy: implement receiving of negotiate structure
libcephfs_proxy: add negotiation structures
libcephfs_proxy: add support for control messages
libcephfs_proxy: reuse proxy_link_{read|write}
Patrick Donnelly [Fri, 14 Mar 2025 12:29:12 +0000 (08:29 -0400)]
Merge PR #62228 into main
* refs/pull/62228/head:
libcephfs: getcwd after chdir for API constraint
client: unwrap dentries for getcwd
client: refactor / optimize chdir
test/libcephfs: test getcwd with case insensitive dir
test/libcephfs: refactor ManyNestedDirs
include/filepath: add iterators for components