]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
6 months agorgw/logging: clean pending objects 61211/head
Yuval Lifshitz [Tue, 24 Dec 2024 18:22:58 +0000 (18:22 +0000)]
rgw/logging: clean pending objects

* when source bucket is deleted
* when logging is disabled
* when logging conf changes
* when target bucket is deleted

also add "bucket logging info" admin command
returning logging conf for source bucket, and list
of source buckets for log bucket

Signed-off-by: Yuval Lifshitz <ylifshit@ibm.com>
6 months agorgw/logging: retry attribuite set in case of race
Yuval Lifshitz [Thu, 19 Dec 2024 15:58:45 +0000 (15:58 +0000)]
rgw/logging: retry attribuite set in case of race

Signed-off-by: Yuval Lifshitz <ylifshit@ibm.com>
6 months agorgw/logging: log bucket must not have encryption
Yuval Lifshitz [Thu, 19 Dec 2024 13:49:07 +0000 (13:49 +0000)]
rgw/logging: log bucket must not have encryption

Signed-off-by: Yuval Lifshitz <ylifshit@ibm.com>
6 months agorgw/logging: source and log bucket must be different
Yuval Lifshitz [Thu, 19 Dec 2024 11:54:54 +0000 (11:54 +0000)]
rgw/logging: source and log bucket must be different

Signed-off-by: Yuval Lifshitz <ylifshit@ibm.com>
6 months agorgw/logging: support source and destination buckets on different tenants
Yuval Lifshitz [Wed, 18 Dec 2024 15:42:05 +0000 (15:42 +0000)]
rgw/logging: support source and destination buckets on different tenants

Signed-off-by: Yuval Lifshitz <ylifshit@ibm.com>
6 months agoMerge pull request #60958 from xxhdx1985126/wip-69120
Matan Breizman [Sun, 12 Jan 2025 07:54:39 +0000 (09:54 +0200)]
Merge pull request #60958 from xxhdx1985126/wip-69120

crimson/osd/backfill_state: recheck whether needs to scan the primary at the end of Enqueuing::Enqueuing

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
6 months agoMerge pull request #60803 from xxhdx1985126/wip-69027
Matan Breizman [Sun, 12 Jan 2025 07:50:03 +0000 (09:50 +0200)]
Merge pull request #60803 from xxhdx1985126/wip-69027

crimson/osd/replicate_backend: add standalone delete to the push queue if the object is deleted while it's being backfilled

Reviewed-by: Samuel Just <sjust@redhat.com>
6 months agoMerge pull request #60795 from taodd/fix-rbd-sparsify-on-ec-image-slow
Ilya Dryomov [Sat, 11 Jan 2025 17:17:28 +0000 (18:17 +0100)]
Merge pull request #60795 from taodd/fix-rbd-sparsify-on-ec-image-slow

osd: optimize extent comparison in PrimaryLogPG

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
6 months agoMerge pull request #61313 from VallariAg/wip-vallari-teuthology-docs
Vallari Agrawal [Sat, 11 Jan 2025 02:34:03 +0000 (08:04 +0530)]
Merge pull request #61313 from VallariAg/wip-vallari-teuthology-docs

doc: improve tests-integration-testing-teuthology-workflow.rst

6 months agoMerge pull request #61291 from cbodley/wip-69470
Zac Dover [Sat, 11 Jan 2025 00:02:24 +0000 (10:02 +1000)]
Merge pull request #61291 from cbodley/wip-69470

doc/rgw: document UserName requirements for account migration

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
Reviewed-by: Zac Dover <zac.dover@proton.me>
6 months agoMerge pull request #55259 from linuxbox2/wip-object-attributes
Matt Benjamin [Fri, 10 Jan 2025 22:37:14 +0000 (17:37 -0500)]
Merge pull request #55259 from linuxbox2/wip-object-attributes

rgw: implement GetObjectAttributes

6 months agoMerge pull request #60969 from idryomov/wip-69135
Ilya Dryomov [Fri, 10 Jan 2025 21:56:36 +0000 (22:56 +0100)]
Merge pull request #60969 from idryomov/wip-69135

qa/suites/upgrade/reef-x: sync log-ignorelist with quincy-x

Reviewed-by: Laura Flores <lflores@ibm.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 months agoMerge pull request #60081 from anthonyeleven/anthonyeleven/tweak
Anthony D'Atri [Fri, 10 Jan 2025 21:24:15 +0000 (16:24 -0500)]
Merge pull request #60081 from anthonyeleven/anthonyeleven/tweak

src/exporter: improve usage message

6 months agorgw_attrs: fixes for 3 more iam/perms mappings 55259/head
Matt Benjamin [Thu, 9 Jan 2025 20:11:10 +0000 (15:11 -0500)]
rgw_attrs: fixes for 3 more iam/perms mappings

Help from Pritha and Casey appreciated

