]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
19 months agocmake: Do not set CMake policy to new that are set anyway 54937/head
Christoph Grüninger [Sun, 17 Dec 2023 21:18:43 +0000 (22:18 +0100)]
cmake: Do not set CMake policy to new that are set anyway

CMP0097 and below are all implicitly set to new because
the minimum required CMake version is 3.16 and these
policies are older.

Signed-off-by: Christoph Grüninger <foss@grueninger.de>
19 months agoMerge pull request #52474 from vedanshbhartia/coverity_1515850
Yuval Lifshitz [Sun, 17 Dec 2023 16:29:41 +0000 (18:29 +0200)]
Merge pull request #52474 from vedanshbhartia/coverity_1515850

rgw: Fix potential null dereference in rgw/driver/dbstore/sqlite/statement.cc

reviewed-by: thotz, yuvalif

19 months agoMerge pull request #52276 from vedanshbhartia/coverity_1523402
Yuval Lifshitz [Sun, 17 Dec 2023 16:29:01 +0000 (18:29 +0200)]
Merge pull request #52276 from vedanshbhartia/coverity_1523402

rgw: Add a wrapper for librados::AioCompletion to prevent memory leaks

reviewed-by: cbodley, yuvalif

19 months agoMerge pull request #53902 from vedanshbhartia/coverity_except_main
Yuval Lifshitz [Sun, 17 Dec 2023 16:27:27 +0000 (18:27 +0200)]
Merge pull request #53902 from vedanshbhartia/coverity_except_main

rgw: Add coverity annotations for uncaught exceptions in standalone binaries

reviewed-by: yuvalif

19 months agoMerge pull request #54547 from idryomov/wip-53897
Ilya Dryomov [Sun, 17 Dec 2023 10:27:11 +0000 (11:27 +0100)]
Merge pull request #54547 from idryomov/wip-53897

librbd: don't report HOLE_UPDATED when diffing against a hole

Reviewed-by: Mykola Golub <mgolub@suse.com>
19 months agoMerge pull request #54569 from AliMasarweh/wip-alimasa-multi-pubsub-etag
Yuval Lifshitz [Sun, 17 Dec 2023 10:12:48 +0000 (12:12 +0200)]
Merge pull request #54569 from AliMasarweh/wip-alimasa-multi-pubsub-etag

RGW: pubsub publish commit with etag populated

revieweed-by: cbodley, yuvalif

19 months agoMerge pull request #52354 from bluikko/patch-13
Anthony D'Atri [Sat, 16 Dec 2023 19:11:54 +0000 (14:11 -0500)]
Merge pull request #52354 from bluikko/patch-13

doc/radosgw/admin.rst: use underscores in config var names

19 months agoMerge pull request #54888 from cbodley/wip-rgw-multisite-forward-empty-buffer
Casey Bodley [Sat, 16 Dec 2023 16:25:14 +0000 (16:25 +0000)]
Merge pull request #54888 from cbodley/wip-rgw-multisite-forward-empty-buffer

rgw/multisite: forwarded requests always pass a bufferlist

Reviewed-by: Shilpa Jagannath <smanjara@redhat.com>
19 months agoMerge pull request #54739 from cbodley/wip-qa-rgw-upgrade-distros
Casey Bodley [Sat, 16 Dec 2023 16:24:57 +0000 (16:24 +0000)]
Merge pull request #54739 from cbodley/wip-qa-rgw-upgrade-distros

qa/rgw/upgrade: stop testing upgrade from pacific

Reviewed-by: Shilpa Jagannath <smanjara@redhat.com>
19 months agoMerge pull request #54841 from cbodley/wip-rgw-multisite-rados-crash
Casey Bodley [Fri, 15 Dec 2023 18:34:25 +0000 (18:34 +0000)]
Merge pull request #54841 from cbodley/wip-rgw-multisite-rados-crash

rgw/multisite: error repo coroutines store raw_obj by value

Reviewed-by: Shilpa Jagannath <smanjara@redhat.com>
19 months agoMerge pull request #54920 from tchaikov/cls-2pc-reserv-dencode
Casey Bodley [Fri, 15 Dec 2023 16:40:07 +0000 (16:40 +0000)]
Merge pull request #54920 from tchaikov/cls-2pc-reserv-dencode

cls/queue: always set member variables in ctor

Reviewed-by: Casey Bodley <cbodley@redhat.com>
19 months agocls/queue: always set member variables in ctor 54920/head
Kefu Chai [Fri, 15 Dec 2023 12:20:46 +0000 (20:20 +0800)]
cls/queue: always set member variables in ctor

this should address the test failures like

```
/tmp/typ-WWFeFl6yK /tmp/typ-sMfwoaGMU differ: byte 24, line 1
**** cls_2pc_reservation test 2 binary reencode check failed ****
   ceph-dencoder type cls_2pc_reservation select_test 2 encode export /tmp/typ-WWFeFl6yK
   ceph-dencoder type cls_2pc_reservation select_test 2 encode decode encode export /tmp/typ-sMfwoaGMU
2c2
00000010  00 00 00 00 00 00 c0 c6  92 10                    |..........|
---
00000010  00 00 00 00 00 00 c0 e6  cd 53                    |.........S|
```

where we
1. encode the 2nd sample created by `generate_test_instances()`,
2. encode, decode, and encode again, the same sample

and compare the encoded blobs.

but if we fail to set any of the fields in `cls_2pc_reservation`,
we are at the mercy of the random bits on stack/heap.

in this change, all bits are initialized.

