]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
6 months agorgw: don't use merge_and_store_attrs() when recreating a bucket 61136/head
Casey Bodley [Wed, 18 Dec 2024 16:28:02 +0000 (11:28 -0500)]
rgw: don't use merge_and_store_attrs() when recreating a bucket

https://github.com/ceph/ceph/pull/56583 recently fixed
merge_and_store_attrs() to preserve existing attrs, but this broke the
swift api's ability to remove container metadata. RGWCreateBucket
handles this merging itself with prepare_add_del_attrs(), so we should
just assign createparams.attrs to the bucket and store it with
bucket->put_info()

make the same change for RGWPutMetadataBucket which swift uses to
add/remove existing metadata

Fixes: https://tracker.ceph.com/issues/69301
Signed-off-by: Casey Bodley <cbodley@redhat.com>
7 months agoMerge PR #61018 into main
Patrick Donnelly [Wed, 18 Dec 2024 14:33:50 +0000 (09:33 -0500)]
Merge PR #61018 into main

* refs/pull/61018/head:
msg/async/Event: make the pipe byte static

Reviewed-by: Patrick Donnelly <pdonnell@ibm.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
7 months agoMerge pull request #60771 from YaZasnyal/fix/complete-abort-mp
Casey Bodley [Wed, 18 Dec 2024 14:05:50 +0000 (09:05 -0500)]
Merge pull request #60771 from YaZasnyal/fix/complete-abort-mp

rgw/abortmp: Race condition on AbortMultipartUpload

Reviewed-by: Casey Bodley <cbodley@redhat.com>
7 months agoMerge pull request #60676 from awojno-bloomberg/rgw-admin-json
J. Eric Ivancich [Wed, 18 Dec 2024 13:56:33 +0000 (08:56 -0500)]
Merge pull request #60676 from awojno-bloomberg/rgw-admin-json

rgw-admin: Add --format option for bucket sync status

Reviewed-by: Adam Emerson <aemerson@redhat.com>
7 months agoMerge pull request #60970 from clwluvw/redirect-qs
J. Eric Ivancich [Wed, 18 Dec 2024 13:56:08 +0000 (08:56 -0500)]
Merge pull request #60970 from clwluvw/redirect-qs

rgw: append query string to redirect URL if present

Reviewed-by: Casey Bodley <cbodley@redhat.com>
7 months agoMerge pull request #60579 from clwluvw/empty-multidelete
J. Eric Ivancich [Wed, 18 Dec 2024 13:55:45 +0000 (08:55 -0500)]
Merge pull request #60579 from clwluvw/empty-multidelete

rgw: return MalformedXML for empty objects list in DeleteObjects

Reviewed-by: Casey Bodley <cbodley@redhat.com>
7 months agoMerge PR #60217 into main
Patrick Donnelly [Wed, 18 Dec 2024 13:33:56 +0000 (08:33 -0500)]
Merge PR #60217 into main

* refs/pull/60217/head:
CMakeLists.txt: do not compile {Objecter,Striper}.cc twice

Reviewed-by: Patrick Donnelly <pdonnell@ibm.com>
7 months agoMerge pull request #61091 from leonidc/wip-leonidc_publish_rebalance_index
leonidc [Wed, 18 Dec 2024 12:08:11 +0000 (14:08 +0200)]
Merge pull request #61091 from leonidc/wip-leonidc_publish_rebalance_index

nvmeofgw* : fix publishing rebalance index

7 months agoMerge pull request #60953 from zdover23/wip-doc-2024-12-04-radosgw-uadk-accel
Zac Dover [Wed, 18 Dec 2024 09:19:17 +0000 (19:19 +1000)]
Merge pull request #60953 from zdover23/wip-doc-2024-12-04-radosgw-uadk-accel

doc/radosgw: edit uadk-accel.rst

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
7 months agoMerge pull request #60976 from rhcs-dashboard/fix-69144-main
Pedro Gonzalez Gomez [Wed, 18 Dec 2024 08:20:40 +0000 (09:20 +0100)]
Merge pull request #60976 from rhcs-dashboard/fix-69144-main

mgr/dashboard: Fix Latency chart data units in rgw overview page

Reviewed-by: Afreen Misbah <afreen@ibm.com>
Reviewed-by: Pedro Gonzalez Gomez <pegonzal@redhat.com>
7 months agoMerge pull request #61115 from ronen-fr/wip-rf-tst-p-replicated
Ronen Friedman [Wed, 18 Dec 2024 06:42:57 +0000 (08:42 +0200)]
Merge pull request #61115 from ronen-fr/wip-rf-tst-p-replicated

qa/standalone/scrub: fix TEST_periodic_scrub_replicated

Reviewed-by: Laura Flores <lflores@redhat.com>
7 months agoMerge pull request #60863 from ronen-fr/wip-rf-deeperrors
Ronen Friedman [Wed, 18 Dec 2024 06:39:10 +0000 (08:39 +0200)]
Merge pull request #60863 from ronen-fr/wip-rf-deeperrors

osd/scrub: remove the 'has_deep_errors' scheduling flag

Reviewed-by: Samuel Just <sjust@redhat.com>
7 months agoMerge pull request #61122 from ceph/revert-61024-wip_ops-replayer_jfw-signedness...
J. Eric Ivancich [Wed, 18 Dec 2024 00:30:44 +0000 (19:30 -0500)]
Merge pull request #61122 from ceph/revert-61024-wip_ops-replayer_jfw-signedness-warning

Revert "ops_replayer: fix signed/unsigned warning and add parameter range checking."