Plus, fix 3 explicit mapping tests in test_rgw_iam_policy.cc.

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
6 months agoMerge pull request #61164 from chardan/wip-objectstore-ops-replayer-sign-warning
Jesse Williamson [Fri, 10 Jan 2025 15:48:10 +0000 (07:48 -0800)]
Merge pull request #61164 from chardan/wip-objectstore-ops-replayer-sign-warning

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

6 months agodoc: improve tests-integration-testing-teuthology-workflow.rst 61313/head
Vallari Agrawal [Thu, 9 Jan 2025 12:27:42 +0000 (17:57 +0530)]
doc: improve tests-integration-testing-teuthology-workflow.rst

This commit adds:
1. workflow summary in the first section along with an image.
2. sub-section "Pushing to ceph-ci repository" to second section.
3. file doc/dev/developer_guide/testing_integration_tests/workflow.png

Signed-off-by: Vallari Agrawal <vallari.agrawal@ibm.com>
6 months agoMerge pull request #61254 from kamoltat/wip-ksirivad-fix-stretch-mode-doc
Kamoltat (Junior) Sirivadhna [Fri, 10 Jan 2025 02:53:59 +0000 (09:53 +0700)]
Merge pull request #61254 from kamoltat/wip-ksirivad-fix-stretch-mode-doc

doc/rados/operations/stretch-mode: Improve doc
Reviewed-by: zdover23
Reviewed-by: anthonyeleven
6 months agoMerge pull request #61288 from adamemerson/wip-69303
Adam Emerson [Fri, 10 Jan 2025 00:57:04 +0000 (19:57 -0500)]
Merge pull request #61288 from adamemerson/wip-69303

rgw: Don't crash on exceptions from pool listing

Reviewed-by: Casey Bodley <cbodley@redhat.com>
6 months agodoc/rgw: document UserName requirements for account migration 61291/head
Casey Bodley [Thu, 9 Jan 2025 17:52:03 +0000 (12:52 -0500)]
doc/rgw: document UserName requirements for account migration

clarify the following error when migrating a user into an account:

> could not modify user: unable to modify user, UserName contains invalid characters

Fixes: https://tracker.ceph.com/issues/69470
Signed-off-by: Casey Bodley <cbodley@redhat.com>
6 months agorgw: Don't crash on exceptions from pool listing 61288/head
Adam Emerson [Thu, 9 Jan 2025 16:46:32 +0000 (11:46 -0500)]
rgw: Don't crash on exceptions from pool listing

Fixes: https://tracker.ceph.com/issues/69303
Signed-off-by: Adam Emerson <aemerson@redhat.com>
6 months agoMerge pull request #60330 from JonBailey1993/JonBailey1993/ceph_test_rados_io_sequenc...
Jon Bailey [Thu, 9 Jan 2025 16:19:54 +0000 (16:19 +0000)]
Merge pull request #60330 from JonBailey1993/JonBailey1993/ceph_test_rados_io_sequence_inject_error

common/io_exerciser: Add support to ceph_test_rados_io_sequence injecting errors for testing how erasure coding deals with error scenarios

Reviewed-by: Ronen Friedman <rfriedma@ibm.com>
6 months agoMerge pull request #52791 from clwluvw/location-constraint
Casey Bodley [Thu, 9 Jan 2025 16:03:50 +0000 (11:03 -0500)]
Merge pull request #52791 from clwluvw/location-constraint

rgw: check for location constraint on master zonegroup

Reviewed-by: Casey Bodley <cbodley@redhat.com>
6 months agoMerge pull request #59960 from smanjara/wip-fix-missing-http-data
Casey Bodley [Thu, 9 Jan 2025 16:03:26 +0000 (11:03 -0500)]
Merge pull request #59960 from smanjara/wip-fix-missing-http-data

rgw/multisite:  include request body when CreateBucket op is forwarded to master

Reviewed-by: Casey Bodley <cbodley@redhat.com>
6 months agoMerge pull request #60881 from NitzanMordhai/wip-nitzan-ipv6-subnet-checks
Laura Flores [Thu, 9 Jan 2025 15:48:20 +0000 (09:48 -0600)]
Merge pull request #60881 from NitzanMordhai/wip-nitzan-ipv6-subnet-checks

common/pick_address: Add IPv6 support to is_addr_in_subnet

6 months agoMerge pull request #60987 from drunkard/main
David Galloway [Thu, 9 Jan 2025 15:43:37 +0000 (10:43 -0500)]
Merge pull request #60987 from drunkard/main

doc: fixes in doc building

6 months agoMerge pull request #60883 from xxhdx1985126/wip-crimson-backfill-throttle
Matan Breizman [Thu, 9 Jan 2025 14:59:44 +0000 (16:59 +0200)]
Merge pull request #60883 from xxhdx1985126/wip-crimson-backfill-throttle

crimson/osd/pg_recovery: throttle backfills together with pglog based recoveries

