]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
2 years agocrimson/osd: change OSD::ms_dispatch to take an ConnectionFRef
chunmei [Sat, 8 Apr 2023 08:58:15 +0000 (08:58 +0000)]
crimson/osd: change OSD::ms_dispatch to take an ConnectionFRef

Shortly, we will need to be able to pass a ConnectionRef from another core.

Signed-off-by: chunmei <chunmei.liu@intel.com>
2 years agocrimson/osd: relax requirement that PGShardManager methods be invoked on PRIMARY_CORE
chunmei [Fri, 31 Mar 2023 04:11:27 +0000 (04:11 +0000)]
crimson/osd: relax requirement that PGShardManager methods be invoked on PRIMARY_CORE

Proxy uses of osd_singleton_state to PRIMARY_CORE as needed.

Signed-off-by: chunmei <chunmei.liu@intel.com>
2 years agocrimson/osd: enable PGShardMapping access from all cores
chunmei [Fri, 31 Mar 2023 02:49:33 +0000 (02:49 +0000)]
crimson/osd: enable PGShardMapping access from all cores

Previously, all accesses (incuding loookups) had to occur on core 0.  Now that
we want to be able to dispatch from all cores, we need PGShardManager to be
accessible from all cores.  To that end, we now proxy updates to core 0, but maintain
local copies of the map so that cores can perform local lookups.

Signed-off-by: chunmei <chunmei.liu@intel.com>
2 years agocrimson/osd: make osd sharded
chunmei [Fri, 23 Jun 2023 03:18:15 +0000 (03:18 +0000)]
crimson/osd: make osd sharded

Signed-off-by: chunmei <chunmei.liu@intel.com>
2 years agoMerge pull request #52156 from cbodley/wip-qa-rgw-s3tests-extra-attrs
Ali Maredia [Thu, 22 Jun 2023 20:15:02 +0000 (16:15 -0400)]
Merge pull request #52156 from cbodley/wip-qa-rgw-s3tests-extra-attrs

qa/rgw/s3tests: make extra_attrs additive

2 years agoMerge pull request #52085 from alimaredia/wip-rgw-tempest-keystone-fix
Casey Bodley [Thu, 22 Jun 2023 17:46:46 +0000 (13:46 -0400)]
Merge pull request #52085 from alimaredia/wip-rgw-tempest-keystone-fix

Tempest tests Keystone Fix

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2 years agoqa: rgw/tempest suite only runs on ubuntu latest 52085/head
Ali Maredia [Tue, 13 Jun 2023 17:21:14 +0000 (13:21 -0400)]
qa: rgw/tempest suite only runs on ubuntu latest

Signed-off-by: Ali Maredia <amaredia@redhat.com>
2 years agoqa: update rgw openstack versions
Tobias Urdin [Fri, 31 Mar 2023 07:10:20 +0000 (07:10 +0000)]
qa: update rgw openstack versions

Signed-off-by: Ali Maredia <amaredia@redhat.com>
2 years agoMerge pull request #51738 from phlogistonjohn/jjm-cephadm-new-deploy
Adam King [Thu, 22 Jun 2023 15:39:49 +0000 (11:39 -0400)]
Merge pull request #51738 from phlogistonjohn/jjm-cephadm-new-deploy

cephadm: create a new version of the deploy command

Reviewed-by: Adam King <adking@redhat.com>
2 years agoMerge pull request #51499 from ljflores/wip-balancer-documentation
Laura Flores [Thu, 22 Jun 2023 15:32:38 +0000 (10:32 -0500)]
Merge pull request #51499 from ljflores/wip-balancer-documentation

doc/man/8: add documentation about read balancer

2 years agodoc/man/8: add documentation about read balancer 51499/head
Laura Flores [Fri, 10 Mar 2023 23:39:51 +0000 (23:39 +0000)]
doc/man/8: add documentation about read balancer

Signed-off-by: Laura Flores <lflores@redhat.com>
Co-authored-by: Josh Salomon <josh.salomon@gmail.com>
2 years agoMerge pull request #51819 from mkogan1/wip-d3n-obj-w-slash
Mark Kogan [Thu, 22 Jun 2023 14:28:12 +0000 (17:28 +0300)]
Merge pull request #51819 from mkogan1/wip-d3n-obj-w-slash

rgw: D3N: cache objects which oid contains slash

2 years agoqa/s3tests: remove stale comment about rfc2616 52156/head
Casey Bodley [Thu, 22 Jun 2023 12:50:03 +0000 (08:50 -0400)]
qa/s3tests: remove stale comment about rfc2616

this comment was about the old fails_strict_rfc2616 attr that was
removed in 6238eaaf0bcbcaac3c8628f68c088481f96c199a

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2 years agoqa/s3tests: clean up extra_attrs and extra_args logic
Casey Bodley [Thu, 22 Jun 2023 12:48:47 +0000 (08:48 -0400)]
qa/s3tests: clean up extra_attrs and extra_args logic

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2 years agoqa/s3tests: make extra_attrs additive
Casey Bodley [Thu, 22 Jun 2023 12:47:06 +0000 (08:47 -0400)]
qa/s3tests: make extra_attrs additive