Reviewed-by: Laura Flores <lflores@redhat.com>
7 months agoMerge pull request #56583 from pritha-srivastava/wip-rgw-del-bucket-tag
Casey Bodley [Tue, 17 Dec 2024 21:33:46 +0000 (16:33 -0500)]
Merge pull request #56583 from pritha-srivastava/wip-rgw-del-bucket-tag

rgw: fix to correctly store updated attrs in backend store after erasing an attr/attrs for delete ops on a bucket.

Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
Reviewed-by: Casey Bodley <cbodley@redhat.com>
7 months agoMerge pull request #60940 from rhcs-dashboard/rgw-user-accounts-api
Pedro Gonzalez Gomez [Tue, 17 Dec 2024 21:22:00 +0000 (22:22 +0100)]
Merge pull request #60940 from rhcs-dashboard/rgw-user-accounts-api

mgr/dashboard: RGW user accounts CRUD api's

Reviewed-by: Afreen Misbah <afreen@ibm.com>
Reviewed-by: Pedro Gonzalez Gomez <pegonzal@redhat.com>
7 months agoRevert "ops_replayer: fix signed/unsigned warning and add parameter range checking." 61122/head
Casey Bodley [Tue, 17 Dec 2024 18:58:32 +0000 (13:58 -0500)]
Revert "ops_replayer: fix signed/unsigned warning and add parameter range checking."

Signed-off-by: Casey Bodley <cbodley@redhat.com>
7 months agoMerge pull request #61024 from chardan/wip_ops-replayer_jfw-signedness-warning
Jesse Williamson [Tue, 17 Dec 2024 18:17:09 +0000 (10:17 -0800)]
Merge pull request #61024 from chardan/wip_ops-replayer_jfw-signedness-warning

ops_replayer: fix signed/unsigned warning and add parameter range checking.

7 months agoMerge pull request #60942 from AliMasarweh/wip-alimasa-bucket-logging-filter
Ali Masarwa [Tue, 17 Dec 2024 18:06:51 +0000 (20:06 +0200)]
Merge pull request #60942 from AliMasarweh/wip-alimasa-bucket-logging-filter

RGW/logging: add filtering for bucket logging

Reviewed-by: yuvalif<ylifshit@redhat.com>
7 months agoMerge pull request #60697 from AliMasarweh/wip-alimasa-bucket-logging-flush
Ali Masarwa [Tue, 17 Dec 2024 15:08:22 +0000 (17:08 +0200)]
Merge pull request #60697 from AliMasarweh/wip-alimasa-bucket-logging-flush

RGW/logging: add rest API to flush logging bucket

Reviewed-by: yuvalif<ylifshit@redhat.com>
7 months agoqa/standalone/scrub: fix TEST_periodic_scrub_replicated 61115/head
Ronen Friedman [Tue, 17 Dec 2024 13:51:48 +0000 (15:51 +0200)]
qa/standalone/scrub: fix TEST_periodic_scrub_replicated

A bogus change introduced as part of PR#54363 (commit
fbb7d73) changed multiple 'scrub' commands to 'scheduled-scrub'.
In this one instance - that was wrong.

Fixes: https://tracker.ceph.com/issues/69276
Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
7 months agoMerge pull request #59936 from anoopcs9/client-chown-statx-fixes
Milind Changire [Tue, 17 Dec 2024 11:18:24 +0000 (16:48 +0530)]
Merge pull request #59936 from anoopcs9/client-chown-statx-fixes

client: Handle empty pathnames for `ceph_chownat()` and `ceph_statxat()`

7 months agoRGW\logging: convert s3_filter to key_filter 60942/head
Ali Masarwa [Tue, 10 Dec 2024 13:09:50 +0000 (15:09 +0200)]
RGW\logging: convert s3_filter to key_filter

Signed-off-by: Ali Masarwa <amasarwa@redhat.com>
7 months agoRGW/logging: add filtering for bucket logging
Ali Masarwa [Sun, 1 Dec 2024 11:28:03 +0000 (13:28 +0200)]
RGW/logging: add filtering for bucket logging

Signed-off-by: Ali Masarwa <amasarwa@redhat.com>
7 months agoRGW/logging: add rest API to flush logging bucket 60697/head
Ali Masarwa [Mon, 11 Nov 2024 13:16:30 +0000 (15:16 +0200)]
RGW/logging: add rest API to flush logging bucket

Signed-off-by: Ali Masarwa <amasarwa@redhat.com>
7 months agonvmeofgw* : fix publishing rebalance index 61091/head
Leonid Chernin [Sun, 15 Dec 2024 11:45:59 +0000 (11:45 +0000)]
nvmeofgw* : fix publishing rebalance index

Signed-off-by: Leonid Chernin <leonidc@il.ibm.com>
7 months agoMerge pull request #60798 from rhcs-dashboard/edit-configuration-at-runtime
afreen23 [Tue, 17 Dec 2024 08:09:04 +0000 (13:39 +0530)]
Merge pull request #60798 from rhcs-dashboard/edit-configuration-at-runtime

mgr/dashboard: Administration > Configuration > rgw_dns_name and rgw_dns_s3website_name not updatable via dashboard

Reviewed-by: Afreen Misbah <afreen@ibm.com>
7 months agomgr/dashboard: Fix Latency chart data units in rgw overview page 60976/head
Aashish Sharma [Fri, 6 Dec 2024 09:57:25 +0000 (15:27 +0530)]
mgr/dashboard: Fix Latency chart data units in rgw overview page

Issue: The Latency chart in the rgw overview page shows incorrect data
unit as the unit that we are passing as an input to the dashboard-area
chart component is `ms` whereas the data that we get from the metrics is
in seconds. Due to this if we pass a value like 0.725s to
the dashboard chart component it will show the value in the chart as
0.725ms whereas it should be 725ms.