Reviewed-by: Samuel Just <sjust@redhat.com>
6 months agoMerge pull request #61262 from VallariAg/fix-nvmeof-teuthology-basic-test
Vallari Agrawal [Thu, 9 Jan 2025 14:00:49 +0000 (19:30 +0530)]
Merge pull request #61262 from VallariAg/fix-nvmeof-teuthology-basic-test

qa/workunits/nvmeof/basic_tests.sh: fix nvme list assert

6 months agoMerge pull request #60623 from piyushagarwal1411/ceph-exporter
Ilya Dryomov [Thu, 9 Jan 2025 13:59:25 +0000 (14:59 +0100)]
Merge pull request #60623 from piyushagarwal1411/ceph-exporter

vstart: add ceph-exporter support

Reviewed-by: Juan Miguel Olmo <jolmomar@redhat.com>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
6 months agoMerge pull request #60891 from xxhdx1985126/wip-seastore-fadvise-backfill
Yingxin Cheng [Thu, 9 Jan 2025 10:08:35 +0000 (18:08 +0800)]
Merge pull request #60891 from xxhdx1985126/wip-seastore-fadvise-backfill

crimson/os/seastore: add fadvise support to SeaStore and prevent recovery/backfill from polluting the cache of SeaStore

Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
Reviewed-by: Matan Breizman <mbreizma@redhat.com>
6 months agodoc/rados/operations/stretch-mode: Improve doc 61254/head
Kamoltat Sirivadhna [Tue, 7 Jan 2025 09:36:03 +0000 (09:36 +0000)]
doc/rados/operations/stretch-mode: Improve doc

Added more content and rewrite some sections

Signed-off-by: Kamoltat Sirivadhna <ksirivad@redhat.com>
6 months agoFix signed/unsigned warning and add parameter range checking. 61164/head
Jesse F. Williamson [Wed, 18 Dec 2024 14:38:56 +0000 (06:38 -0800)]
Fix signed/unsigned warning and add parameter range checking.

Signed-off-by: Jesse F. Williamson <1643380+chardan@users.noreply.github.com>
6 months agoMerge pull request #60848 from cbodley/wip-rgw-deprecate-iam-tenant
Casey Bodley [Wed, 8 Jan 2025 18:02:17 +0000 (13:02 -0500)]
Merge pull request #60848 from cbodley/wip-rgw-deprecate-iam-tenant

docs/rgw: deprecate tenant-based IAM in favor of accounts

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
6 months agoMerge pull request #61074 from chardan/wip-radowsgw-admin-jfw-restructure_file
Jesse Williamson [Wed, 8 Jan 2025 17:53:07 +0000 (09:53 -0800)]
Merge pull request #61074 from chardan/wip-radowsgw-admin-jfw-restructure_file

rgw: migrate rgw_admin to new radosgw-admin directory

6 months agoMerge pull request #60379 from cbodley/wip-librados-cancellation
Casey Bodley [Wed, 8 Jan 2025 17:29:18 +0000 (12:29 -0500)]
Merge pull request #60379 from cbodley/wip-librados-cancellation

librados/asio: forward asio cancellations to AioCompletion::cancel()

Reviewed-by: Adam Emerson <aemerson@redhat.com>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
6 months agorgw/multisite: the create_bucket forward request omits the 59960/head
Shilpa Jagannath [Tue, 24 Sep 2024 21:12:02 +0000 (17:12 -0400)]
rgw/multisite: the create_bucket forward request omits the
the request body, thus missing some data if specified inside
CreateBucketConfiguration xml on the non-master zone.
also, now that we perform cksum validation against empty payloads,
such a request would fail with -ERR_AMZ_CONTENT_SHA256_MISMATCH due
to a zero content-length but a non-empty payload hash.
this fix ensures that request body is forwarded during create_bucket

Signed-off-by: Shilpa Jagannath <smanjara@redhat.com>
6 months agoMerge pull request #61127 from VallariAg/wip-nvmeof-delete-healthcheck
Vallari Agrawal [Wed, 8 Jan 2025 15:43:07 +0000 (21:13 +0530)]
Merge pull request #61127 from VallariAg/wip-nvmeof-delete-healthcheck

mon/NVMeofGwMap: add healthcheck warning NVMEOF_GATEWAY_DELETING

6 months agoMerge pull request #61136 from cbodley/wip-69301
Casey Bodley [Wed, 8 Jan 2025 15:36:25 +0000 (10:36 -0500)]
Merge pull request #61136 from cbodley/wip-69301

rgw: don't use merge_and_store_attrs() when recreating a bucket

Reviewed-by: Pritha Srivastava <prsrivas@redhat.com>
Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
6 months agoMerge pull request #61255 from Matan-B/wip-matanb-crimson-seastore-deafult-2
Matan Breizman [Wed, 8 Jan 2025 11:46:38 +0000 (13:46 +0200)]
Merge pull request #61255 from Matan-B/wip-matanb-crimson-seastore-deafult-2