the flaky test was introduced by 1d7cabf3

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
19 months agoMerge PR #52196 into main
Patrick Donnelly [Fri, 15 Dec 2023 13:18:28 +0000 (08:18 -0500)]
Merge PR #52196 into main

* refs/pull/52196/head:
qa: configure balancer for multi-mds workloads
qa: create qa subvolumes in named subvolumegroup
qa: do not rely on default max_mds value
qa: add automate_balance to dashboard qa schema
doc/cephfs: add docs for balance_automate
doc/cephfs: use bash prompt for shell code
mds: add balance_automate fs setting

Reviewed-by: Venky Shankar <vshankar@redhat.com>
Reviewed-by: Xiubo Li <xiubli@redhat.com>
19 months agotest/pybind/rbd: don't ignore from_snapshot in check_diff() 54547/head
Ilya Dryomov [Sun, 10 Dec 2023 16:01:24 +0000 (17:01 +0100)]
test/pybind/rbd: don't ignore from_snapshot in check_diff()

Despite the test in test_diff_iterate() being correct, it started
failing:

    >       check_diff(self.image, 0, IMG_SIZE, 'snap1', [(0, 512, False)])
    ...
    a = [], b = [(0, 512, False)]
    ...
    >       assert a == b
    E       AssertionError

This is because check_diff() drops 'snap1' argument on the floor and
passes None to image.diff_iterate() instead.  This goes back to 2013,
see commit e88fe3cbbc8f ("rbd.py: add some missing functions").

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
19 months agotest/librbd: redo TestMockObjectMapDiffRequest.*Delta tests
Ilya Dryomov [Sun, 3 Dec 2023 15:39:39 +0000 (16:39 +0100)]
test/librbd: redo TestMockObjectMapDiffRequest.*Delta tests

Existing *Delta tests cover:

- beginning of time -> HEAD, through intermediate snap
- snap -> snap, directly
- snap -> HEAD, directly

But coverage is too weak: none of the weird OBJECT_PENDING cases and
only a single diff-iterate vs deep-copy case is tested, for example.

Coverage is missing completely for:

- beginning of time -> HEAD, directly
- beginning of time -> snap, directly
- beginning of time -> snap, through intermediate snap
- snap -> snap, through intermediate snap
- snap -> HEAD, through intermediate snap

This adds the following tests:

- FromBeginningToHead
- FromBeginningToHeadIntermediateSnap (expands FullDelta)
- FromBeginningToSnap
- FromBeginningToSnapIntermediateSnap
- FromSnapToSnap (expands IntermediateDelta)
- FromSnapToSnapIntermediateSnap
- FromSnapToHead (expands EndDelta)
- FromSnapToHeadIntermediateSnap

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
19 months agoMerge pull request #54878 from yuvalif/wip-yuval-split-rgw-tools
Casey Bodley [Fri, 15 Dec 2023 04:10:29 +0000 (04:10 +0000)]
Merge pull request #54878 from yuvalif/wip-yuval-split-rgw-tools

rgw: split RGWDataAccess from rgw_tools.cc

Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
19 months agoMerge pull request #54840 from cbodley/wip-qa-rgw-crypt-disable-kmip
Casey Bodley [Fri, 15 Dec 2023 04:10:13 +0000 (04:10 +0000)]
Merge pull request #54840 from cbodley/wip-qa-rgw-crypt-disable-kmip

qa/rgw/crypt: disable failing kmip testing

Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
19 months agoMerge pull request #51732 from andreas-schwab/main
Kefu Chai [Fri, 15 Dec 2023 01:13:08 +0000 (09:13 +0800)]
Merge pull request #51732 from andreas-schwab/main

ceph.spec.in: enable build on riscv64 for openSUSE Factory

Reviewed-by: Tim Serong <tserong@suse.com>
Reviewed-by: Kefu Chai <tchaikov@gmail.com>
19 months agoMerge pull request #54893 from zdover23/wip-doc-2023-12-14-radosgw-role-formatting
zdover23 [Thu, 14 Dec 2023 21:45:22 +0000 (07:45 +1000)]
Merge pull request #54893 from zdover23/wip-doc-2023-12-14-radosgw-role-formatting

doc/radosgw: format commands in role.rst

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
19 months agodoc/radosgw: format commands in role.rst 54893/head
Zac Dover [Thu, 14 Dec 2023 06:14:29 +0000 (16:14 +1000)]
doc/radosgw: format commands in role.rst

Format approximately one-hundred lines of doc/radosgw/role.rst to
include proper command prompts. I also made one small English usage
improvement.

Co-authored-by: Anthony D'Atri <anthony.datri@gmail.com>
Signed-off-by: Zac Dover <zac.dover@proton.me>
19 months agoMerge pull request #54723 from phlogistonjohn/jjm-bib
Adam King [Thu, 14 Dec 2023 18:39:54 +0000 (13:39 -0500)]
Merge pull request #54723 from phlogistonjohn/jjm-bib

script/build-integration-branch: minor improvements around github api access & tokens

Reviewed-by: Adam King <adking@redhat.com>
Reviewed-by: Laura Flores <lflores@ibm.com>
19 months agoqa/rgw/upgrade: stop testing upgrade from pacific 54739/head
Casey Bodley [Thu, 30 Nov 2023 22:39:34 +0000 (17:39 -0500)]
qa/rgw/upgrade: stop testing upgrade from pacific

squid won't support upgrades from pacific. stop all testing against
centos8 and ubuntu20

Signed-off-by: Casey Bodley <cbodley@redhat.com>
19 months agoRGW:pubsub publish commit with etag populated 54569/head
Ali Masarwa [Sun, 19 Nov 2023 13:29:28 +0000 (15:29 +0200)]
RGW:pubsub publish commit with etag populated