Fix: Pass the value in ms as expected to the dashboard area chart
component

Fixes: https://tracker.ceph.com/issues/69144
Signed-off-by: Aashish Sharma <aasharma@redhat.com>
7 months agoMerge pull request #60807 from baum/nvmeof_service_ports
baum [Tue, 17 Dec 2024 06:26:55 +0000 (08:26 +0200)]
Merge pull request #60807 from baum/nvmeof_service_ports

🧹cephadm/nvmeof: fix ports when default values are overridden

7 months agomgr/dashboard: RGW user accounts CRUD api's 60940/head
Naman Munet [Wed, 4 Dec 2024 09:38:42 +0000 (15:08 +0530)]
mgr/dashboard: RGW user accounts CRUD api's

Fixes: https://tracker.ceph.com/issues/69110
PR Changes:
Added CRUD & managing quota endpoints for RGW user accounts management with the unit-tests

Signed-off-by: Naman Munet <namanmunet@li-ff83bccc-26af-11b2-a85c-a4b04bfb1003.ibm.com>
7 months agoMerge pull request #61106 from ivancich/wip-fix-hadoop-java
J. Eric Ivancich [Tue, 17 Dec 2024 05:00:06 +0000 (00:00 -0500)]
Merge pull request #61106 from ivancich/wip-fix-hadoop-java

qa/rgw: force Hadoop to run under Java 1.8

Reviewed-by: Casey Bodley <cbodley@redhat.com>
7 months agoMerge PR #59736 into main
Venky Shankar [Tue, 17 Dec 2024 04:18:34 +0000 (09:48 +0530)]
Merge PR #59736 into main

* refs/pull/59736/head:
deb: Add cephfs.pc to libcephfs-dev
rpm: Add cephfs.pc to libcephfs-devel
cephfs: Add a pkgconfig file for libcephfs

Reviewed-by: Venky Shankar <vshankar@redhat.com>
Reviewed-by: Dan Mick <dmick@redhat.com>
7 months agocephadm/nvmeof: fix ports when default values are overridden 60807/head
Alexander Indenbaum [Sat, 23 Nov 2024 15:21:11 +0000 (15:21 +0000)]
cephadm/nvmeof: fix ports when default values are overridden

Signed-off-by: Alexander Indenbaum <aindenba@redhat.com>
7 months agoMerge pull request #60806 from baum/nvmeof_addr_map
baum [Tue, 17 Dec 2024 03:32:14 +0000 (05:32 +0200)]
Merge pull request #60806 from baum/nvmeof_addr_map

cephadm/nvmeof: support per-node gateway addresses

7 months agoMerge pull request #61031 from phlogistonjohn/jjm-rm-assigned-only
Casey Bodley [Mon, 16 Dec 2024 19:10:07 +0000 (14:10 -0500)]
Merge pull request #61031 from phlogistonjohn/jjm-rm-assigned-only

test/fio: remove assign-only variable

Reviewed-by: Casey Bodley <cbodley@redhat.com>
7 months agoMerge pull request #61030 from phlogistonjohn/jjm-remove-unused-var
Casey Bodley [Mon, 16 Dec 2024 19:09:54 +0000 (14:09 -0500)]
Merge pull request #61030 from phlogistonjohn/jjm-remove-unused-var

test/cls_log: remove unused variable

Reviewed-by: Casey Bodley <cbodley@redhat.com>
7 months agoFix signed/unsigned warning and add parameter range checking. 61024/head
Jesse F. Williamson [Mon, 9 Dec 2024 18:27:00 +0000 (10:27 -0800)]
Fix signed/unsigned warning and add parameter range checking.

Signed-off-by: Jesse F. Williamson <1643380+chardan@users.noreply.github.com>
7 months agoqa/rgw: force Hadoop to run under Java 1.8 61106/head
J. Eric Ivancich [Mon, 16 Dec 2024 18:21:35 +0000 (13:21 -0500)]
qa/rgw: force Hadoop to run under Java 1.8

The Hadoop test installs Java 1.8 but then just runs the default
version. This makes sure it will run the version it installed.

Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
7 months agoMerge pull request #61005 from athanatos/sjust/wip-crimson-io-3
Samuel Just [Mon, 16 Dec 2024 18:19:53 +0000 (10:19 -0800)]
Merge pull request #61005 from athanatos/sjust/wip-crimson-io-3

crimson: rework request pipeline to allow for per-object processing

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
7 months agoMerge pull request #56756 from clwluvw/head-bucket-stats
Casey Bodley [Mon, 16 Dec 2024 17:38:42 +0000 (12:38 -0500)]
Merge pull request #56756 from clwluvw/head-bucket-stats

rgw: allow disabling bucket stats on head bucket

Reviewed-by: Casey Bodley <cbodley@redhat.com>
7 months agoMerge pull request #45384 from ifed01/wip-ifed-fragmentation-command
Igor Fedotov [Mon, 16 Dec 2024 17:34:37 +0000 (20:34 +0300)]
Merge pull request #45384 from ifed01/wip-ifed-fragmentation-command

tool/ceph-bluestore-tool: fix wrong keyword for 'free-fragmentation' …

Reviewed-by: Adam Kupczyk <akupczyk@ibm.com>
7 months agocephadm/nvmeof: support per-node gateway addresses 60806/head
Alexander Indenbaum [Sat, 23 Nov 2024 14:15:32 +0000 (14:15 +0000)]
cephadm/nvmeof: support per-node gateway addresses