common/options/crimson.yaml.in: fallback to Bluestore by default

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Xuehan Xu <xuxuehan@qianxin.com>
Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
6 months agoMerge pull request #61251 from guits/ceph-volume-69432
Guillaume Abrioux [Wed, 8 Jan 2025 10:24:35 +0000 (11:24 +0100)]
Merge pull request #61251 from guits/ceph-volume-69432

ceph-volume: fix loop devices support

6 months agovstart.sh: add support for launching the ceph-exporter daemon 60623/head
Piyush Agarwal [Wed, 8 Jan 2025 08:57:49 +0000 (14:27 +0530)]
vstart.sh: add support for launching the ceph-exporter daemon

Signed-off-by: Piyush Agarwal <piyushagarwal14.pa@gmail.com>
6 months agoMerge pull request #61252 from guits/hints-create_id
Guillaume Abrioux [Wed, 8 Jan 2025 08:03:15 +0000 (09:03 +0100)]
Merge pull request #61252 from guits/hints-create_id

ceph-volume: add python hints to util.prepare.create_id()

6 months agoqa/workunits/nvmeof/basic_tests.sh: fix connect-all assert 61262/head
Vallari Agrawal [Tue, 7 Jan 2025 13:35:35 +0000 (19:05 +0530)]
qa/workunits/nvmeof/basic_tests.sh: fix connect-all assert

There seems to be change in 'nvme list' json output
which caused failures in asserts after 'nvme connect-all'
command.

Signed-off-by: Vallari Agrawal <vallari.agrawal@ibm.com>
6 months agorgw:attrs: dump marker and max_parts only if sent
Matt Benjamin [Fri, 18 Oct 2024 19:50:14 +0000 (15:50 -0400)]
rgw:attrs: dump marker and max_parts only if sent

Suggested by Casey.

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
6 months agorgw:attrs cap max_parts at 1000
Matt Benjamin [Fri, 18 Oct 2024 19:31:32 +0000 (15:31 -0400)]
rgw:attrs cap max_parts at 1000

Suggested by Casey.  This is a relatively small value, but let's
be conservative.

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
6 months agorgw: GetObjAttrs enforces MaxSize and returns correct IsTruncated
Casey Bodley [Fri, 18 Oct 2024 17:46:38 +0000 (13:46 -0400)]
rgw: GetObjAttrs enforces MaxSize and returns correct IsTruncated

Signed-off-by: Casey Bodley <cbodley@redhat.com>
6 months agorgw/rados: Object::list_parts() starts after marker
Casey Bodley [Fri, 18 Oct 2024 17:45:54 +0000 (13:45 -0400)]
rgw/rados: Object::list_parts() starts after marker

Signed-off-by: Casey Bodley <cbodley@redhat.com>
6 months agorgw/rados: get_part_obj_state() fixes accounted_size when uncompressed
Casey Bodley [Fri, 18 Oct 2024 17:27:51 +0000 (13:27 -0400)]
rgw/rados: get_part_obj_state() fixes accounted_size when uncompressed

the part head objects don't have a RGW_ATTR_MANIFEST attribute, so
get_obj_state_impl() isn't able to set the correct
RGWObjState::accounted_size unless RGW_ATTR_COMPRESSION provides one

get_part_obj_state() builds a fake manifest in memory to represent the
part and updates state.size accordingly, but it hadn't corrected the
value of state.accounted_size

Signed-off-by: Casey Bodley <cbodley@redhat.com>
6 months agorgw: GetObjAttrs calls rgw_s3_prepare_decrypt()
Casey Bodley [Thu, 17 Oct 2024 23:25:57 +0000 (19:25 -0400)]
rgw: GetObjAttrs calls rgw_s3_prepare_decrypt()

RGWGetObj::execute() relies on the virtual get_decrypt_filter() which is
overridden by RGWGetObj_ObjStore_S3

but when called from RGWGetObjAttrs_ObjStore_S3, there is no override.
add one that just calls rgw_s3_prepare_decrypt()

Signed-off-by: Casey Bodley <cbodley@redhat.com>
6 months agorgw_cksum: return version_id in all cases
Matt Benjamin [Sat, 12 Oct 2024 22:20:31 +0000 (18:20 -0400)]
rgw_cksum: return version_id in all cases

The version_id member in RGWGetObjAttrs shadows the one in
RGWGetObj.

Just assign it before conditionally returning the version-id header
in RGWGetObjAttrs_ObjStore_S3::send_response().

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
6 months agorgw_cksum: permit fallback to checksum-type from create-multipart, in upload-part
Matt Benjamin [Sat, 12 Oct 2024 17:49:29 +0000 (13:49 -0400)]
rgw_cksum: permit fallback to checksum-type from create-multipart, in upload-part

There appear to be workloads that provide a checksum algorithm in
create-multipart-upload, but do not provide (what must be) the
corresponding algorithm when uploading the parts.  (complete-multipart-upload
has no checksum argument, the value is implicit.)