the s3tests.py task is filtering out several attrs by default. but
when dbstore uses `extra_attrs` to add 'not fails_on_dbstore', it
overwrites those other filters

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2 years agoMerge pull request #52129 from yuvalif/wip-yuval-kafka-memleak
Yuval Lifshitz [Thu, 22 Jun 2023 08:09:45 +0000 (11:09 +0300)]
Merge pull request #52129 from yuvalif/wip-yuval-kafka-memleak

rgw/kafka: fix potential memory leak when push to queue fails

2 years agoMerge pull request #51961 from Matan-B/wip-matanb-crimson-single-mosdmap-handling
Matan [Thu, 22 Jun 2023 07:17:47 +0000 (10:17 +0300)]
Merge pull request #51961 from Matan-B/wip-matanb-crimson-single-mosdmap-handling

Crimson/osd: Disable concurrent MOSDMap handling

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Radosław Zarzyński <rzarzyns@redhat.com>
2 years agoMerge pull request #52072 from NitzanMordhai/wip-nitzan-add-ec-clay-teuthology-tests
Yuri Weinstein [Wed, 21 Jun 2023 21:16:00 +0000 (17:16 -0400)]
Merge pull request #52072 from NitzanMordhai/wip-nitzan-add-ec-clay-teuthology-tests

qa: adding clay test to thrash erasure code big

Reviewed-by: Neha Ojha <nojha@redhat.com>
2 years agoMerge pull request #51667 from Matan-B/wip-matanb-share-osdmap
Yuri Weinstein [Wed, 21 Jun 2023 21:12:38 +0000 (17:12 -0400)]
Merge pull request #51667 from Matan-B/wip-matanb-share-osdmap

osd/OSD: cleanup OSDService::maybe_share_map()

Reviewed-by: Samuel Just <sjust@redhat.com>
2 years agoMerge pull request #51450 from batrick/i59716
Yuri Weinstein [Wed, 21 Jun 2023 21:12:08 +0000 (17:12 -0400)]
Merge pull request #51450 from batrick/i59716

pybind/rados: keep byte representation if decode fails

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: John Mulligan <jmulligan@redhat.com>
Reviewed-by: Dhairya Parmar <dparmar@redhat.com>
2 years agoMerge pull request #50206 from TRYTOBE8TME/wip-rgw-yield-work
Casey Bodley [Wed, 21 Jun 2023 18:52:20 +0000 (14:52 -0400)]
Merge pull request #50206 from TRYTOBE8TME/wip-rgw-yield-work

rgw: replace null_yields with optional ones

Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
Reviewed-by: Casey Bodley <cbodley@redhat.com>
2 years agoqa/workunits/cephadm: update script use use cephadm _orch deploy 51738/head
John Mulligan [Tue, 20 Jun 2023 20:58:07 +0000 (16:58 -0400)]
qa/workunits/cephadm: update script use use cephadm _orch deploy

cephadm _orch deploy will eventually be the only deploy method so
we need to update the test script.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2 years agocephadm: dont set ctx.image if json deploy image is unset
John Mulligan [Mon, 19 Jun 2023 16:54:24 +0000 (12:54 -0400)]
cephadm: dont set ctx.image if json deploy image is unset

If no image has been provided in the "deploy from" json do not set
ctx.image to it (empty-string or None) as we may have had a valid
value passed on the --image CLI option.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2 years agoMerge pull request #52123 from zdover23/wip-doc-2023-06-20-rados-operations-control...
zdover23 [Wed, 21 Jun 2023 13:34:55 +0000 (23:34 +1000)]
Merge pull request #52123 from zdover23/wip-doc-2023-06-20-rados-operations-control-1-of-x

doc/rados: edit control.rst (1 of x)

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
2 years agodoc/rados: edit control.rst (1 of x) 52123/head
Zac Dover [Tue, 20 Jun 2023 02:12:44 +0000 (12:12 +1000)]
doc/rados: edit control.rst (1 of x)

Edit doc/rados/operations/control.rst.

Co-authored-by: Anthony D'Atri <anthony.datri@gmail.com>
Signed-off-by: Zac Dover <zac.dover@proton.me>
2 years agoMerge pull request #52109 from idryomov/wip-61616
Ilya Dryomov [Wed, 21 Jun 2023 09:43:26 +0000 (11:43 +0200)]
Merge pull request #52109 from idryomov/wip-61616

librbd: avoid object map corruption in snapshots taken under I/O

Reviewed-by: Mykola Golub <mgolub@suse.com>
2 years agoqa/workunits/rbd: make continuous export-diff test actually work 52109/head
Ilya Dryomov [Fri, 16 Jun 2023 12:01:52 +0000 (14:01 +0200)]
qa/workunits/rbd: make continuous export-diff test actually work

The current version is pretty useless:

- "rbd bench" writes the same byte (0xff) over and over again, so
  almost all checksumming is in vain