Added gateway and discovery address maps to the service specification.
These maps store per-node service addresses. The address is first searched
in the map, then in the spec address configuration. If neither is defined,
the host IP is used as a fallback.

Signed-off-by: Alexander Indenbaum <aindenba@redhat.com>
7 months agoMerge pull request #60429 from VVoidV/lbr-fix-formatter
Casey Bodley [Mon, 16 Dec 2024 17:13:04 +0000 (12:13 -0500)]
Merge pull request #60429 from VVoidV/lbr-fix-formatter

<common> fix formatter buffer out-of-bounds

Reviewed-by: Casey Bodley <cbodley@redhat.com>
7 months agoMerge pull request #60499 from clwluvw/bucket-layout-output
Casey Bodley [Mon, 16 Dec 2024 17:12:40 +0000 (12:12 -0500)]
Merge pull request #60499 from clwluvw/bucket-layout-output

rgw: fix json output for bucket layout

Reviewed-by: Casey Bodley <cbodley@redhat.com>
7 months agoMerge pull request #60923 from mkogan1/wip-rgs-rr
Casey Bodley [Mon, 16 Dec 2024 17:12:22 +0000 (12:12 -0500)]
Merge pull request #60923 from mkogan1/wip-rgs-rr

rgw: respect rgw_graceful_stop on realm reload

Reviewed-by: Casey Bodley <cbodley@redhat.com>
7 months agoMerge pull request #60624 from pritha-srivastava/wip-rgw-sts-auth-unsupported-algo
Casey Bodley [Mon, 16 Dec 2024 17:12:01 +0000 (12:12 -0500)]
Merge pull request #60624 from pritha-srivastava/wip-rgw-sts-auth-unsupported-algo

rgw/sts: fix to disallow unsupported JWT algorithms

Reviewed-by: Casey Bodley <cbodley@redhat.com>
7 months agoMerge pull request #60288 from oshrey16/main
Casey Bodley [Mon, 16 Dec 2024 17:11:42 +0000 (12:11 -0500)]
Merge pull request #60288 from oshrey16/main

rgw/dbstore: Cleanup - use unique_ptr instead of new/delete in DBZone

Reviewed-by: Yuval Lifshitz <ylifshit@ibm.com>
7 months agoMerge pull request #60197 from rzarzynski/wip-bug-53751
Yuri Weinstein [Mon, 16 Dec 2024 17:06:28 +0000 (09:06 -0800)]
Merge pull request #60197 from rzarzynski/wip-bug-53751

tools: respect set features when adding addresses

Reviewed-by: Laura Flores <lflores@redhat.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
7 months agomgr/dashboard: Administration > Configuration > Some of the config options are not... 60798/head
Naman Munet [Fri, 22 Nov 2024 09:57:44 +0000 (15:27 +0530)]
mgr/dashboard: Administration > Configuration > Some of the config options are not updatable at runtime

Fixes: https://tracker.ceph.com/issues/68976
Fixes Includes:
1) by-passing 'can_update_at_runtime' flag for 'rgw' related configurations as the same can be updated at runtime via CLI.
Also implemented a warning popup for user to make force edit to rgw related configurations.
2) when navigated to Administration >> Configuration, modified configuration will be seen as we see in cli "ceph config dump",
instead of configuration with filter level:basic

Signed-off-by: Naman Munet <naman.munet@ibm.com>
7 months agoMerge pull request #61085 from ivancich/wip-fix-apache-pulls
J. Eric Ivancich [Mon, 16 Dec 2024 16:06:12 +0000 (11:06 -0500)]
Merge pull request #61085 from ivancich/wip-fix-apache-pulls

qa/rgw: pull Apache artifacts from mirror instead of archive.apache.org

Reviewed-by: Casey Bodley <cbodley@redhat.com>
7 months agorgw: RGWAbortMultipart maps NoSuchKey to NoSuchUpload 60771/head
Casey Bodley [Mon, 16 Dec 2024 15:04:29 +0000 (10:04 -0500)]
rgw: RGWAbortMultipart maps NoSuchKey to NoSuchUpload

Signed-off-by: Casey Bodley <cbodley@redhat.com>
7 months agoMerge pull request #60820 from rhcs-dashboard/update-carbon-components
afreen23 [Mon, 16 Dec 2024 14:47:14 +0000 (20:17 +0530)]
Merge pull request #60820 from rhcs-dashboard/update-carbon-components

mgr/dashboard: update carbon-components-angular package

Reviewed-by: Afreen Misbah <afreen@ibm.com>
7 months agoMerge pull request #60941 from rhcs-dashboard/addPortsInAdminTable
afreen23 [Mon, 16 Dec 2024 14:12:35 +0000 (19:42 +0530)]
Merge pull request #60941 from rhcs-dashboard/addPortsInAdminTable

mgr/dashboard: added ports in administration table

Reviewed-by: Afreen Misbah <afreen@ibm.com>
7 months agoMerge pull request #60873 from rhcs-dashboard/fix-69074-main
afreen23 [Mon, 16 Dec 2024 11:04:22 +0000 (16:34 +0530)]
Merge pull request #60873 from rhcs-dashboard/fix-69074-main

mgr/dashboard: Add ceph_daemon filter to rgw overview grafana panel queries

Reviewed-by: Afreen Misbah <afreen@ibm.com>
7 months agoMerge pull request #61012 from rhcs-dashboard/fix-69172-main
afreen23 [Mon, 16 Dec 2024 11:02:38 +0000 (16:32 +0530)]
Merge pull request #61012 from rhcs-dashboard/fix-69172-main

mgr/dashboard: Show correct token expiration date in Manage Clusters page