This behavior is inconsistent with at least some SDKs, but it is
possibly accepted behavior in AWS S3, and is not logically necessary,
since the originally supplied checksum type is already known.

Therefore, change the behavior of upload-part to fall back to a
checksum type that was sent with the corresponding create-multipart-upload
request, if one is present, rather than failing with InvalidRequest.

Fixes: https://tracker.ceph.com/issues/68513
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
(cherry picked from commit 6b487a4c6dbadf3f470c8b12ddd5f2521c6920c6)

6 months agorgw: defensive check for part cksum in try_sum_part_cksums
Matt Benjamin [Fri, 30 Aug 2024 13:34:18 +0000 (09:34 -0400)]
rgw: defensive check for part cksum in try_sum_part_cksums

If a create-multipart-upload requested additional checksum but a
part upload omits it, fail gracefully.

Possibly we can fixup the checksum uploads and remove this scenario,
but coding defensively would still be correct.

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
6 months agorgw_cksum: don't display nil checksums in get-object-attributes (parts)
Matt Benjamin [Fri, 11 Oct 2024 19:46:30 +0000 (15:46 -0400)]
rgw_cksum: don't display nil checksums in get-object-attributes (parts)

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
6 months agorgw: GetObjectAttributes iam policy policy hooks
Matt Benjamin [Tue, 10 Sep 2024 18:59:51 +0000 (14:59 -0400)]
rgw: GetObjectAttributes iam policy policy hooks

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
6 months agorgw_cksum: zero-initialize GetObjAttrs integral members
Matt Benjamin [Sat, 12 Oct 2024 14:01:57 +0000 (10:01 -0400)]
rgw_cksum: zero-initialize GetObjAttrs integral members

(code review)

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
6 months agorgw: implement GetObjectAttributes
Matt Benjamin [Mon, 8 Jan 2024 02:33:07 +0000 (21:33 -0500)]
rgw: implement GetObjectAttributes

Implements the corresponding S3 operation, and
introduces a new Object::list_parts SAL interface to support it.

Includes Casey Bodley <cbodley@redhat.com>:
  * use uncompressed part size
  * local variable shadowed a member variable and broke handling of
      PartNumberMarker in request and response

Fixes: https://tracker.ceph.com/issues/64109
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
6 months agoMerge pull request #61213 from Matan-B/wip-matanb-crimson-shared-lru-dtor
Matan Breizman [Tue, 7 Jan 2025 14:44:32 +0000 (16:44 +0200)]
Merge pull request #61213 from Matan-B/wip-matanb-crimson-shared-lru-dtor

crimson/common/shared_lru: invalidate Deleter's cache

Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
6 months agoMerge pull request #60666 from ThomasLamprecht/debian-fix-librgw2-lua-dependencies
Kefu Chai [Tue, 7 Jan 2025 14:19:43 +0000 (22:19 +0800)]
Merge pull request #60666 from ThomasLamprecht/debian-fix-librgw2-lua-dependencies

debian/control: fix overly broad lua dependency declaration for librgw2 package

Reviewed-by: Kefu Chai <tchaikov@gmail.com>
6 months agoMerge pull request #60118 from kshtsk/wip-refactor-make-check
kyr [Tue, 7 Jan 2025 13:36:51 +0000 (14:36 +0100)]
Merge pull request #60118 from kshtsk/wip-refactor-make-check

script/run-make: stop args duplication

6 months agoMerge pull request #61241 from guits/ceph-volume-69430
Guillaume Abrioux [Tue, 7 Jan 2025 12:53:57 +0000 (13:53 +0100)]
Merge pull request #61241 from guits/ceph-volume-69430

ceph-volume: fix Zap.ensure_associated_raw()

6 months agoceph-volume: fix loop devices support 61251/head
Guillaume Abrioux [Tue, 7 Jan 2025 08:42:15 +0000 (08:42 +0000)]
ceph-volume: fix loop devices support

This commit updates the `is_device` function to correctly handle
loop devices.
The function now validates loop devices when they are explicitly
allowed, by checking their type (`loop`) in addition to `disk`
and `mpath`.

Changes include:
  - Extending the type check to include `loop` in the list of
    supported device types.
  - Enhancing the docstring for better documentation of the
    function's purpose and behavior.

These changes ensure that loop devices are properly recognized
and handled when configuring OSDs in ceph-volume.

Fixes: https://tracker.ceph.com/issues/69432
Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
6 months agocommon/io_exerciser: Make chunksize so initial generated value is 4096 and random... 60330/head
JonBailey1993 [Fri, 29 Nov 2024 16:15:32 +0000 (16:15 +0000)]
common/io_exerciser: Make chunksize so initial generated value is 4096 and random values are generated thereafter