Signed-off-by: Ali Masarwa <ali.saed.masarwa@gmail.com>
19 months agoMerge PR #54733 into main
Venky Shankar [Thu, 14 Dec 2023 05:55:01 +0000 (11:25 +0530)]
Merge PR #54733 into main

* refs/pull/54733/head:
client/fuse: handle case of renameat2 with non-zero flags

Reviewed-by: Xiubo Li <xiubli@redhat.com>
Reviewed-by: Dhairya Parmar <dparmar@redhat.com>
Reviewed-by: Venky Shankar <vshankar@redhat.com>
19 months agoMerge pull request #53393 from rzarzynski/wip-ceph-run-op
Yingxin [Thu, 14 Dec 2023 02:21:43 +0000 (10:21 +0800)]
Merge pull request #53393 from rzarzynski/wip-ceph-run-op

ceph-run: fix string comparison around --no-restart

Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
19 months agorgw/multisite: error repo coroutines initialize rados pointer 54841/head
Casey Bodley [Wed, 13 Dec 2023 20:32:37 +0000 (15:32 -0500)]
rgw/multisite: error repo coroutines initialize rados pointer

Signed-off-by: Casey Bodley <cbodley@redhat.com>
19 months agorgw/multisite: error repo coroutines store raw_obj by value
Casey Bodley [Fri, 8 Dec 2023 20:26:21 +0000 (15:26 -0500)]
rgw/multisite: error repo coroutines store raw_obj by value

RGWErrorRepoWriteCR/RGWErrorRepoRemoveCR need to copy their rgw_raw_obj
arguments to extend the lifetimes until send_request() is called

potential regression from https://github.com/ceph/ceph/pull/50359

Signed-off-by: Casey Bodley <cbodley@redhat.com>
19 months agoMerge pull request #54657 from a180285/patch-2
Ilya Dryomov [Wed, 13 Dec 2023 20:17:16 +0000 (21:17 +0100)]
Merge pull request #54657 from a180285/patch-2

rbd: update import-diff command help message

Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
19 months agoMerge pull request #54832 from hex2dec/fix-cephadm-shell-help
Adam King [Wed, 13 Dec 2023 19:14:26 +0000 (14:14 -0500)]
Merge pull request #54832 from hex2dec/fix-cephadm-shell-help

cephadm: Fix `cephadm shell` command help message

Reviewed-by: Adam King <adking@redhat.com>
Reviewed-by: John Mulligan <jmulligan@redhat.com>
19 months agoMerge pull request #54814 from rhcs-dashboard/update-grafana-version-cephadm
Adam King [Wed, 13 Dec 2023 19:10:55 +0000 (14:10 -0500)]
Merge pull request #54814 from rhcs-dashboard/update-grafana-version-cephadm

mgr/cephadm: bump grafana to 9.4.12

Reviewed-by: Adam King <adking@redhat.com>
19 months agoMerge pull request #54786 from guits/fix_63729
Adam King [Wed, 13 Dec 2023 17:15:53 +0000 (12:15 -0500)]
Merge pull request #54786 from guits/fix_63729

python-common: fix osdspec_affinity check

Reviewed-by: Adam King <adking@redhat.com>
19 months agoMerge pull request #54681 from adk3798/device-limit-testing
Adam King [Wed, 13 Dec 2023 17:15:05 +0000 (12:15 -0500)]
Merge pull request #54681 from adk3798/device-limit-testing

python-common/drive_selection: fix limit with existing devices

Reviewed-by: Michael Fritch <mfritch@suse.com>
Reviewed-by: Guillaume Abrioux <gabrioux@ibm.com>
19 months agoMerge pull request #54536 from phlogistonjohn/jjm-cephadm-units-n-scripts
Adam King [Wed, 13 Dec 2023 16:57:59 +0000 (11:57 -0500)]
Merge pull request #54536 from phlogistonjohn/jjm-cephadm-units-n-scripts

cephadm: add modules to abstract systemd units and run scripts

Reviewed-by: Adam King <adking@redhat.com>
19 months agoUpdate rbd import-diff command help message 54657/head
HuangWei [Sat, 25 Nov 2023 08:52:21 +0000 (16:52 +0800)]
Update rbd import-diff command help message

Signed-off-by: HuangWei <huangwei.a180285@gmail.com>
19 months agoMerge pull request #54319 from ajarr/wip-63410
Yuri Weinstein [Wed, 13 Dec 2023 15:43:52 +0000 (07:43 -0800)]
Merge pull request #54319 from ajarr/wip-63410

mgr/Mgr: remove shutdown() and handle_signal()

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Reviewed-by: Ilya Dryomov <idryomov@redhat.com>
19 months agoMerge pull request #54102 from ifed01/wip-ifed-better-vselector-calls
Yuri Weinstein [Wed, 13 Dec 2023 15:43:12 +0000 (07:43 -0800)]
Merge pull request #54102 from ifed01/wip-ifed-better-vselector-calls

os/bluestore: rework vselector calls.

Reviewed-by: Adam Kupczyk <akupczyk@redhat.com>
19 months agoMerge pull request #52210 from ceph/wip-nitzan-ceph-dencoder-extend-common-types...
Yuri Weinstein [Wed, 13 Dec 2023 15:40:08 +0000 (07:40 -0800)]
Merge pull request #52210 from ceph/wip-nitzan-ceph-dencoder-extend-common-types-available

ceph-dencoder: COMMON - Add missing types

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
19 months agoMerge PR #48895 into main
Venky Shankar [Wed, 13 Dec 2023 15:23:13 +0000 (20:53 +0530)]
Merge PR #48895 into main