Reviewed-by: Afreen Misbah <afreen@ibm.com>
7 months agoMerge pull request #60796 from rhcs-dashboard/fix-69016-main
afreen23 [Mon, 16 Dec 2024 11:00:57 +0000 (16:30 +0530)]
Merge pull request #60796 from rhcs-dashboard/fix-69016-main

mgr/dashboard: Display bucket's number of shards on the ceph dashboard

Reviewed-by: Afreen Misbah <afreen@ibm.com>
7 months agoMerge pull request #60635 from cah-hbaum/fix-subuser-creation-via-dashboard
afreen23 [Mon, 16 Dec 2024 08:37:25 +0000 (14:07 +0530)]
Merge pull request #60635 from cah-hbaum/fix-subuser-creation-via-dashboard

mgr: fix subuser creation via dashboard

Reviewed-by: Afreen Misbah <afreen@ibm.com>
7 months agodeb: Add cephfs.pc to libcephfs-dev 59736/head
Anoop C S [Wed, 11 Sep 2024 11:13:33 +0000 (16:43 +0530)]
deb: Add cephfs.pc to libcephfs-dev

Signed-off-by: Anoop C S <anoopcs@cryptolab.net>
7 months agorpm: Add cephfs.pc to libcephfs-devel
Anoop C S [Wed, 11 Sep 2024 11:06:27 +0000 (16:36 +0530)]
rpm: Add cephfs.pc to libcephfs-devel

Signed-off-by: Anoop C S <anoopcs@cryptolab.net>
7 months agocephfs: Add a pkgconfig file for libcephfs
Anoop C S [Wed, 11 Sep 2024 10:38:12 +0000 (16:08 +0530)]
cephfs: Add a pkgconfig file for libcephfs

It would really help external consumers to collectively figure out all
required parameters to link, build or load with libcephfs from a single
source of truth.

Signed-off-by: Anoop C S <anoopcs@cryptolab.net>
7 months agoMerge PR #60667 into main
Venky Shankar [Mon, 16 Dec 2024 06:06:07 +0000 (11:36 +0530)]
Merge PR #60667 into main

* refs/pull/60667/head:
cephfs-mirror: remove redundant ceph_close() calls.
cephfs/client: dir_reset_t::reset() - add missing fd reset.

Reviewed-by: Jos Collin <jcollin@redhat.com>
7 months agoMerge pull request #61079 from idryomov/wip-69178
Ilya Dryomov [Sun, 15 Dec 2024 20:57:48 +0000 (21:57 +0100)]
Merge pull request #61079 from idryomov/wip-69178

librbd/migration/HttpClient: avoid reusing ssl_stream after shut down

Reviewed-by: Ramana Raja <rraja@redhat.com>
7 months agoMerge pull request #60964 from cyx1231st/wip-crimson-msgr-debug
Matan Breizman [Sun, 15 Dec 2024 10:32:12 +0000 (12:32 +0200)]
Merge pull request #60964 from cyx1231st/wip-crimson-msgr-debug

crimson/net: log adjustment / enable ms debug

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
7 months agoqa/rgw: pull Apache artifacts from mirror instead of archive.apache.org 61085/head
J. Eric Ivancich [Fri, 13 Dec 2024 20:47:30 +0000 (15:47 -0500)]
qa/rgw: pull Apache artifacts from mirror instead of archive.apache.org

Currently maven and kafka are pulled from archive.apache.org. This
uses Apache's "closer" calculator to find a mirror to use instead.

Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
7 months agodoc/dev/crimson/pipeline.rst: simplify and update to reflect new stages 61005/head
Samuel Just [Fri, 13 Dec 2024 01:37:28 +0000 (17:37 -0800)]
doc/dev/crimson/pipeline.rst: simplify and update to reflect new stages

This commit updates pipeline.rst to include some basic information about
how the pipeline stages now work.  I've removed the explicit listing of
the different stages as I'd rather readers refer to the actual
implementation for those details to avoid them getting out of date.

I also removed the comparison to classic as the approach has now diverged
quite a bit and I feel that the ordering part is more important to focus
on than the points at which processing might block.

Signed-off-by: Samuel Just <sjust@redhat.com>
7 months agocrimson: remove now unused pipeline stages
Samuel Just [Wed, 27 Nov 2024 03:11:38 +0000 (19:11 -0800)]
crimson: remove now unused pipeline stages

Signed-off-by: Samuel Just <sjust@redhat.com>
7 months agocrimson: introduce and use repop stage
Samuel Just [Wed, 27 Nov 2024 02:22:16 +0000 (18:22 -0800)]
crimson: introduce and use repop stage

Repops previously used PGPipeline::await_map.  This is actually
important as we need them to be processed in order.  However, using
await_map was confusing and using a single exclusive stage is decidedly
unoptimal as we could allow pipelineing on write commit.  For now, move
them over to their own pipeline stage so we can remove the PGPipeline
struct entirely.  Later, we'll improve replica write pipelining for
better replica-side write concurrency.

Signed-off-by: Samuel Just <sjust@redhat.com>
7 months agocrimson/osd/object_context_loader: print obc (with refcount) upon release
Samuel Just [Wed, 20 Nov 2024 02:55:28 +0000 (18:55 -0800)]
crimson/osd/object_context_loader: print obc (with refcount) upon release

Signed-off-by: Samuel Just <sjust@redhat.com>
7 months agocrimson/.../pg: more debugging
Samuel Just [Wed, 20 Nov 2024 02:38:07 +0000 (02:38 +0000)]
crimson/.../pg: more debugging