Signed-off-by: Jon Bailey <jonathan.bailey1@ibm.com>
6 months agocommon/io_exerciser: Make sure Sequence 10 removes objects after finishing running
JonBailey1993 [Fri, 29 Nov 2024 16:13:57 +0000 (16:13 +0000)]
common/io_exerciser: Make sure Sequence 10 removes objects after finishing running

Signed-off-by: Jon Bailey <jonathan.bailey1@ibm.com>
6 months agosrc/common/json: Modified JSON structures so they take advantage of ceph_json.h fully.
JonBailey1993 [Mon, 25 Nov 2024 11:40:09 +0000 (11:40 +0000)]
src/common/json: Modified JSON structures so they take advantage of ceph_json.h fully.

Also moved and renamed JSONStructures files so they structures are more easily identifiable and usable by others if desired.

Signed-off-by: Jon Bailey <jonathan.bailey1@ibm.com>
6 months agosrc/common/io_exerciser: Remove unneccisairy override in data_generation::SeededRando...
JonBailey1993 [Fri, 15 Nov 2024 15:12:02 +0000 (15:12 +0000)]
src/common/io_exerciser: Remove unneccisairy override in data_generation::SeededRandomGenerator

Signed-off-by: Jon Bailey <jonathan.bailey1@ibm.com>
6 months agosrc/common/io_exerciser: add missing override statements to JsonStructures.h
JonBailey1993 [Thu, 14 Nov 2024 16:51:47 +0000 (16:51 +0000)]
src/common/io_exerciser: add missing override statements to JsonStructures.h

Signed-off-by: Jon Bailey <jonathan.bailey1@ibm.com>
6 months agosrc/common/io_exerciser: Formatting improvements using clang format
JonBailey1993 [Thu, 14 Nov 2024 16:47:40 +0000 (16:47 +0000)]
src/common/io_exerciser: Formatting improvements using clang format

Signed-off-by: Jon Bailey <jonathan.bailey1@ibm.com>
6 months agocommon/io_exerciser: Add simple sequences for testing error injects
JonBailey1993 [Tue, 15 Oct 2024 15:00:33 +0000 (16:00 +0100)]
common/io_exerciser: Add simple sequences for testing error injects

Add sequences to test IOs with simple error injects, along with some small fixes for previous error inject implementation.

Signed-off-by: Jon Bailey <jonathan.bailey1@ibm.com>
6 months agocommon/io_exerciser: Add injecterror commands to ceph_test_rados_io_sequence interact...
JonBailey1993 [Fri, 11 Oct 2024 12:44:17 +0000 (13:44 +0100)]
common/io_exerciser: Add injecterror commands to ceph_test_rados_io_sequence interactive mode

Add injecterror commands that can be used in interactive mode to inject read and write errors as well as clear them

Signed-off-by: Jon Bailey <jonathan.bailey1@ibm.com>
6 months agoosd: EC error inject interfaces
Bill Scales [Tue, 8 Oct 2024 08:51:14 +0000 (08:51 +0000)]
osd: EC error inject interfaces

Error inject interfaces for EC reads and writes using
ceph tell osd.<n> interface

Signed-off-by: Bill Scales <bill_scales@uk.ibm.com>
6 months agosrc/common/io_exerciser: Code readability improvements
JonBailey1993 [Tue, 1 Oct 2024 10:25:48 +0000 (11:25 +0100)]
src/common/io_exerciser: Code readability improvements

Implement inheritence for ceph::io_exerciser::IoOp to allow better differentiation between the different Op types and allow more complex Operations to be implemented

Signed-off-by: Jon Bailey <jonathan.bailey1@ibm.com>
6 months agoRevert "doc/dev/crimson: update SeaStore as default backend" 61255/head
Matan Breizman [Tue, 7 Jan 2025 10:07:18 +0000 (10:07 +0000)]
Revert "doc/dev/crimson: update SeaStore as default backend"

This reverts commit 41327dcf0f733777f0d022d1bab7bf72b9807b3c.

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
6 months agoqa/suites/crimson-rados-exp: add Seastore/thrash
Matan Breizman [Tue, 7 Jan 2025 10:05:16 +0000 (10:05 +0000)]
qa/suites/crimson-rados-exp: add Seastore/thrash

As Seastore/trash was removed from the non-exp suite, it is
moved here until fully supported.
Follow-up to: 5150dae471c

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
6 months agoqa/suites/crimson-rados-exp: remove basic
Matan Breizman [Tue, 7 Jan 2025 10:03:33 +0000 (10:03 +0000)]
qa/suites/crimson-rados-exp: remove basic

"basic" directory is included in the non-exp suite and is fully supported

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
6 months agoqa/suites/crimson-rados: disable thrash/seastore
Matan Breizman [Tue, 7 Jan 2025 09:59:01 +0000 (09:59 +0000)]
qa/suites/crimson-rados: disable thrash/seastore

Seastore supports thrash_simple only until https://tracker.ceph.com/issues/69405
is resolved.

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
6 months agocommon/options/crimson.yaml.in: Bluestore by default
Matan Breizman [Tue, 7 Jan 2025 09:56:14 +0000 (09:56 +0000)]
common/options/crimson.yaml.in: Bluestore by default