* refs/pull/48895/head:
qa: test cases for checking the health status after scrub repair
mds: scrub repair does not clear earlier damage health status

Reviewed-by: Venky Shankar <vshankar@redhat.com>
Reviewed-by: Dhairya Parmar <dparmar@redhat.com>
19 months agoMerge PR #54628 into main
Venky Shankar [Wed, 13 Dec 2023 15:19:52 +0000 (20:49 +0530)]
Merge PR #54628 into main

* refs/pull/54628/head:
qa/fscrypt: enable debug log for bluestore

Reviewed-by: Venky Shankar <vshankar@redhat.com>
19 months agoMerge PR #54669 into main
Venky Shankar [Wed, 13 Dec 2023 15:18:27 +0000 (20:48 +0530)]
Merge PR #54669 into main

* refs/pull/54669/head:
mds: set the loner to true for LOCK_EXCL_XSYN

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Venky Shankar <vshankar@redhat.com>
19 months agoMerge PR #54704 into main
Venky Shankar [Wed, 13 Dec 2023 15:08:51 +0000 (20:38 +0530)]
Merge PR #54704 into main

* refs/pull/54704/head:
qa: don't fail on gather_mount_info() failure

Reviewed-by: Rishabh Dave <ridave@redhat.com>
Reviewed-by: Kotresh Hiremath Ravishankar <khiremat@redhat.com>
19 months agoMerge PR #54745 into main
Venky Shankar [Wed, 13 Dec 2023 15:06:06 +0000 (20:36 +0530)]
Merge PR #54745 into main

* refs/pull/54745/head:
mds: encode `bal_rank_mask` using a higher (next) version

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
19 months agorgw/multisite: forwarded requests always pass a bufferlist 54888/head
Casey Bodley [Wed, 13 Dec 2023 14:30:35 +0000 (09:30 -0500)]
rgw/multisite: forwarded requests always pass a bufferlist

d2dbe7550296da6db885b5344c71f77f9acbfd8f added a rgw_forward_request_to_master()
that took the input bufferlist by pointer instead of reference so it
could be optional; however, RGWRESTSimpleRequest::forward_request()
omits the Content-Length header when the data is nullptr. this was an
unintended change and broke the forwarding of some requests

Signed-off-by: Casey Bodley <cbodley@redhat.com>
19 months agoMerge pull request #54864 from cbodley/wip-mgr-rgw-realm-name
Casey Bodley [Wed, 13 Dec 2023 12:54:34 +0000 (12:54 +0000)]
Merge pull request #54864 from cbodley/wip-mgr-rgw-realm-name

mgr/rgwam: period doesn't have a realm_name anymore

Reviewed-by: Shilpa Jagannath <smanjara@redhat.com>
19 months agoMerge pull request #54615 from ronen-fr/wip-rf-schedRepair
Ronen Friedman [Wed, 13 Dec 2023 10:07:38 +0000 (12:07 +0200)]
Merge pull request #54615 from ronen-fr/wip-rf-schedRepair

osd/scrub: allow auto-repair on operator-initiated scrubs
Reviewed-by: Samuel Just <sjust@redhat.com>-
19 months agoMerge pull request #54748 from cbodley/wip-63717
Casey Bodley [Tue, 12 Dec 2023 22:36:31 +0000 (22:36 +0000)]
Merge pull request #54748 from cbodley/wip-63717

rgw/sysobj: pool_list_objects_init() initializes marker

Reviewed-by: Adam C. Emerson <aemerson@redhat.com>
Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
19 months agoqa: configure balancer for multi-mds workloads 52196/head
Patrick Donnelly [Wed, 12 Jul 2023 16:46:35 +0000 (12:46 -0400)]
qa: configure balancer for multi-mds workloads

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
19 months agoqa: create qa subvolumes in named subvolumegroup
Patrick Donnelly [Mon, 17 Jul 2023 15:07:14 +0000 (11:07 -0400)]
qa: create qa subvolumes in named subvolumegroup

So we can twiddle the subvolumegroup settings (like pins).

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
19 months agoqa: do not rely on default max_mds value
Patrick Donnelly [Wed, 12 Jul 2023 16:44:49 +0000 (12:44 -0400)]
qa: do not rely on default max_mds value

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
19 months agoqa: add automate_balance to dashboard qa schema
Patrick Donnelly [Tue, 18 Jul 2023 18:08:22 +0000 (14:08 -0400)]
qa: add automate_balance to dashboard qa schema

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
19 months agodoc/cephfs: add docs for balance_automate
Patrick Donnelly [Tue, 12 Dec 2023 16:45:05 +0000 (11:45 -0500)]
doc/cephfs: add docs for balance_automate

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
19 months agodoc/cephfs: use bash prompt for shell code
Patrick Donnelly [Tue, 12 Dec 2023 16:44:43 +0000 (11:44 -0500)]
doc/cephfs: use bash prompt for shell code

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
19 months agoMerge pull request #53841 from pilem/bug62320
Guillaume Abrioux [Tue, 12 Dec 2023 16:32:09 +0000 (17:32 +0100)]
Merge pull request #53841 from pilem/bug62320

src/ceph-volume/ceph_volume/devices/lvm/listing.py : lvm list filters with vg name

19 months agoMerge pull request #54608 from dillona/main
Guillaume Abrioux [Tue, 12 Dec 2023 16:31:36 +0000 (17:31 +0100)]
Merge pull request #54608 from dillona/main

ceph-volume: Use safe accessor to get TYPE info