Signed-off-by: Samuel Just <sjust@redhat.com>
7 months agocrimson/.../ops_executer: split execute_clone into prepare_cloning_ctx,complete_cloni...
Samuel Just [Sat, 16 Nov 2024 02:50:33 +0000 (02:50 +0000)]
crimson/.../ops_executer: split execute_clone into prepare_cloning_ctx,complete_cloning_ctx

We need to defer versioning the clone oi and log entry until
commit time while ensuring that the clone operation occurs
first in the transaction.

Signed-off-by: Samuel Just <sjust@redhat.com>
7 months agocrimson/.../ops_executer: split osd_op_params intitialization
Samuel Just [Thu, 14 Nov 2024 22:07:53 +0000 (14:07 -0800)]
crimson/.../ops_executer: split osd_op_params intitialization

We want to emplace and initialize osd_op_params upon first write,
but we don't want to fill at_version, pg_trim_to, pg_committed_to,
or last_complete until prepare_transaction because we don't want to
require a particular commit order any earlier than we have to.

Signed-off-by: Samuel Just <sjust@redhat.com>
7 months agocrimson/.../ops_executer: rework prepare_transaction/mutate_object
Samuel Just [Fri, 15 Nov 2024 02:08:10 +0000 (18:08 -0800)]
crimson/.../ops_executer: rework prepare_transaction/mutate_object

That the log entry's verison matches the object_info on the actual
object is a pretty core invariant.  This commit moves creating the
log entry for head and populating the metadata into
OpsExecuter::prepare_head_update.

As a side effect, flush_clone_metadata and CloningCtx::apply_to
were removed and split between prepare_head_update (portions
related to the head's ssc) and flush_changes_and_submit.

Signed-off-by: Samuel Just <sjust@redhat.com>
7 months agocrimson/.../ops_executer: just call submit_transaction in flush_changes_n_do_ops_effects
Samuel Just [Fri, 15 Nov 2024 01:32:03 +0000 (17:32 -0800)]
crimson/.../ops_executer: just call submit_transaction in flush_changes_n_do_ops_effects

Templating MutFunc was pretty confusing, and flush_changes_n_do_ops_effects
is already closely coupled to PG::submit_transaction.

Signed-off-by: Samuel Just <sjust@redhat.com>
7 months agocrimson/.../ops_executer: rename flush_changes_n_do_effects to flush_changes_and_submit
Samuel Just [Fri, 15 Nov 2024 01:31:34 +0000 (01:31 +0000)]
crimson/.../ops_executer: rename flush_changes_n_do_effects to flush_changes_and_submit

Signed-off-by: Samuel Just <sjust@redhat.com>
7 months agocrimson/.../pg_backend: split clone into clone_for_write, set_metadata
Samuel Just [Fri, 15 Nov 2024 00:53:50 +0000 (16:53 -0800)]
crimson/.../pg_backend: split clone into clone_for_write, set_metadata

Signed-off-by: Samuel Just <sjust@redhat.com>
7 months agocrimson: convert client_request, internal_client_request, snaptrim_event to use obc...
Samuel Just [Thu, 24 Oct 2024 23:39:46 +0000 (16:39 -0700)]
crimson: convert client_request, internal_client_request, snaptrim_event to use obc stages

Signed-off-by: Samuel Just <sjust@redhat.com>
7 months agocrimson/.../osd_operation*: add wait_pg_ready and get_obc
Samuel Just [Wed, 27 Nov 2024 01:49:08 +0000 (01:49 +0000)]
crimson/.../osd_operation*: add wait_pg_ready and get_obc

Signed-off-by: Samuel Just <sjust@redhat.com>
7 months agocrimson: add CommonOBCPipeline
Samuel Just [Thu, 24 Oct 2024 23:35:31 +0000 (16:35 -0700)]
crimson: add CommonOBCPipeline

Signed-off-by: Samuel Just <sjust@redhat.com>
7 months agocrimson: expose CommonOBCPipeline via ObjectContextLoader::Orderer
Samuel Just [Thu, 24 Oct 2024 23:33:56 +0000 (16:33 -0700)]
crimson: expose CommonOBCPipeline via ObjectContextLoader::Orderer

- adds ObjectContext::obc_pipeline
- exposes ObjectContext::obc_pipeline via ObjectContextLoader::Orderer
- allows obcs to be in the registry without being loaded
- adds ObjectContext::loading bool to signal that loading has begun

Signed-off-by: Samuel Just <sjust@redhat.com>
7 months agoMerge pull request #61034 from aclamk/wip-aclamk-jenkins-reduced-unittest-bluefs
Adam Kupczyk [Fri, 13 Dec 2024 16:57:31 +0000 (17:57 +0100)]
Merge pull request #61034 from aclamk/wip-aclamk-jenkins-reduced-unittest-bluefs

os/bluestore: Make some unittest_bluefs runs lighter on jenkins

7 months agoMerge pull request #61077 from zdover23/wip-doc-2024-12-13-mount-using-kernel-driver...
Zac Dover [Fri, 13 Dec 2024 15:02:16 +0000 (01:02 +1000)]
Merge pull request #61077 from zdover23/wip-doc-2024-12-13-mount-using-kernel-driver-main-3

doc/cephfs: edit 3rd 3rd of mount-using-kernel-driver

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
7 months agorgw: allow disabling bucket stats on head bucket 56756/head
Seena Fallah [Mon, 8 Apr 2024 13:06:14 +0000 (15:06 +0200)]
rgw: allow disabling bucket stats on head bucket

The HeadBucket API now reports the `X-RGW-Bytes-Used` and
`X-RGW-Object-Count` headers only when the `read-stats` querystring
is explicitly included in the API request.

Fixes: https://tracker.ceph.com/issues/65369
Signed-off-by: Seena Fallah <seenafallah@gmail.com>
7 months agodoc/cephfs: edit 3rd 3rd of mount-using-kernel-driver 61077/head
Zac Dover [Fri, 13 Dec 2024 06:12:49 +0000 (16:12 +1000)]
doc/cephfs: edit 3rd 3rd of mount-using-kernel-driver

Edit the third third of doc/cephfs/mount-using-kernel-driver.rst in
preparation for correcting mount commands that may not work in Reef as
described in this documentation.

This commit edits only English-language strings in
doc/cephfs/mount-using-kernel-driver.rst. No technical content (that is,
no commands and no settings) have been altered in this commit.

Technical alterations to this file will be made only after the English
is unambiguous.

This PR follows the following two PRs:
https://github.com/ceph/ceph/pull/61048 - 1st 3rd
https://github.com/ceph/ceph/pull/61049 - 2nd 3rd

Co-authored-by: Anthony D'Atri <anthony.datri@gmail.com>
Signed-off-by: Zac Dover <zac.dover@proton.me>
7 months agolibrbd/migration/HttpClient: socket isn't shut down on some state transitions 61079/head
Ilya Dryomov [Thu, 12 Dec 2024 20:32:39 +0000 (21:32 +0100)]
librbd/migration/HttpClient: socket isn't shut down on some state transitions

If shut_down() gets delayed until a) the state transition from
STATE_RESET_CONNECTING completes and the reconnect is unsuccessful or
b) the state transition from STATE_RESET_DISCONNECTING completes (i.e.
next_state is STATE_UNINITIALIZED or STATE_RESET_CONNECTING), the
socket needs to be shut down before m_on_shutdown is invoked.  The line
of thought here is the same as for the corresponding state transitions
that don't involve STATE_SHUTTING_DOWN.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
7 months agolibrbd/migration/HttpClient: avoid hitting an assert in advance_state()
Ilya Dryomov [Wed, 11 Dec 2024 15:25:13 +0000 (16:25 +0100)]
librbd/migration/HttpClient: avoid hitting an assert in advance_state()