This partially reverts f4dee79c3309e5ac1e1a142b85f492851e6757e1
Until https://tracker.ceph.com/issues/69402 is resolved.

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
6 months agoceph-volume: add python hints to util.prepare.create_id() 61252/head
Guillaume Abrioux [Tue, 7 Jan 2025 09:22:00 +0000 (09:22 +0000)]
ceph-volume: add python hints to util.prepare.create_id()

This commit introduces type annotations to the `create_id` function in `ceph_volume.util.prepare`.
The parameters and return value are now typed as follows:
  - `fsid` is a `str`.
  - `json_secrets` is a `str`.
  - `osd_id` is an optional `str` (`Optional[str]`).
  - The function returns a `str`.

Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
6 months agomon/NVMeofGwMap: add delay to NVMEOF_GATEWAY_DELETING warning 61127/head
Vallari Agrawal [Wed, 25 Dec 2024 05:01:21 +0000 (10:31 +0530)]
mon/NVMeofGwMap: add delay to NVMEOF_GATEWAY_DELETING warning

Instead of immediately triggering, have this healthcheck trigger
after some time has elasped. This delay can be configured by
mon_nvmeofgw_delete_grace.

Track the time when gateways go into DELETING state in a new
member var (of NVMeofGwMon) 'gws_deleting_time'.

Signed-off-by: Vallari Agrawal <vallari.agrawal@ibm.com>
6 months agoMerge pull request #61240 from neesingh-rh/wip-68974
Zac Dover [Tue, 7 Jan 2025 06:28:34 +0000 (16:28 +1000)]
Merge pull request #61240 from neesingh-rh/wip-68974

doc: add snapshots under cephfs concepts

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
6 months agorgw: migrate rgw_admin to new directory. 61074/head
Jesse Williamson [Thu, 12 Dec 2024 22:10:19 +0000 (14:10 -0800)]
rgw: migrate rgw_admin to new directory.

Some C++ fixes, macro fixes, etc.. Gathers other core
files, makes names more closely match executable.

Signed-off-by: Jesse F. Williamson <jfw@ibm.com>
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>
6 months agoceph-volume: fix Zap.ensure_associated_raw() 61241/head
Guillaume Abrioux [Mon, 6 Jan 2025 16:12:22 +0000 (16:12 +0000)]
ceph-volume: fix Zap.ensure_associated_raw()

When an OSD creation fails, ceph-volume can zaps unrelated
existing raw based OSD as part of the 'rollback step'.

Fixes: https://tracker.ceph.com/issues/69430
Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
6 months agoMerge pull request #61243 from anthonyeleven/etags-fix
Anthony D'Atri [Mon, 6 Jan 2025 18:27:06 +0000 (13:27 -0500)]
Merge pull request #61243 from anthonyeleven/etags-fix

doc/radosgw/s3: correct eTag op match tables

6 months agodoc/radosgw/s3: correct eTag op match tables 61243/head
Anthony D'Atri [Mon, 6 Jan 2025 17:48:04 +0000 (12:48 -0500)]
doc/radosgw/s3: correct eTag op match tables

Signed-off-by: Anthony D'Atri <anthonyeleven@users.noreply.github.com>
6 months agosrc/common/options/mon.yaml.in: add mon_nvmeofgw_delete_grace
Vallari Agrawal [Wed, 25 Dec 2024 04:50:26 +0000 (10:20 +0530)]
src/common/options/mon.yaml.in: add mon_nvmeofgw_delete_grace

This config allows to configure the delay in triggering
NVMEOF_GATEWAY_DELETING healthcheck warning, which is
triggered when NVMeoF gateways are in DELETEING state
for too long (indicating a problem in namespace
load-balacing).
The default value for this config is 15 mins.

Signed-off-by: Vallari Agrawal <vallari.agrawal@ibm.com>
6 months agodoc: add snapshots in docs under Cephfs concepts 61240/head
neeraj pratap singh [Mon, 6 Jan 2025 11:00:32 +0000 (16:30 +0530)]
doc: add snapshots in docs under Cephfs concepts

Fixes: https://tracker.ceph.com/issues/68974
Signed-off-by: Neeraj Pratap Singh <neesingh@redhat.com>
6 months agoMerge pull request #60720 from batrick/i68913
Venky Shankar [Mon, 6 Jan 2025 07:00:03 +0000 (12:30 +0530)]
Merge pull request #60720 from batrick/i68913

qa: write out ESubtreeMap more frequently to find large events