- snapshots are taken in a steady state (i.e. not under I/O), so no
  race conditions can get exposed
- even with these caveats, it's not wired up into the suite

Redo this workunit to be a reliable reproducer for the issue fixed
in the previous commit and wire it up for both krbd and rbd-nbd.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2 years agocrimson/osd/osd_operations/pg_advance_map: 'from' epoch may vary between PGS explanation 51961/head
Matan Breizman [Tue, 20 Jun 2023 17:51:52 +0000 (17:51 +0000)]
crimson/osd/osd_operations/pg_advance_map: 'from' epoch may vary between PGS explanation

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
2 years agocrimson/osd/osdmap_gate: got_map() assert increase of current epoch
Matan Breizman [Sun, 28 May 2023 10:31:37 +0000 (10:31 +0000)]
crimson/osd/osdmap_gate: got_map() assert increase of current epoch

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
2 years agoMerge pull request #51827 from liu-chunmei/get_assert
Samuel Just [Tue, 20 Jun 2023 18:06:31 +0000 (11:06 -0700)]
Merge pull request #51827 from liu-chunmei/get_assert

crimson:  fix RefCountedObject::_get() assert

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
2 years agocrimson/osd/shard_services: get_or_create_pg() remove unused variable
Matan Breizman [Wed, 24 May 2023 15:36:10 +0000 (15:36 +0000)]
crimson/osd/shard_services: get_or_create_pg() remove unused variable

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
2 years agocrimson/osd/shard_services: Refactor OSDSingletonState::load_map
Matan Breizman [Wed, 10 May 2023 13:54:17 +0000 (13:54 +0000)]
crimson/osd/shard_services: Refactor OSDSingletonState::load_map

Added logs
If case reconstructed - epoch is unsigned.

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
2 years agocrimson/osd/osd_meta: Abort instead of throwing runtime_error
Matan Breizman [Wed, 10 May 2023 13:53:18 +0000 (13:53 +0000)]
crimson/osd/osd_meta: Abort instead of throwing runtime_error

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
2 years agocrimson/osd: Add logs around handling of osdmaps
Matan Breizman [Wed, 10 May 2023 13:52:23 +0000 (13:52 +0000)]
crimson/osd: Add logs around handling of osdmaps

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
2 years agocrimson/osd/pg: Fix assert of osd_debug_verify_cached_snaps
Matan Breizman [Wed, 24 May 2023 12:52:40 +0000 (12:52 +0000)]
crimson/osd/pg: Fix assert of osd_debug_verify_cached_snaps

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
2 years agoMerge pull request #52104 from anthonyeleven/anthonyeleven/fixfft
Anthony D'Atri [Tue, 20 Jun 2023 12:38:04 +0000 (08:38 -0400)]
Merge pull request #52104 from anthonyeleven/anthonyeleven/fixfft

doc/rados/operations: Improve formatting in crush-map.rst

2 years agodoc/rados/operations: Improve formatting in crush-map.rst 52104/head
Anthony D'Atri [Sat, 17 Jun 2023 10:37:58 +0000 (06:37 -0400)]
doc/rados/operations: Improve formatting in crush-map.rst

Signed-off-by: Anthony D'Atri <anthonyeleven@users.noreply.github.com>
2 years agorgw/kafka: fix potential memory leak when push to queue fails 52129/head
Yuval Lifshitz [Tue, 20 Jun 2023 10:21:33 +0000 (10:21 +0000)]
rgw/kafka: fix potential memory leak when push to queue fails

Signed-off-by: Yuval Lifshitz <ylifshit@redhat.com>
2 years agoMerge PR #51500 into main
Venky Shankar [Tue, 20 Jun 2023 10:04:30 +0000 (15:34 +0530)]
Merge PR #51500 into main

* refs/pull/51500/head:
test/libcephfs: add test case for revoking caps
client: issue a cap release immediately if no cap exists
mds: add the revoking caps back to _revokes list
mds: move confirm_receipt() to Capability.cc

Reviewed-by: Milind Changire <mchangir@redhat.com>
Reviewed-by: Venky Shankar <vshankar@redhat.com>
2 years agoMerge PR #51655 into main
Venky Shankar [Tue, 20 Jun 2023 04:35:31 +0000 (10:05 +0530)]
Merge PR #51655 into main

* refs/pull/51655/head:
mds: display sane hex value (0x0) for empty feature bit

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Xiubo Li <xiubli@redhat.com>
Reviewed-by: Rishabh Dave <ridave@redhat.com>
Reviewed-by: Venky Shankar <vshankar@redhat.com>
2 years agosrc/rgw: Additional changes based on comments 50206/head
Kalpesh Pandya [Thu, 23 Feb 2023 11:09:25 +0000 (16:39 +0530)]
src/rgw: Additional changes based on comments

Signed-off-by: Kalpesh Pandya <kapandya@redhat.com>
2 years agosrc/rgw: Changing null_yield to optional_yield
Kalpesh Pandya [Tue, 21 Feb 2023 11:56:41 +0000 (17:26 +0530)]
src/rgw: Changing null_yield to optional_yield