19 months agoMerge pull request #54453 from saschalucas/fix-blkid-missing-key-type
Guillaume Abrioux [Tue, 12 Dec 2023 16:31:04 +0000 (17:31 +0100)]
Merge pull request #54453 from saschalucas/fix-blkid-missing-key-type

ceph-volume: fix blkid on inaccessible devices

19 months agoMerge pull request #53804 from guits/fix_63086
Guillaume Abrioux [Tue, 12 Dec 2023 16:30:04 +0000 (17:30 +0100)]
Merge pull request #53804 from guits/fix_63086

ceph-volume: fix util.get_partitions

19 months agomds: add balance_automate fs setting
Patrick Donnelly [Fri, 23 Jun 2023 21:01:00 +0000 (17:01 -0400)]
mds: add balance_automate fs setting

To turn off the automatic ("default") balancer in multiple MDS clusters. The
new default is "off" as the balancer  is a constant source of problems and
surprise for administrators trying multiple actives. Instead, it should be a
deliberate decision to turn it on and usually with customization like the
"bal_rank_mask" setting or pinning.

Fixes: https://tracker.ceph.com/issues/61378
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
19 months agoMerge pull request #54337 from batrick/i63433
Yuri Weinstein [Tue, 12 Dec 2023 16:12:24 +0000 (08:12 -0800)]
Merge pull request #54337 from batrick/i63433

pybind/mgr/devicehealth: replace SMART data if exists for same DATETIME

Reviewed-by: Ronen Friedman <rfriedma@redhat.com>
19 months agorgw: split RGWDataAccess from rgw_tools.cc 54878/head
Yuval Lifshitz [Tue, 12 Dec 2023 15:06:01 +0000 (15:06 +0000)]
rgw: split RGWDataAccess from rgw_tools.cc

that class is not rados specific, while the rest of the code
in rgw_tools.cc is

Signed-off-by: Yuval Lifshitz <ylifshit@redhat.com>
19 months agoMerge pull request #54875 from zdover23/wip-doc-2023-12-12-radosgw-role-create-a...
Anthony D'Atri [Tue, 12 Dec 2023 14:17:32 +0000 (09:17 -0500)]
Merge pull request #54875 from zdover23/wip-doc-2023-12-12-radosgw-role-create-a-role

doc/radosgw: format "Create a Role"

19 months agodoc/radosgw: format "Create a Role" 54875/head
Zac Dover [Tue, 12 Dec 2023 12:09:13 +0000 (22:09 +1000)]
doc/radosgw: format "Create a Role"

Properly format the section "Create a Role" in the file
doc/radosgw/role.rst.

Signed-off-by: Zac Dover <zac.dover@proton.me>
19 months agoMerge pull request #54750 from ivoalmeida/snapshot-schedule-list
Aashish Sharma [Tue, 12 Dec 2023 08:22:39 +0000 (13:52 +0530)]
Merge pull request #54750 from ivoalmeida/snapshot-schedule-list

mgr/dashboard: added snap-schedule api and ui list

Reviewed-by: Nizamudeen A <nia@redhat.com>
19 months agoMerge pull request #53483 from ifed01/wip-ifed-no-alloc-lba-align
Yuri Weinstein [Mon, 11 Dec 2023 19:01:09 +0000 (11:01 -0800)]
Merge pull request #53483 from ifed01/wip-ifed-no-alloc-lba-align

os/bluestore: get rid off resulting lba alignment in allocators

Reviewed-by: Adam Kupczyk <akupczyk@redhat.com>
19 months agotest/librbd: parametrize TestMockObjectMapDiffRequest tests
Ilya Dryomov [Sun, 3 Dec 2023 13:49:43 +0000 (14:49 +0100)]
test/librbd: parametrize TestMockObjectMapDiffRequest tests

Exercise both diff-iterate and deep-copy modes of operation.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
19 months agolibrbd: OBJECT_PENDING should always be treated as dirty
Ilya Dryomov [Fri, 8 Dec 2023 14:19:02 +0000 (15:19 +0100)]
librbd: OBJECT_PENDING should always be treated as dirty

OBJECT_PENDING is a transition state which normally isn't encountered
in (snapshot) object maps.  In case it's encountered, for example when
a snapshot is taken after losing power at the time a discard was being
handled, the object should be treated as dirty and produce a diff as
a result.

Assuming an object is marked OBJECT_PENDING, theoretically there are
four cases with respect to object's state in the next snapshot:

    1. OBJECT_NONEXISTENT
    2. OBJECT_EXISTS
    3. OBJECT_PENDING
    4. OBJECT_EXISTS_CLEAN

Prior to commit b81cd2460de7 ("librbd/object_map: diff state machine
should track object existence"), (3) was handled incorrectly (diff set
to DIFF_STATE_NONE instead of DIFF_STATE_UPDATED).