If the shutdown gets delayed until the state transition from
STATE_RESET_CONNECTING completes and the reconnect is successful
(i.e. next_state is STATE_READY), we eventually hit "unexpected
state transition" assert in advance_state().  The reason is that
advance_state() would update m_state and call disconnect() under
STATE_READY instead of STATE_SHUTTING_DOWN.  After the disconnect
maybe_finalize_shutdown() would enter advance_state() again with
STATE_SHUTDOWN as next_state, but the transition to that from
STATE_READY is invalid.

Plug this by not transitioning to next_state if current_state is
STATE_SHUTTING_DOWN.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
7 months agolibrbd/migration/HttpClient: ignore stream_truncated when shutting down SSL
Ilya Dryomov [Mon, 9 Dec 2024 10:19:57 +0000 (11:19 +0100)]
librbd/migration/HttpClient: ignore stream_truncated when shutting down SSL

Propagate ec to handle_disconnect() and use it to suppress
stream_truncated errors.  Here is a quote from Beast documentation [1]:

  // Gracefully shutdown the SSL/TLS connection
  error_code ec;
  stream.shutdown(ec);
  // Non-compliant servers don't participate in the SSL/TLS shutdown process and
  // close the underlying transport layer. This causes the shutdown operation to
  // complete with a `stream_truncated` error. One might decide not to log such
  // errors as there are many non-compliant servers in the wild.
  if(ec != net::ssl::error::stream_truncated)
      log(ec);

... and a commit that made ignoring stream_truncated safe [2]:

  // ssl::error::stream_truncated, also known as an SSL "short read",
  // indicates the peer closed the connection without performing the
  // required closing handshake
  // [...]
  // When a short read would cut off the end of an HTTP message,
  // Beast returns the error beast::http::error::partial_message.
  // Therefore, if we see a short read here, it has occurred
  // after the message has been completed, so it is safe to ignore it.

[1] https://www.boost.org/doc/libs/develop/libs/beast/doc/html/beast/using_io/ssl_tls_shutdown.html
[2] https://github.com/boostorg/beast/commit/094f5ec5cb3be1c3ce2d985564f1f39e9bed74ff

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
7 months agolibrbd/migration/HttpClient: propagate ec to handle_handshake()
Ilya Dryomov [Sat, 7 Dec 2024 11:37:29 +0000 (12:37 +0100)]
librbd/migration/HttpClient: propagate ec to handle_handshake()

Get rid of get_callback_adapter() which only obfuscates the error:

  handle_handshake: failed to complete SSL handshake: (337047686) Unknown error 337047686

vs

  handle_handshake: failed to complete SSL handshake: certificate verify failed (SSL routines, tls_process_server_certificate)

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
7 months agolibrbd/migration/HttpClient: drop SslHttpSession::m_ssl_enabled
Ilya Dryomov [Sat, 7 Dec 2024 12:52:41 +0000 (13:52 +0100)]
librbd/migration/HttpClient: drop SslHttpSession::m_ssl_enabled

The remaining callers of disconnect() call it only when m_ssl_enabled
is set to true (i.e. after the handshake is completed):

- shut_down(), in STATE_READY
- maybe_finalize_reset(), very shortly after transitioning out of
  STATE_READY as part of performing a reset
- advance_state(), on a transition to STATE_READY that is intercepted
  by a previously delayed shut down