Changing null_yield in rgw_sal_rados.cc

Signed-off-by: Kalpesh Pandya <kapandya@redhat.com>
2 years agosrc/rgw: Changing null_yield to optional_yield
Kalpesh Pandya [Mon, 20 Feb 2023 20:22:16 +0000 (01:52 +0530)]
src/rgw: Changing null_yield to optional_yield

Changing null_yield in rgw_reshard.cc

Signed-off-by: Kalpesh Pandya <kapandya@redhat.com>
2 years agosrc/rgw: Changing null_yield to optional_yield
Kalpesh Pandya [Thu, 16 Feb 2023 22:30:30 +0000 (04:00 +0530)]
src/rgw: Changing null_yield to optional_yield

Passing optional_yield to rgw_rados.cc

Signed-off-by: Kalpesh Pandya <kapandya@redhat.com>
2 years agosrc/rados: Changing null_yield to optional_yield
Kalpesh Pandya [Thu, 16 Feb 2023 07:55:39 +0000 (13:25 +0530)]
src/rados: Changing null_yield to optional_yield

Passing optional_yield at all places in rgw_bucket.cc

Signed-off-by: Kalpesh Pandya <kapandya@redhat.com>
2 years agosrc/rgw: Changing null_yield to optional_yield
Kalpesh Pandya [Thu, 16 Feb 2023 07:31:30 +0000 (13:01 +0530)]
src/rgw: Changing null_yield to optional_yield

Focused on rgw_rados_operate() and passing null_yield in
rgw_lc.cc, rgw_gc.cc, rgw_object_expirer_core.cc

Signed-off-by: Kalpesh Pandya <kapandya@redhat.com>
2 years agorgw: pubsub: pass yield context
Yehuda Sadeh [Wed, 1 Dec 2021 19:35:27 +0000 (11:35 -0800)]
rgw: pubsub: pass yield context

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2 years agorgw: rados: pass yield context in a few places
Yehuda Sadeh [Wed, 1 Dec 2021 21:26:27 +0000 (13:26 -0800)]
rgw: rados: pass yield context in a few places

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2 years agoMerge pull request #51681 from cbodley/wip-61349
Casey Bodley [Mon, 19 Jun 2023 18:10:19 +0000 (14:10 -0400)]
Merge pull request #51681 from cbodley/wip-61349

librados: aio operate functions can set mtimes

Reviewed-by: Radosław Zarzyński <rzarzyns@redhat.com>
2 years agoMerge pull request #51737 from cbodley/wip-rocksdb-44
Yuri Weinstein [Mon, 19 Jun 2023 17:31:23 +0000 (13:31 -0400)]
Merge pull request #51737 from cbodley/wip-rocksdb-44

bump rocksdb submodule to latest ceph-reef-v7.9.2

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2 years agoMerge pull request #51669 from ronen-fr/wip-rf-max-scrub-3
Ronen Friedman [Mon, 19 Jun 2023 17:29:50 +0000 (20:29 +0300)]
Merge pull request #51669 from ronen-fr/wip-rf-max-scrub-3

osd/scrub: increasing max_osd_scrubs to 3

Reviewed-by: Neha Ojha <nojha@redhat.com>
2 years agoMerge pull request #48209 from kamoltat/wip-ksirivad-fix-tracker-57570
Yuri Weinstein [Mon, 19 Jun 2023 17:29:21 +0000 (13:29 -0400)]
Merge pull request #48209 from kamoltat/wip-ksirivad-fix-tracker-57570

osd/OSDMap: Check for uneven weights & != 2 buckets post stretch mode

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
2 years agorgw: D3N cache objects which oid contains slash 51819/head
Mark Kogan [Mon, 29 May 2023 17:36:56 +0000 (17:36 +0000)]
rgw: D3N cache objects which oid contains slash

Fixes: https://tracker.ceph.com/issues/59739
Signed-off-by: Mark Kogan <mkogan@redhat.com>
2 years agomds: display sane hex value (0x0) for empty feature bit 51655/head
Jos Collin [Mon, 22 May 2023 04:31:39 +0000 (10:01 +0530)]
mds: display sane hex value (0x0) for empty feature bit

Print a valid hex (0x0) during empty feature bit, so that the clients could recognize it.
When the _vec size becomes 0, print() function creates an invalid hex (0x) and 'perf stats'
crashes with the below error:
"
File "/opt/ceph/src/pybind/mgr/stats/fs/perf_stats.py", line 177, in notify_cmd
metric_features = int(metadata[CLIENT_METADATA_KEY]["metric_spec"]["metric_flags"]["feature_bits"], 16)
ValueError: invalid literal for int() with base 16: '0x'
"
This patch creates  a valid hex (0x0), when _vec size is 0.

Fixes: https://tracker.ceph.com/issues/59551
Signed-off-by: Jos Collin <jcollin@redhat.com>
2 years agolibrbd: stop passing IOContext to image dispatch write methods
Ilya Dryomov [Tue, 13 Jun 2023 11:36:02 +0000 (13:36 +0200)]
librbd: stop passing IOContext to image dispatch write methods