Post commit 399a45e11332 ("librbd/object_map: rbd diff between two
snapshots lists entire image content"), (4) is handled incorrectly
(diff set to DIFF_STATE_DATA instead of DIFF_STATE_DATA_UPDATED).

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
19 months agotest/librbd: expand DiffIterateTest.DiffIterateDiscard
Ilya Dryomov [Thu, 30 Nov 2023 16:30:33 +0000 (17:30 +0100)]
test/librbd: expand DiffIterateTest.DiffIterateDiscard

Similar to DiffIterateTest.DiffIterateDeterministic, systematically
cover the most common cases involving full-object discards.  With this
in place, issue [1] can be reproduced by any of:

    (preparatory) before snap3 is taken
    (1) beginning of time -> HEAD
    (2) snap1 -> HEAD
    (5) beginning of time -> snap3
    (6) snap1 -> snap3

Sub-object discards aren't covered here because of further issues
[2][3].

[1] https://tracker.ceph.com/issues/53897
[2] https://tracker.ceph.com/issues/63770
[3] https://tracker.ceph.com/issues/63771

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
19 months agolibrbd: resurrect "exists" assert in simple_diff_cb()
Ilya Dryomov [Fri, 10 Nov 2023 10:14:42 +0000 (11:14 +0100)]
librbd: resurrect "exists" assert in simple_diff_cb()

This effectively reverts commit 3ccc3bb4bd35 ("librbd: diff_iterate
needs to handle holes in parent images") which just dropped the assert
instead of addressing the root cause of reported crashes.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
19 months agolibrbd: diff-iterate shouldn't ever report "new hole" against a hole
Ilya Dryomov [Thu, 9 Nov 2023 19:44:18 +0000 (20:44 +0100)]
librbd: diff-iterate shouldn't ever report "new hole" against a hole

If an object doesn't exist in both start and end versions but there is
an intermediate snapshot which contains it (i.e. the object is written
to and captured at some point but then discarded prior to or in the end
version), diff-iterate reports "new hole" -- callback is invoked with
exists=false.  This occurs both on the slow list_snaps path and in
fast-diff mode.

Despite going all the way back to the introduction of diff-iterate in
commit 0296c7cdae91 ("librbd: implement diff_iterate"), this behavior
is wrong and contradicts diff-iterate API documentation added in commit
a69532e86450 ("librbd: document diff_iterate in header") in the same
series:

    If the source snapshot name is NULL, we interpret that as
    the beginning of time and return all allocated regions of the
    image.

It also triggered an assert added in commit c680531e070a ("librbd:
change diff_iterate interface to be more C-friendly") in the same
series.  Unfortunately, commit f1f6407221a0 ("test_librbd: add
diff_iterate test including discard"), also part of the same series,
added a test which expected the wrong behavior.  Very confusing!

A year later, a different manifestation of this bug was fixed in commit
9a1ab95176fe ("rbd: Fix rbd diff for non-existent objects"), but the
fix only covered the case where calc_snap_set_diff() goes past the end
snap ID while processing clones.  The case where it runs out of clones
to process before reaching the end snap ID remained mishandled.

A year after that, commit 3ccc3bb4bd35 ("librbd: diff_iterate needs to
handle holes in parent images") dropped the assert mentioned above and
this bug got enshrined in the newly introduced fast-diff mode.

Finally, a few years later, deep-copy actually started relying on this
bug in commit e5a21e904142 ("librbd: deep-copy image copy state machine
skips clean objects").  This necessitates bifurcation in DiffRequest
because deep-copy wants the "has this object been touched" semantics,
which is different from diff-iterate (and also potentially much more
expensive to produce!).

This commit brings a minimal update to TestMockObjectMapDiffRequest
tests and DiffIterateTest.DiffIterateDiscard.  Coverage is expanded in
the following commits.

Fixes: https://tracker.ceph.com/issues/53897
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
19 months agomgr/dashboard: added snap-schedule api and ui list 54750/head
Ivo Almeida [Sat, 25 Nov 2023 19:10:35 +0000 (19:10 +0000)]
mgr/dashboard: added snap-schedule api and ui list

Fixes: https://tracker.ceph.com/issues/63767
Signed-off-by: Ivo Almeida <ialmeida@redhat.com>
19 months agoMerge pull request #53830 from alimaredia/wip-test-librgw-file-sh-vstart
Casey Bodley [Mon, 11 Dec 2023 14:43:28 +0000 (14:43 +0000)]
Merge pull request #53830 from alimaredia/wip-test-librgw-file-sh-vstart

qa: enable test_librgw_file.sh to be run with vstart cluster

Reviewed-by: Casey Bodley <cbodley@redhat.com>
19 months agomgr/rgwam: period doesn't have a realm_name anymore 54864/head
Casey Bodley [Mon, 11 Dec 2023 14:12:24 +0000 (09:12 -0500)]
mgr/rgwam: period doesn't have a realm_name anymore

Fixes: https://tracker.ceph.com/issues/63783
Signed-off-by: Casey Bodley <cbodley@redhat.com>
19 months agoMerge PR #54726 into main
Patrick Donnelly [Mon, 11 Dec 2023 13:37:39 +0000 (08:37 -0500)]
Merge PR #54726 into main

* refs/pull/54726/head:
PendingReleaseNotes: announce cephfs-shell avail. on rhel9
qa: test fs:shell on all distros
qa: add cephfs-shell to installed rpm packages
ceph.spec.in: enable support for cephfs-shell by default via EPEL9

Reviewed-by: Venky Shankar <vshankar@redhat.com>
Reviewed-by: Dhairya Parmar <dparmar@redhat.com>
19 months agoMerge pull request #54779 from rishabh-d-dave/fs-release-notes
Rishabh Dave [Mon, 11 Dec 2023 11:02:48 +0000 (16:32 +0530)]
Merge pull request #54779 from rishabh-d-dave/fs-release-notes

cephfs: add a couple of release notes

Reviewed-by: Venky Shankar <vshankar@redhat.com>
19 months agoMerge pull request #54848 from idryomov/wip-diff-iterate-test-fixup
Ilya Dryomov [Mon, 11 Dec 2023 10:47:22 +0000 (11:47 +0100)]
Merge pull request #54848 from idryomov/wip-diff-iterate-test-fixup

test/librbd: close image in DiffIterateDeterministic

Reviewed-by: Mykola Golub <mgolub@suse.com>
19 months agoMerge pull request #54847 from idryomov/wip-journaling-test-fixups
Ilya Dryomov [Mon, 11 Dec 2023 10:08:08 +0000 (11:08 +0100)]
Merge pull request #54847 from idryomov/wip-journaling-test-fixups

test/librbd: avoid config-related crashes in DiscardWithPruneWriteOverlap

Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
19 months agoMerge pull request #53054 from xxhdx1985126/wip-crimson-pg-proj-last-update
Samuel Just [Mon, 11 Dec 2023 04:01:05 +0000 (20:01 -0800)]
Merge pull request #53054 from xxhdx1985126/wip-crimson-pg-proj-last-update

crimson/osd/pg: set PG::projected_last_update when submitting transactions

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
19 months agoMerge pull request #53078 from xxhdx1985126/wip-crimson-pg-recovery
Samuel Just [Mon, 11 Dec 2023 04:00:31 +0000 (20:00 -0800)]
Merge pull request #53078 from xxhdx1985126/wip-crimson-pg-recovery

crimson/osd/pg_recovery: avoiding duplicated object recovering

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Matan Breizman <mbreizma@redhat.com>
19 months agoMerge pull request #53127 from xxhdx1985126/wip-crimson-obc-iteration
Samuel Just [Mon, 11 Dec 2023 03:59:30 +0000 (19:59 -0800)]
Merge pull request #53127 from xxhdx1985126/wip-crimson-obc-iteration

crimson/osd/pg: discard watches' states after iterating all cached obcs

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Chunmei Liu <chunmei.liu@intel.com>
19 months agoMerge pull request #53409 from xxhdx1985126/wip-crimson-recover-head-first
Samuel Just [Mon, 11 Dec 2023 03:58:55 +0000 (19:58 -0800)]
Merge pull request #53409 from xxhdx1985126/wip-crimson-recover-head-first

crimson/osd/pg_recovery: recover head before recovering clones

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
19 months agoMerge pull request #53985 from xxhdx1985126/wip-63186
Samuel Just [Mon, 11 Dec 2023 03:57:57 +0000 (19:57 -0800)]
Merge pull request #53985 from xxhdx1985126/wip-63186

crimson/osd: store "final pool info" for pools that are deleted

Reviewed-by: Samuel Just <sjust@redhat.com>
19 months agoMerge pull request #53306 from xxhdx1985126/wip-clone-wait-head
Samuel Just [Mon, 11 Dec 2023 03:56:45 +0000 (19:56 -0800)]
Merge pull request #53306 from xxhdx1985126/wip-clone-wait-head

crimson/osd/osd_operations/client_request: recover the head and other necessary objects before proceeding

Reviewed-by: Samuel Just <sjust@redhat.com>
19 months agoMerge pull request #53130 from cyx1231st/wip-crimson-drop-mempool
Yingxin [Mon, 11 Dec 2023 01:39:50 +0000 (09:39 +0800)]
Merge pull request #53130 from cyx1231st/wip-crimson-drop-mempool

mempool: avoid true sharing for the counters, with crimson

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Reviewed-by: Chunmei Liu <chunmei.liu@intel.com>
Reviewed-by: Matan Breizman <mbreizma@redhat.com>
Reviewed-by: Laura Flores <lflores@ibm.com>
19 months agoMerge pull request #54845 from zdover23/wip-doc-2023-12-09-radosgw-role-2
zdover23 [Sun, 10 Dec 2023 22:58:46 +0000 (23:58 +0100)]
Merge pull request #54845 from zdover23/wip-doc-2023-12-09-radosgw-role-2

doc/radosgw: edit front matter - role.rst

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
19 months agodoc/radosgw: edit front matter - role.rst 54845/head
Zac Dover [Fri, 8 Dec 2023 19:45:43 +0000 (20:45 +0100)]
doc/radosgw: edit front matter - role.rst

Clarify the front matter in doc/radosgw/role.rst.

Co-authored-by: Anthony D'Atri <anthony.datri@gmail.com>
Signed-off-by: Zac Dover <zac.dover@proton.me>
19 months agoMerge pull request #54789 from yuvalif/wip-yuval-remove-lua-devel
Yuval Lifshitz [Sun, 10 Dec 2023 20:47:53 +0000 (22:47 +0200)]
Merge pull request #54789 from yuvalif/wip-yuval-remove-lua-devel

build/rgw/lua: remove luarocks support from rhel8

reviewed-by: batrick, cbodley, mchangir

19 months agocephadm: black format runscripts.py 54536/head
John Mulligan [Thu, 16 Nov 2023 21:38:38 +0000 (16:38 -0500)]
cephadm: black format runscripts.py

Signed-off-by: John Mulligan <jmulligan@redhat.com>
19 months agocephadm: move abstract script handling functions to runscripts.py
John Mulligan [Wed, 15 Nov 2023 21:39:07 +0000 (16:39 -0500)]
cephadm: move abstract script handling functions to runscripts.py

Add a new file runscripts.py for the lower-level management of scripts
and related files that are invoked by systemd units. This patch ended up
uglier than I desired because there was a bunch of daemon specific logic
that remains in cephadm.py and those functions all needed to be updated
to avoid calling functions that write to the scripts directly.
Now customizations are done by passing a list of commands: these
commands can be either a string that will be literally added to the
scipt, a list that will be quoted and then added to the script, or
a ContainerCommand which is basically a wrapper around the arguments to
_write_container_cmd_to bash.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
19 months agocephadm: add a higher-level function for managing systemd units
John Mulligan [Thu, 28 Sep 2023 21:18:18 +0000 (17:18 -0400)]
cephadm: add a higher-level function for managing systemd units

Add the function update_files to systemd_unit.py to encapsulate and
abstract the details regarding the generation of system unit files.
This will make it simpler in the future to add more advanced systemd
configurations include managing customized unit files and systemd
unit drop-in files.

Some additional work was needed to update the recently added
command_unit_install function. Because the new systemd_unit.update_files
function requires a full daemon identity. The command_unit_install
function now requires a daemon name. In addition, while testing this
change it was found that the function could not have worked as it was
because it required the fsid but neither used the infer_fsid decorator
nor provided a `--fsid` argument. Both were added.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
19 months agocephadm: update unit file test imports
John Mulligan [Thu, 28 Sep 2023 21:17:03 +0000 (17:17 -0400)]
cephadm: update unit file test imports

Update systemd unit file tests file to use the canonical module for
systemd units functions rather than importing them indirectly from
cephadm.py.
This future proofs the test in case the imports in cephadm.py
change.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
19 months agocephadm: create systemd_unit.py for systemd unit related functions
John Mulligan [Thu, 28 Sep 2023 21:02:52 +0000 (17:02 -0400)]
cephadm: create systemd_unit.py for systemd unit related functions

Continue to modularize cephadm by moving the functions related to
generating systemd unit files to a new module.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
19 months agocephadm: update container engine test imports
John Mulligan [Thu, 28 Sep 2023 21:01:11 +0000 (17:01 -0400)]
cephadm: update container engine test imports

Update container engine tests file to use the canonical module for
container engines rather than importing them indirectly from cephadm.py.
This future proofs the test in case the imports in cephadm.py change.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
19 months agocephadm: add shellquote filter to template
John Mulligan [Thu, 28 Sep 2023 20:44:14 +0000 (16:44 -0400)]
cephadm: add shellquote filter to template

This is to support generating command lines or shell scripts using
Jinja2 templates in the future.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
19 months agobuild/rgw/lua: remove lua-devel as a runtime dependency 54789/head
Yuval Lifshitz [Tue, 5 Dec 2023 18:36:20 +0000 (18:36 +0000)]
build/rgw/lua: remove lua-devel as a runtime dependency

this is due to the fact that lua-devel
cannot be installed in teuthology for rhel8

this would fail the build of some luarocks packages

Fixes: https://tracker.ceph.com/issues/63672
Signed-off-by: Yuval Lifshitz <ylifshit@redhat.com>
19 months agotest/librbd: close image in DiffIterateDeterministic 54848/head
Ilya Dryomov [Sat, 9 Dec 2023 15:26:25 +0000 (16:26 +0100)]
test/librbd: close image in DiffIterateDeterministic

... to avoid valgrind reporting a memory leak on ImageCtx.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
19 months agotest/librbd: actually alternate overlaps in DiscardWithPruneWriteOverlap 54847/head
Ilya Dryomov [Sat, 9 Dec 2023 20:00:51 +0000 (21:00 +0100)]
test/librbd: actually alternate overlaps in DiscardWithPruneWriteOverlap

Make sense of the inner loop in write_thread.  The crash on
"it != m_events.end()" assert reproduces even faster this way.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
19 months agotest/librbd: avoid config-related crashes in DiscardWithPruneWriteOverlap
Ilya Dryomov [Sat, 9 Dec 2023 20:00:42 +0000 (21:00 +0100)]
test/librbd: avoid config-related crashes in DiscardWithPruneWriteOverlap

For reasons that I think no longer apply today, set_val() and
set_val_or_die() refuse to set "type: str" config options that aren't
marked as "can be changed at runtime" -- set_val() returns an error and
set_val_or_die() terminates the process.  What is and isn't marked as
"can be changed at runtime" seems to be pretty much random both within
and outside of RBD, so let's just refactor how config is set here.

While at it, I realized that reproducer config is underspecified:

- for rbd_cache_policy and rbd_cache_writethrough_until_flush settings
  to matter, rbd_cache must be set to true and rbd_cache_max_dirty must
  be set to a positive number

- order should be set explicitly, because rbd_default_order can be as
  low as 12 (for 4096-byte objects), interfering with the logic of the
  test

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
19 months agoMerge pull request #54378 from adk3798/cephadm-jinja2-logrotate
Adam King [Sat, 9 Dec 2023 19:56:34 +0000 (14:56 -0500)]
Merge pull request #54378 from adk3798/cephadm-jinja2-logrotate

cephadm: move logrotate configs to jinja2 template

Reviewed-by: John Mulligan <jmulligan@redhat.com>
Reviewed-by: Michael Fritch <mfritch@suse.com>
19 months agoMerge pull request #54846 from zdover23/wip-doc-2023-12-09-radosgw-role
Anthony D'Atri [Sat, 9 Dec 2023 14:16:22 +0000 (09:16 -0500)]
Merge pull request #54846 from zdover23/wip-doc-2023-12-09-radosgw-role

doc/radosgw: format POST statements

19 months agodoc/radosgw: format POST statements 54846/head
Zac Dover [Sat, 9 Dec 2023 03:46:00 +0000 (04:46 +0100)]
doc/radosgw: format POST statements

Format the POST methods so that they appear in the rendered text as
examples of POST API calls and not as plain old unformatted text, which
is how they looked before this commit. The content of these API calls
remains to be tested and confirmed to work, but this is a first step.

Signed-off-by: Zac Dover <zac.dover@proton.me>
19 months agoMerge pull request #54839 from cbodley/wip-librbd-strands
Ilya Dryomov [Fri, 8 Dec 2023 22:47:31 +0000 (23:47 +0100)]
Merge pull request #54839 from cbodley/wip-librbd-strands

librbd: include asio strand headers in librbd.cc

Reviewed-by: Ilya Dryomov <idryomov@gmail.com>