m_ssl_enabled isn't used outside of disconnect() and on top of that
is never cleared.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
7 months agolibrbd/migration/HttpClient: don't call disconnect() in handle_handshake()
Ilya Dryomov [Sat, 7 Dec 2024 11:22:52 +0000 (12:22 +0100)]
librbd/migration/HttpClient: don't call disconnect() in handle_handshake()

With m_ssl_enabled set to false, disconnect() is a no-op.  Since
m_ssl_enabled is flipped to true only when the handshake succeeds,
calling disconnect() on "failed to complete handshake" error is bogus
(as would be attempting to shut down SSL there).

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
7 months agolibrbd/migration/HttpClient: avoid reusing ssl_stream after shut down
Ilya Dryomov [Fri, 6 Dec 2024 15:51:51 +0000 (16:51 +0100)]
librbd/migration/HttpClient: avoid reusing ssl_stream after shut down

ssl_stream objects can't be reused after shut down: despite
a successful reconnect and handshake, any attempt to read or write
fails with "end of stream" (beast.http:1) or "protocol is shutdown"
(asio.ssl:337690831) error respectively.  This doesn't appear to be
documented, but Beast and ASIO authors both mention that the stream
must be destroyed and recreated [1][2].

This was missed because the only integration test with a big enough
image used http instead of https.

[1] https://github.com/boostorg/beast/issues/821#issuecomment-338354949
[2] https://github.com/chriskohlhoff/asio/issues/804#issuecomment-872746894

Fixes: https://tracker.ceph.com/issues/69178
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
7 months agolibrbd/migration/HttpClient: don't shut down socket in resolve_host()
Ilya Dryomov [Fri, 6 Dec 2024 13:42:55 +0000 (14:42 +0100)]
librbd/migration/HttpClient: don't shut down socket in resolve_host()

resolve_host() is called from init() and issue() when transitioning out
of STATE_UNINITIALIZED and from advance_state() right after the call to
shutdown_socket().  In all three cases the socket should get closed, so
drop the redundant call and place asserts in connect() implementations
instead.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
7 months agolibrbd/migration/HttpClient: fix some error messages in handle_receive()
Ilya Dryomov [Tue, 3 Dec 2024 15:20:16 +0000 (16:20 +0100)]
librbd/migration/HttpClient: fix some error messages in handle_receive()

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
7 months agolibrbd/migration/HttpClient: log ec details in handle_{issue,receive}()
Ilya Dryomov [Tue, 3 Dec 2024 15:16:39 +0000 (16:16 +0100)]
librbd/migration/HttpClient: log ec details in handle_{issue,receive}()

Logging just the (negated) value makes tracking down the error category
and message unnecessarily hard.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
7 months agoqa/suites/rados: Add ceph_test_bluefs 61034/head
Adam Kupczyk [Wed, 11 Dec 2024 17:33:53 +0000 (17:33 +0000)]
qa/suites/rados: Add ceph_test_bluefs

unittest_bluefs was difficult for jenkins make check.
On jenkins disable the most resource hungry tests.
Make test on teuthology that tests everything.

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
7 months agoos/bluestore: duplicate unittest_bluefs -> ceph_test_bluefs
Adam Kupczyk [Wed, 11 Dec 2024 17:21:26 +0000 (17:21 +0000)]
os/bluestore: duplicate unittest_bluefs -> ceph_test_bluefs

This change has 2 rationales:
1) The test outgrew initial unittest framework and now executes
   component testing
2) We still need to run most of unittest_blues as part of jenkins make check
3) We want to run tests on teuthology. Build process excludes unit
   tests, so ceph_test_bluefs was created.

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
7 months agoMerge PR #58376 into main
Venky Shankar [Fri, 13 Dec 2024 07:54:05 +0000 (13:24 +0530)]
Merge PR #58376 into main

* refs/pull/58376/head:
Temporarily change the libcephfs dependencies
proxy: Add the design document
proxy: Add the proxy to the deb builds
proxy: Add the proxy to the rpm builds
Initial version of the libcephfs proxy

Reviewed-by: Sachin Prabhu <sp@spui.uk>
Reviewed-by: Venky Shankar <vshankar@redhat.com>
7 months agoqa/config/crimson_qa_overrides: enable ms debug 60964/head
Yingxin Cheng [Thu, 5 Dec 2024 08:54:37 +0000 (16:54 +0800)]
qa/config/crimson_qa_overrides: enable ms debug

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
7 months agocrimson/net/io_handler: minor adjustments to logs
Yingxin Cheng [Thu, 5 Dec 2024 08:52:42 +0000 (16:52 +0800)]
crimson/net/io_handler: minor adjustments to logs

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
7 months agoMerge pull request #60770 from Matan-B/wip-matanb-crimson-enable-alienstore-debug
Yingxin Cheng [Fri, 13 Dec 2024 02:58:54 +0000 (10:58 +0800)]
Merge pull request #60770 from Matan-B/wip-matanb-crimson-enable-alienstore-debug

qa/config/crimson_qa_overrides: enable alienstore debug

Reviewed-by: Aishwarya Mathuria <amathuri@redhat.com>
7 months agoMerge pull request #61008 from MaxKellermann/crimson__includes
Yingxin Cheng [Fri, 13 Dec 2024 02:55:55 +0000 (10:55 +0800)]
Merge pull request #61008 from MaxKellermann/crimson__includes

crimson: add missing includes

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
7 months agoMerge pull request #61050 from gbregman/main
Gil Bregman [Thu, 12 Dec 2024 23:44:38 +0000 (01:44 +0200)]
Merge pull request #61050 from gbregman/main

 mgr/cephadm/nvmeof: Add auto rebalance fields to NVMeOF configuration and rewrite validation