This is a major footgun since any value passed e.g. at the API layer
may be stale by the time we get to object dispatch.  All callers are
passing the IOContext returned by get_data_io_context() for their
ImageCtx anyway, highlighting that the parameter is fictitious.

Only the read method can meaningfully take IOContext.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2 years agolibrbd: use an up-to-date snap context when owning the exclusive lock
Ilya Dryomov [Mon, 12 Jun 2023 19:45:03 +0000 (21:45 +0200)]
librbd: use an up-to-date snap context when owning the exclusive lock

By effectively moving capturing of the snap context to the API layer,
commit 1d0a3b17f590 ("librbd: pass IOContext to image-extent IO
dispatch methods") introduced a nasty regression.  The snap context can
be captured only after exclusive lock is safely held for the duration
of dealing with the image request and even then must be refreshed if
a snapshot creation request is accepted from a peer.  This is needed to
ensure correctness of the object map in general and fast-diff states in
particular (OBJECT_EXISTS vs OBJECT_EXISTS_CLEAN) and object deltas
computed based off of them.  Otherwise the object map that is forked
for the snapshot isn't guaranteed to accurately reflect the contents of
the snapshot when the snapshot is taken under I/O (as in disabling the
object map may lead to different results being returned for reads).

The regression affects mainly differential backup and snapshot-based
mirroring use cases with object-map and/or fast-diff enabled: since
some object deltas may be incomplete, the destination image may get
corrupted.

This commit represents a reasonable minimal fix: IOContext passed
through to ImageDispatch is effected only for reads and just gets
ignored for writes.  The next commit cleans up further by undoing the
passing of IOContext through the image dispatch layers for writes.

Fixes: https://tracker.ceph.com/issues/61616
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2 years agoMerge pull request #52105 from gsantella/patch-update-typo-on-dashboard
Anthony D'Atri [Sat, 17 Jun 2023 16:50:03 +0000 (12:50 -0400)]
Merge pull request #52105 from gsantella/patch-update-typo-on-dashboard

doc/mgr/dashboard: fix a typo

2 years agodoc/mgr/dashboard: fix a typo 52105/head
gsantella [Sat, 17 Jun 2023 13:49:15 +0000 (09:49 -0400)]
doc/mgr/dashboard: fix a typo

Signed-off-by: Guido Santella <gsantella@southhills.edu>
2 years agoMerge pull request #52100 from zdover23/wip-doc-2023-06-17-rados-operations-crush...
zdover23 [Sat, 17 Jun 2023 09:54:40 +0000 (19:54 +1000)]
Merge pull request #52100 from zdover23/wip-doc-2023-06-17-rados-operations-crush-map-firefly-tunables

doc/rados: edit firefly tunables section

Reviewed-by: Cole Mitchell <cole.mitchell.ceph@gmail.com>
2 years agodoc/rados: edit firefly tunables section 52100/head
Zac Dover [Sat, 17 Jun 2023 00:51:51 +0000 (10:51 +1000)]
doc/rados: edit firefly tunables section

Edit the firefly tunables section in
/doc/rados/operations/crush-map.rst.

Signed-off-by: Zac Dover <zac.dover@proton.me>
2 years agoMerge pull request #52092 from zdover23/wip-doc-2023-06-16-rados-operations-crush...
zdover23 [Fri, 16 Jun 2023 22:17:41 +0000 (08:17 +1000)]
Merge pull request #52092 from zdover23/wip-doc-2023-06-16-rados-operations-crush-map-4-of-x

doc/rados: edit crush-map.rst (4 of x)

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
2 years agodoc/rados: edit crush-map.rst (4 of x) 52092/head
Zac Dover [Fri, 16 Jun 2023 08:49:09 +0000 (18:49 +1000)]
doc/rados: edit crush-map.rst (4 of x)

Edit doc/rados/operations/crush-map.rst.

https://tracker.ceph.com/issues/58485

Co-authored-by: Anthony D'Atri <anthony.datri@gmail.com>
Signed-off-by: Zac Dover <zac.dover@proton.me>
2 years agoMerge pull request #50874 from rishabh-d-dave/mds-log-variable
Rishabh Dave [Fri, 16 Jun 2023 17:27:02 +0000 (22:57 +0530)]
Merge pull request #50874 from rishabh-d-dave/mds-log-variable

mds: use variable g_ceph_context directly in MDSAuthCaps

Reviewed-by: Venky Shankar <vshankar@redhat.com>
Reviewed-by: Dhairya Parmar <dparmar@redhat.com>
Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2 years agoMerge pull request #52095 from rhcs-dashboard/jsonschema-fix
Ernesto Puerta [Fri, 16 Jun 2023 15:23:07 +0000 (17:23 +0200)]
Merge pull request #52095 from rhcs-dashboard/jsonschema-fix

mgr/dashboard: fix the jsonschema issue in install-deps

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
2 years agoMerge pull request #51549 from vedanshbhartia/coverity_1517658
Yuval Lifshitz [Fri, 16 Jun 2023 15:15:56 +0000 (18:15 +0300)]
Merge pull request #51549 from vedanshbhartia/coverity_1517658

rgw: modify RGWRados::cls_bucket_list_ordered to store dirent key before move

2 years agoMerge pull request #51719 from vedanshbhartia/coverity_1510555
Yuval Lifshitz [Fri, 16 Jun 2023 15:15:28 +0000 (18:15 +0300)]
Merge pull request #51719 from vedanshbhartia/coverity_1510555

rgw: Use a unique_ptr when creating a D3nCacheAioWriteRequest instance

2 years agoMerge pull request #52076 from rhcs-dashboard/cephfs-no-mds-clients
Nizamudeen A [Fri, 16 Jun 2023 14:48:12 +0000 (20:18 +0530)]
Merge pull request #52076 from rhcs-dashboard/cephfs-no-mds-clients

mgr/dashboard: empty list of fs clients with no mds

Reviewed-by: Nizamudeen A <nia@redhat.com>
2 years agoMerge pull request #52089 from samarahu/d4n-cmake-fix
Daniel Gryniewicz [Fri, 16 Jun 2023 14:20:59 +0000 (10:20 -0400)]
Merge pull request #52089 from samarahu/d4n-cmake-fix

RGW: Place D4N files under cmake conditional

2 years agomds: use variable g_ceph_context directly in MDSAuthCaps 50874/head
Rishabh Dave [Tue, 28 Feb 2023 16:39:44 +0000 (22:09 +0530)]
mds: use variable g_ceph_context directly in MDSAuthCaps

Variable g_ceph_context is global, therefore use it directly instead of
passing it as a parameter to method.

Signed-off-by: Rishabh Dave <ridave@redhat.com>
2 years agoMerge pull request #52010 from pkalever/fix-ImageMap
Ilya Dryomov [Fri, 16 Jun 2023 12:43:45 +0000 (14:43 +0200)]
Merge pull request #52010 from pkalever/fix-ImageMap

rbd-mirror: don't refer to (remote) mirror_uuid as peer_uuid

Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
2 years agoMerge pull request #51132 from lxbsz/wip-59349
Rishabh Dave [Fri, 16 Jun 2023 12:22:00 +0000 (17:52 +0530)]
Merge pull request #51132 from lxbsz/wip-59349

qa: wait for 100 seconds to make sure the quota to be enforced

Reviewed-by: Venky Shankar <vshankar@redhat.com>
Reviewed-by: Rishabh Dave <ridave@redhat.com>
2 years agomgr/dashboard: fix the jsonschema issue in install-deps 52095/head
Nizamudeen A [Fri, 16 Jun 2023 09:08:52 +0000 (14:38 +0530)]
mgr/dashboard: fix the jsonschema issue in install-deps

Fixes: https://tracker.ceph.com/issues/61690
Signed-off-by: Nizamudeen A <nia@redhat.com>
2 years agoMerge pull request #52067 from zdover23/wip-doc-2023-06-15-rados-operations-crush...
zdover23 [Fri, 16 Jun 2023 09:05:15 +0000 (19:05 +1000)]
Merge pull request #52067 from zdover23/wip-doc-2023-06-15-rados-operations-crush-map-3-of-x

doc/rados: edit crush-map.rst (3 of x)

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
2 years agodoc/rados: edit crush-map.rst (3 of x) 52067/head
Zac Dover [Thu, 15 Jun 2023 03:36:45 +0000 (13:36 +1000)]
doc/rados: edit crush-map.rst (3 of x)

Edit doc/rados/operations/crush-map.rst.

https://tracker.ceph.com/issues/58485

Co-authored-by: Anthony D'Atri <anthony.datri@gmail.com>
Signed-off-by: Zac Dover <zac.dover@proton.me>
2 years agomgr/dashboard: empty list of fs clients with no mds 52076/head
Pere Diaz Bou [Thu, 15 Jun 2023 09:38:44 +0000 (11:38 +0200)]
mgr/dashboard: empty list of fs clients with no mds

Signed-off-by: Pere Diaz Bou <pere-altea@hotmail.com>
Fixes: https://tracker.ceph.com/issues/61708
2 years agoqa: adding clay test to thrash erasure code big 52072/head
NitzanMordhai [Thu, 15 Dec 2022 08:42:04 +0000 (08:42 +0000)]
qa: adding clay test to thrash erasure code big
Currently we don't have any clay test in the erasure code big tests
adding also clay tests.

Signed-off-by: Nitzan Mordechai <nmordech@redhat.com>
2 years agorbd-mirror: don't refer to (remote) mirror_uuid as peer_uuid 52010/head
Prasanna Kumar Kalever [Mon, 12 Jun 2023 11:37:30 +0000 (17:07 +0530)]
rbd-mirror: don't refer to (remote) mirror_uuid as peer_uuid

peer_uuid and mirror_uuid are different identifiers, we should not use
peer_uuid naming for remote mirror_uuid.

Signed-off-by: Prasanna Kumar Kalever <prasanna.kalever@redhat.com>
2 years agoRGW: Place D4N files under cmake conditional 52089/head
Samarah [Thu, 15 Jun 2023 17:10:41 +0000 (13:10 -0400)]
RGW: Place D4N files under cmake conditional

Signed-off-by: Samarah <samarah.uriarte@ibm.com>
2 years agocephadm: remove call to get_parm from fetch_configs
John Mulligan [Thu, 15 Jun 2023 19:54:09 +0000 (15:54 -0400)]
cephadm: remove call to get_parm from fetch_configs

Stop using get_parm in fetch_configs. Doing so makes clear that
the two if-branches in fetch_configs are symmetric, in the
handling of custom_config_files and symmetric with the behavior
of fetch_custom_config_files.
It also reveals that get_parm only has one remaining caller making it
simpler to remove get_parm in the future.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2 years agocephadm: convert test case to call command_deploy_from
John Mulligan [Sat, 20 May 2023 17:45:10 +0000 (13:45 -0400)]
cephadm: convert test case to call command_deploy_from

The test was previously using command_deploy but that is being
deprecated so call command_deploy_from instead.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2 years agocephadm: combine deploy functions some more
John Mulligan [Tue, 30 May 2023 20:23:13 +0000 (16:23 -0400)]
cephadm: combine deploy functions some more

During review it was pointed out that much of command_deploy and
command_deploy_from were still common. Combine the bulk of
command_deploy and command_deploy_from into a new _common_deploy.
The old _common_deploy is renamed to _dispatch_deploy but kept
as a separate function.

The reason for keeping _dispatch_deploy as a function is that
it limits the scope of variables. It helps knowing exactly what
is needed and what is not needed from _common_deploy.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2 years agocephadm: drop deploy_arguments key from deploy config JSON
John Mulligan [Thu, 1 Jun 2023 17:27:37 +0000 (13:27 -0400)]
cephadm: drop deploy_arguments key from deploy config JSON

Drop the now unnecessary deploy_arguments subsection from the JSON
object that the new `_orch deploy` takes. The intermediate code that
used it in the ceph mgr module has been replaced with `params`.

We still want to share some code with the old deploy, especially the
default values for various things that get attached to `ctx`. In
some cases this is particularly important as not all code checks
that `ctx` has an attribute first. Create an `ArgumentFacade` type
to reuse the `add_argument` calls for deploy, and instead store the
default key-value pairs for `ctx`.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2 years agocephadm: add a test for the apply_deploy_config_to_ctx function
John Mulligan [Thu, 1 Jun 2023 17:27:27 +0000 (13:27 -0400)]
cephadm: add a test for the apply_deploy_config_to_ctx function

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2 years agocephadm: split command_deploy_from into mockable parts
John Mulligan [Sat, 20 May 2023 17:42:02 +0000 (13:42 -0400)]
cephadm: split command_deploy_from into mockable parts

Split up command_deploy_from so that the part that reads the JSON
from an input source is moved into read_configuration_source and
the part that applied the configuration data to the ctx is moved
into apply_deploy_config_to_ctx. This will make these sections
reusable and, more importantly, make it easier to mock/monkeypatch
these functions in tests.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2 years agocephadm: make the old command_deploy deprecated with decorator
John Mulligan [Thu, 18 May 2023 20:14:24 +0000 (16:14 -0400)]
cephadm: make the old command_deploy deprecated with decorator

Add a deprecated command decorator. Decorate the old command_deploy with
it. By default it just logs if a deprecated command was used, but
custom builds of cephadm can set the NO_DEPRECATED var to True
and fail if a deprecated command is used.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2 years agomgr/cephadm: add exchange types and use them for deploy
John Mulligan [Thu, 18 May 2023 19:10:16 +0000 (15:10 -0400)]
mgr/cephadm: add exchange types and use them for deploy

Add an exchange module for defining the "exchange protocol" that the
mgr module uses for communicating with the cephadm binary.  The
exchange module classes use data descriptors to define supported
fields in the resulting data and will be serialized to JSON for
communicating with cephadm.

The cephadm binary does not use these types because it currently
doesn't import anything outside of the standard library. A suggested
future change would be to move 'exhange.py' to python-common somewhere
and have the module be imported by both the mgr and cephadm and used
for both serialization and deserialization.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2 years agomgr/cephadm: convert test_services.py for new deploy
John Mulligan [Tue, 16 May 2023 23:44:51 +0000 (19:44 -0400)]
mgr/cephadm: convert test_services.py for new deploy

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2 years agomgr/cephadm: convert test_cephadm.py for new deploy
John Mulligan [Tue, 16 May 2023 23:44:34 +0000 (19:44 -0400)]
mgr/cephadm: convert test_cephadm.py for new deploy

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2 years agomgr/cephadm: block future use of extra_args
John Mulligan [Tue, 16 May 2023 17:49:28 +0000 (13:49 -0400)]
mgr/cephadm: block future use of extra_args

Convert `extra_args` into a read-only property so that
current code continues to work but anything that tries
to set any `extra_args` now or in the future will be
intentionally broken.

This is mainly to find issues when running unit and teuthology tests.
This patch could be dropped before the final merge if desired.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2 years agomgr/cephadm: convert extra_args to daemon_params dict
John Mulligan [Tue, 16 May 2023 17:48:58 +0000 (13:48 -0400)]
mgr/cephadm: convert extra_args to daemon_params dict

In serve.py we were creating various command line arguments
(and their values) to pass to cephadm. Now that we support
a single unified JSON-based input we can stop passing
these as CLI parameters and just pass it as a singular
JSONified dict.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2 years agomgr/cephadm: deploy using deploy-from command
John Mulligan [Thu, 11 May 2023 15:07:53 +0000 (11:07 -0400)]
mgr/cephadm: deploy using deploy-from command

The new `deploy-from` command aims to be a cleaner, clearer way to pass
input to cephadm for service deployment. Make a minimal set of change to
use that new command.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2 years agomgr/cephadm: allow passing a list as a compound command to _run_cephadm
John Mulligan [Wed, 24 May 2023 18:11:52 +0000 (14:11 -0400)]
mgr/cephadm: allow passing a list as a compound command to _run_cephadm

As we're adding "namespaces" to the cephadm command it's easier to work
with a compound list of terms as the command. This also avoids an issue
where the function call injects args between the command and the "args"
passed to _run_cephadm.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2 years agocephadm: update code to use fetch_custom_config_files
John Mulligan [Thu, 15 Jun 2023 19:34:15 +0000 (15:34 -0400)]
cephadm: update code to use fetch_custom_config_files

Update the code to use fetch_custom_config_files rather than
get_custom_config_files.  Like other fetch_ functions recently added
to cephadm we don't LBYL for checking values on ctx, but rather
call the fetch function on ctx and then check if the result contains
actionable data.
get_custom_config_files gets removed as no remaining callers exist.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2 years agocephadm: add fetch_custom_config_files function
John Mulligan [Thu, 15 Jun 2023 19:34:09 +0000 (15:34 -0400)]
cephadm: add fetch_custom_config_files function

This function works similarly to get_custom_config_files but doesn't
require the use of "ctx.config_json" and will prefer sourcing the
data from `config_blobs`.
This function also returns the list of dicts rather than return a dict
with exactly one key which maps to said list of dicts. There appeared
to be no benefit to that when the call sites of get_custom_config_files
was examined.

This function is `fetch_configs` evil twin.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2 years agocephadm: update code to use the fetch_tcp_ports function
John Mulligan [Fri, 26 May 2023 19:13:03 +0000 (15:13 -0400)]
cephadm: update code to use the fetch_tcp_ports function

Replace a bunch of locations that were "parsing" the tcp ports to use
the recently added fetch_tcp_ports function.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2 years agocephadm: add fetch_tcp_ports function for getting processed ports
John Mulligan [Fri, 26 May 2023 19:06:40 +0000 (15:06 -0400)]
cephadm: add fetch_tcp_ports function for getting processed ports

The cephadm cli can pass ports as either a string containing space
separated port numbers or, in the newer method, a (JSON) list of ints.
The fetch_tcp_ports function abstracts away the handling of
these input forms.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2 years agocephadm: add deploy-from command
John Mulligan [Thu, 11 May 2023 15:05:07 +0000 (11:05 -0400)]
cephadm: add deploy-from command

Add the `deploy-from` command. This command is like `deploy` in
functionality but instead of sourcing input from a mixture of various
CLI arguments, CLI arguments that take JSON strings, and JSON data
provided on stdin - this command aims to take configuration from a
single unified JSON object provided on the commands stdin.

This change strives to be as reasonably backwards compatible with
`deploy` as possible and this leads to some awkward hoop-jumping,
including: needing to nest CLI arguments inside the JSON, because
that is what the manager constructs; duplicate sources of the fsid
(CLI and JSON); the strange behavior of CephadmContext when setting
values; and a few others I'm probably forgetting.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2 years agocephadm: move the definition of most deploy args into a function
John Mulligan [Thu, 11 May 2023 14:55:14 +0000 (10:55 -0400)]
cephadm: move the definition of most deploy args into a function

Moving the bulk of the arguments specific to the `deploy` command will
allow future reuse of these arguments.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2 years agocephadm: be more explicit with a Dict's type specification
John Mulligan [Thu, 11 May 2023 14:36:50 +0000 (10:36 -0400)]
cephadm: be more explicit with a Dict's type specification

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2 years agocephadm: update code to use fetch_configs function
John Mulligan [Thu, 11 May 2023 14:36:13 +0000 (10:36 -0400)]
cephadm: update code to use fetch_configs function

Use the fetch_configs function wherever we were previously reading
configs via `get_parm(ctx.config_json)`.

Signed-off-by: John Mulligan <jmulligan@redhat.com>