Reviewed-by: Venky Shankar <vshankar@redhat.com>
6 months agocrimson/osd/replicated_recovery_backend: prevent recovery/backfills from 60891/head
Xuehan Xu [Sun, 15 Dec 2024 08:17:03 +0000 (16:17 +0800)]
crimson/osd/replicated_recovery_backend: prevent recovery/backfills from
polluting the cache of the underlying futurized store

Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
6 months agocrimson/os: all "read/get" interfaces accept op_flags
Xuehan Xu [Sun, 15 Dec 2024 08:06:35 +0000 (16:06 +0800)]
crimson/os: all "read/get" interfaces accept op_flags

To be used by exclusively by Seastore, See `seastore::cache_hint_t`

Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
6 months agocrimson/os/seastore: introduce cache_hint_t
Xuehan Xu [Sat, 14 Dec 2024 13:26:33 +0000 (21:26 +0800)]
crimson/os/seastore: introduce cache_hint_t

Layers above Cache can use cache_hint_t to notify Cache whether to put
the extents to Cache::lru.

CEPH_OSD_OP_FLAG_FADVISE_DONTNEED and CEPH_OSD_OP_FLAG_FADVISE_NOCACHE
will be treated as "no need to put into Cache::lru"

Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
6 months agocrimson/osd/replicated_backend: make sure the check on whether to send 60803/head
Xuehan Xu [Fri, 22 Nov 2024 08:38:02 +0000 (16:38 +0800)]
crimson/osd/replicated_backend: make sure the check on whether to send
ops to replica osds and the pg log append happens in the same
continuation

Since backfill relies on the pg log to discover new modifications, we
need to make sure backfill always discover the modification that's not
sent to replica osds.

Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
6 months agocrimson/osd/replicated_recovery_backend: ignore the recovery of delete
Xuehan Xu [Thu, 21 Nov 2024 08:22:47 +0000 (16:22 +0800)]
crimson/osd/replicated_recovery_backend: ignore the recovery of delete
objects

Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
6 months agocrimson/osd/replicate_backend: add standalone delete to the push queue
Xuehan Xu [Sat, 23 Nov 2024 08:38:36 +0000 (16:38 +0800)]
crimson/osd/replicate_backend: add standalone delete to the push queue
if the object is deleted while it's being backfilled

Fixes: https://tracker.ceph.com/issues/69027
Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
6 months agocrimson/osd/pg_recovery: throttle backfills together with pg-log based 60883/head
Xuehan Xu [Wed, 27 Nov 2024 01:32:48 +0000 (09:32 +0800)]
crimson/osd/pg_recovery: throttle backfills together with pg-log based
recoveries

Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
6 months agocrimson/osd/backfill_state: recheck whether needs to scan the primary at 60958/head
Xuehan Xu [Thu, 5 Dec 2024 05:17:55 +0000 (13:17 +0800)]
crimson/osd/backfill_state: recheck whether needs to scan the primary at
the end of Enqueuing::Enqueuing

Fixes: https://tracker.ceph.com/issues/69120
Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
6 months agoMerge pull request #59593 from xxhdx1985126/wip-67888
Matan Breizman [Sun, 5 Jan 2025 14:35:42 +0000 (16:35 +0200)]
Merge pull request #59593 from xxhdx1985126/wip-67888

crimson/osd/backfill_state: treat `Cancelled` as a pause of the ongoing backfilling

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
6 months agoMerge pull request #60597 from xxhdx1985126/wip-68806
Matan Breizman [Sun, 5 Jan 2025 11:47:12 +0000 (13:47 +0200)]
Merge pull request #60597 from xxhdx1985126/wip-68806

crimson/osd/replicated_recovery_backend: call on_global_recover() only when all replicas and the primary have been recovered

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
6 months agoMerge pull request #60041 from xxhdx1985126/wip-68286
Matan Breizman [Sun, 5 Jan 2025 11:46:39 +0000 (13:46 +0200)]
Merge pull request #60041 from xxhdx1985126/wip-68286

crimson/osd/pg_shard_manager: discard outdated operations when the corresponding pgs are already removed

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
6 months agoMerge pull request #61216 from athanatos/sjust/wip-crimson-backfill-teuth
Matan Breizman [Sun, 5 Jan 2025 11:07:28 +0000 (13:07 +0200)]
Merge pull request #61216 from athanatos/sjust/wip-crimson-backfill-teuth

qa/suites/crimson-rados: enable short_pg_log

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
6 months agoMerge pull request #61227 from zdover23/wip-doc-2024-01-05-README
Zac Dover [Sun, 5 Jan 2025 09:38:45 +0000 (19:38 +1000)]
Merge pull request #61227 from zdover23/wip-doc-2024-01-05-README

doc: README.md - improve "Tshooting" and "Tips & Tricks"

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
6 months agoMerge pull request #61148 from ronen-fr/wip-rf-abortReserv
Ronen Friedman [Sun, 5 Jan 2025 06:41:13 +0000 (08:41 +0200)]
Merge pull request #61148 from ronen-fr/wip-rf-abortReserv

osd/scrub: abort running scrub in replica-reservation if an operator-initiated scrub is requested

Reviewed-by: Samuel Just <sjust@redhat.com>