]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
4 years agocrimson/os/seastore/transasction: expose is_conflicted
Samuel Just [Thu, 24 Jun 2021 23:27:34 +0000 (16:27 -0700)]
crimson/os/seastore/transasction: expose is_conflicted

Useful for components not yet converted to use interruptible_future.

Signed-off-by: Samuel Just <sjust@redhat.com>
4 years agoMerge pull request #41963 from athanatos/sjust/wip-interruptible-tm
Samuel Just [Thu, 24 Jun 2021 20:19:47 +0000 (13:19 -0700)]
Merge pull request #41963 from athanatos/sjust/wip-interruptible-tm

crimson/os/seastore: refactor transaction_manager and below to use interruptible_future

Reviewed-by: Kefu Chai <kchai@redhat.com>
4 years agotest/crimson/test_interruptible_future: disable handle_error 41963/head
Samuel Just [Thu, 24 Jun 2021 17:08:34 +0000 (17:08 +0000)]
test/crimson/test_interruptible_future: disable handle_error

Seems to cause a linker hang with gcc-9 in bionic.

Signed-off-by: Samuel Just <sjust@redhat.com>
4 years agocrimson/os/seastore/transaction_manager: pass t by ref to submit_transaction
Samuel Just [Sat, 19 Jun 2021 07:43:27 +0000 (00:43 -0700)]
crimson/os/seastore/transaction_manager: pass t by ref to submit_transaction

Signed-off-by: Samuel Just <sjust@redhat.com>
4 years agoMerge pull request #39934 from Jeegn-Chen/wip-tracker-49128
Casey Bodley [Thu, 24 Jun 2021 16:17:53 +0000 (12:17 -0400)]
Merge pull request #39934 from Jeegn-Chen/wip-tracker-49128

rgw: write meta of a MP part to a correct pool

Reviewed-by: Casey Bodley <cbodley@redhat.com>
4 years agoMerge pull request #41739 from liewegas/rgw-realm-metadata
Casey Bodley [Thu, 24 Jun 2021 16:16:19 +0000 (12:16 -0400)]
Merge pull request #41739 from liewegas/rgw-realm-metadata

radosgw: include realm_{id,name} in service map

Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Alfonso Martínez <almartin@redhat.com>
Reviewed-by: Casey Bodley <cbodley@redhat.com>
4 years agoMerge pull request #41994 from anthonyeleven/anthonyeleven/adjust-rados-operations...
zdover23 [Thu, 24 Jun 2021 13:51:30 +0000 (23:51 +1000)]
Merge pull request #41994 from anthonyeleven/anthonyeleven/adjust-rados-operations-pools

doc/rados/operations: Update pools.rst

Reviewed-by: Zac Dover <zac.dover@gmail.com>
4 years agoMerge pull request #42005 from trociny/wip-51342
Ilya Dryomov [Thu, 24 Jun 2021 12:48:13 +0000 (14:48 +0200)]
Merge pull request #42005 from trociny/wip-51342

test/librbd: use really invalid domain

Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
4 years agotest/librbd: use really invalid domain 42005/head
Mykola Golub [Thu, 24 Jun 2021 10:23:21 +0000 (11:23 +0100)]
test/librbd: use really invalid domain

in TestMockMigrationHttpClient.OpenResolveFail

Fixes: https://tracker.ceph.com/issues/51342
Signed-off-by: Mykola Golub <mgolub@suse.com>
4 years agoMerge pull request #41828 from tchaikov/wip-btree-alloc
Kefu Chai [Thu, 24 Jun 2021 11:10:22 +0000 (19:10 +0800)]
Merge pull request #41828 from tchaikov/wip-btree-alloc

os/bluestore: add BtreeAllocator

Reviewed-by: Adam Kupczyk <akupczyk@redhat.com>
4 years agoMerge PR #41935 into master
Patrick Donnelly [Wed, 23 Jun 2021 20:24:58 +0000 (13:24 -0700)]
Merge PR #41935 into master

* refs/pull/41935/head:
mds: avoid journaling overhead for ceph.dir.subvolume for no-op case

Reviewed-by: Venky Shankar <vshankar@redhat.com>
4 years agocrimson/os/seastore: convert transaction_manager internally to use interruptible_future
Samuel Just [Sat, 19 Jun 2021 07:40:34 +0000 (00:40 -0700)]
crimson/os/seastore: convert transaction_manager internally to use interruptible_future

Consumers of TransactionManager use wrapper classes InterruptedTransactionManager
and InterruptedTMRef for now until we convert them.

Also converts users of InterruptedCache etc and removes.

Signed-off-by: Samuel Just <sjust@redhat.com>
4 years agotest/crimson/seastore/test_seastore_cache: use cache directly
Samuel Just [Mon, 14 Jun 2021 23:25:14 +0000 (23:25 +0000)]
test/crimson/seastore/test_seastore_cache: use cache directly

Signed-off-by: Samuel Just <sjust@redhat.com>
4 years agocrimson/os/seastore/lba_manager/btree: convert to use interruptible_future
Samuel Just [Fri, 11 Jun 2021 00:21:26 +0000 (17:21 -0700)]
crimson/os/seastore/lba_manager/btree: convert to use interruptible_future

Signed-off-by: Samuel Just <sjust@redhat.com>
4 years agocrimson/os/seastore/cache: convert to use interruptible future
Samuel Just [Tue, 22 Jun 2021 00:10:29 +0000 (17:10 -0700)]
crimson/os/seastore/cache: convert to use interruptible future

Introduces InterruptedCache wrapper for now for components not yet
converted.

Signed-off-by: Samuel Just <sjust@redhat.com>
4 years agocrimson/os/seastore/transaction: introduce TransactionConflictCondition interruptor
Samuel Just [Thu, 3 Jun 2021 21:51:03 +0000 (14:51 -0700)]
crimson/os/seastore/transaction: introduce TransactionConflictCondition interruptor

Signed-off-by: Samuel Just <sjust@redhat.com>
4 years agocrimson/os/seastore/cache.h: remove unused get_extents
Samuel Just [Thu, 3 Jun 2021 21:43:37 +0000 (14:43 -0700)]
crimson/os/seastore/cache.h: remove unused get_extents

Signed-off-by: Samuel Just <sjust@redhat.com>
4 years agocrimson/os/seastore: invalidate transaction referencing invalid extents
Samuel Just [Wed, 12 May 2021 09:04:16 +0000 (09:04 +0000)]
crimson/os/seastore: invalidate transaction referencing invalid extents

Modify read_set to retain a reverse mapping from extents back to
transactions and use it to update Transaction::conflicted upon
invalidation.

Signed-off-by: Samuel Just <sjust@redhat.com>
4 years agotest/crimson/test_interruptible_future: add tests for errorated behavior
Samuel Just [Mon, 21 Jun 2021 23:57:48 +0000 (16:57 -0700)]
test/crimson/test_interruptible_future: add tests for errorated behavior

Signed-off-by: Samuel Just <sjust@redhat.com>
4 years agocrimson/common/interruptible_future: add interruptor::base_ertr
Samuel Just [Tue, 15 Jun 2021 00:24:41 +0000 (17:24 -0700)]
crimson/common/interruptible_future: add interruptor::base_ertr

Signed-off-by: Samuel Just <sjust@redhat.com>
4 years agocrimson/common/interruptible_future: add safe_then_interruptible for multiple error...
Samuel Just [Fri, 11 Jun 2021 00:03:37 +0000 (17:03 -0700)]
crimson/common/interruptible_future: add safe_then_interruptible for multiple error handlers

Signed-off-by: Samuel Just <sjust@redhat.com>
4 years agocrimson/common/interruptible_future: refactor handle_interruption
Samuel Just [Fri, 18 Jun 2021 06:19:16 +0000 (23:19 -0700)]
crimson/common/interruptible_future: refactor handle_interruption

handle_interruption can't really be validly used outside of
with_interruption_cond.  Make private, and adjust is_interruption
to not require an instance.

Signed-off-by: Samuel Just <sjust@redhat.com>
4 years agocrimson/common/interruptible_future: remove enable/disable_interruption
Samuel Just [Thu, 17 Jun 2021 21:06:41 +0000 (14:06 -0700)]
crimson/common/interruptible_future: remove enable/disable_interruption

with_interruption_cond needs to check the condition on the way in.
call_with_interruption_impl already has the required machinery, so
let's just use it and dispense with the other helpers.

Signed-off-by: Samuel Just <sjust@redhat.com>
4 years agocrimson/common/interruptible_future: remove unnecessary make_ready_future template
Samuel Just [Wed, 9 Jun 2021 23:09:09 +0000 (16:09 -0700)]
crimson/common/interruptible_future: remove unnecessary make_ready_future template

Signed-off-by: Samuel Just <sjust@redhat.com>
4 years agocrimson/common/interruptible_future: add ready|exception_future_marker constructors
Samuel Just [Mon, 7 Jun 2021 20:20:46 +0000 (13:20 -0700)]
crimson/common/interruptible_future: add ready|exception_future_marker constructors

Signed-off-by: Samuel Just <sjust@redhat.com>
4 years agocrimson/common/interruptible_future: introduce future<> helper to interruptor
Samuel Just [Thu, 3 Jun 2021 21:50:22 +0000 (14:50 -0700)]
crimson/common/interruptible_future: introduce future<> helper to interruptor

Signed-off-by: Samuel Just <sjust@redhat.com>
4 years agocrimson/common/interruptible_future: introduce si_then as shorthand for safe_then_int...
Samuel Just [Thu, 3 Jun 2021 21:49:56 +0000 (14:49 -0700)]
crimson/common/interruptible_future: introduce si_then as shorthand for safe_then_interruptible

safe_then_interruptible is too long for common use within seastore.

Signed-off-by: Samuel Just <sjust@redhat.com>
4 years agocrimson/common/interruptible_future: introduce with_interruption_to_error
Samuel Just [Wed, 2 Jun 2021 03:06:44 +0000 (20:06 -0700)]
crimson/common/interruptible_future: introduce with_interruption_to_error

Signed-off-by: Samuel Just <sjust@redhat.com>
4 years agocrimson/common/interruptible_future: add handle_interruption
Samuel Just [Thu, 10 Jun 2021 00:34:21 +0000 (17:34 -0700)]
crimson/common/interruptible_future: add handle_interruption

Signed-off-by: Samuel Just <sjust@redhat.com>
4 years agocrimson/common/interruptible_future: add futurize::invoke
Samuel Just [Thu, 10 Jun 2021 00:32:44 +0000 (17:32 -0700)]
crimson/common/interruptible_future: add futurize::invoke

Signed-off-by: Samuel Just <sjust@redhat.com>
4 years agocrimson/common/interruptible_future: add common errorator forwards
Samuel Just [Wed, 2 Jun 2021 03:05:12 +0000 (20:05 -0700)]
crimson/common/interruptible_future: add common errorator forwards

Signed-off-by: Samuel Just <sjust@redhat.com>
4 years agocrimson/common/errorator: add futurize::apply
Samuel Just [Wed, 2 Jun 2021 02:52:27 +0000 (19:52 -0700)]
crimson/common/errorator: add futurize::apply

Signed-off-by: Samuel Just <sjust@redhat.com>
4 years agocommon/interruptible_future: use errorated future as core_type, fix constructor
Samuel Just [Thu, 10 Jun 2021 00:07:33 +0000 (17:07 -0700)]
common/interruptible_future: use errorated future as core_type, fix constructor

No reason really to remember the underlying seastar::future type, we should
only be interacting with the errorated future wrapped type.

Signed-off-by: Samuel Just <sjust@redhat.com>
4 years agotest/crimson/test_interruptible_future: using namespace crimson
Samuel Just [Wed, 2 Jun 2021 03:03:35 +0000 (20:03 -0700)]
test/crimson/test_interruptible_future: using namespace crimson

Signed-off-by: Samuel Just <sjust@redhat.com>
4 years agocrimson/common/fixed_kv_node_layout: add reference type for do_for_each implementations
Samuel Just [Mon, 7 Jun 2021 20:14:45 +0000 (13:14 -0700)]
crimson/common/fixed_kv_node_layout: add reference type for do_for_each implementations

Signed-off-by: Samuel Just <sjust@redhat.com>
4 years agocrimson/os/seastore/cache: fix typo in comment
Samuel Just [Tue, 22 Jun 2021 00:10:23 +0000 (17:10 -0700)]
crimson/os/seastore/cache: fix typo in comment

Signed-off-by: Samuel Just <sjust@redhat.com>
4 years agocrimson/os/seastore/cache: rename retire_extent_addr for addr overload
Samuel Just [Thu, 3 Jun 2021 21:51:43 +0000 (14:51 -0700)]
crimson/os/seastore/cache: rename retire_extent_addr for addr overload

Makes InterruptibleCache bit in the later patch simpler, and is somewhat
clearer.

Signed-off-by: Samuel Just <sjust@redhat.com>
4 years agocrimson/os/seastore/lba_manager: make complete_transaction void
Samuel Just [Sat, 19 Jun 2021 09:05:44 +0000 (02:05 -0700)]
crimson/os/seastore/lba_manager: make complete_transaction void

This really can't result in mutations (the transaction already committed!)
and presently doesn't require any IO at all.  Just make it void.

Signed-off-by: Samuel Just <sjust@redhat.com>
4 years agodoc/rados/operations: Updates pools.rst 41994/head
Anthony D'Atri [Wed, 23 Jun 2021 17:25:13 +0000 (10:25 -0700)]
doc/rados/operations: Updates pools.rst

Add clarity, change example PG counts to a power of two.

Signed-off-by: Anthony D'Atri <anthony.datri@gmail.com>
4 years agoMerge pull request #41990 from liewegas/fix-51292
Kefu Chai [Wed, 23 Jun 2021 16:58:52 +0000 (00:58 +0800)]
Merge pull request #41990 from liewegas/fix-51292

qa/suites/rados/dashboard: fix e2e test

Reviewed-by: Kefu Chai <kchai@redhat.com>
4 years agoqa/suites/rados/dashboard: fix e2e test 41990/head
Sage Weil [Wed, 23 Jun 2021 14:49:28 +0000 (09:49 -0500)]
qa/suites/rados/dashboard: fix e2e test

Move roles into task yaml.  Rename e2e.

Fixes: https://tracker.ceph.com/issues/51292
Signed-off-by: Sage Weil <sage@newdream.net>
4 years agoMerge pull request #39358 from Jeegn-Chen/wip-tracker-49206
J. Eric Ivancich [Wed, 23 Jun 2021 14:37:52 +0000 (10:37 -0400)]
Merge pull request #39358 from Jeegn-Chen/wip-tracker-49206

rgw: avoid infinite loop when deleting a bucket

Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
4 years agoMerge pull request #40031 from pritha-srivastava/wip-sts-get-session-ldap
Harish Munjulur [Wed, 23 Jun 2021 14:25:18 +0000 (07:25 -0700)]
Merge pull request #40031 from pritha-srivastava/wip-sts-get-session-ldap

rgw/sts: fixes getsessiontoken authenticated with LDAP,

4 years agoMerge pull request #41984 from tchaikov/wip-crimson-repeat
Kefu Chai [Wed, 23 Jun 2021 13:43:34 +0000 (21:43 +0800)]
Merge pull request #41984 from tchaikov/wip-crimson-repeat

crimson: s/crimson::do_until/crimson::repeat/

Reviewed-by: Ronen Friedman <rfriedma@redhat.com>
Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
4 years agoMerge pull request #41974 from rhcs-dashboard/fix-POST-alerts
Ernesto Puerta [Wed, 23 Jun 2021 11:05:58 +0000 (13:05 +0200)]
Merge pull request #41974 from rhcs-dashboard/fix-POST-alerts

mgr/dashboard: Alertmanager fails to POST alerts

4 years agocrimson: s/crimson::do_until/crimson::repeat/ 41984/head
Kefu Chai [Wed, 23 Jun 2021 05:37:40 +0000 (13:37 +0800)]
crimson: s/crimson::do_until/crimson::repeat/

seastar::do_until() takes a predicate functor and a continuation. while
seastar::repeat() takes a single continuation which returns
stop_iteration::yes or stop_iteration::no. in general, we want to mirror
and extend the facilities offered by seastar instead of changing it in
an unexpected way. while crimson::do_until() only take a single
continuation which returns a bool. in hope to be more consistent, in
this change, all occurances of crimson::do_until are replaced with
crimson::repeat.

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agoMerge pull request #41986 from tchaikov/wip-wip-crimson-alienstore-lockless-spin-off
Kefu Chai [Wed, 23 Jun 2021 10:58:33 +0000 (18:58 +0800)]
Merge pull request #41986 from tchaikov/wip-wip-crimson-alienstore-lockless-spin-off

crimson/os/alienstore: cleanups of ThreadPool

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
4 years agocrimson/os: replace private: section at end of class 41986/head
Kefu Chai [Tue, 22 Jun 2021 12:11:32 +0000 (20:11 +0800)]
crimson/os: replace private: section at end of class

to comply to the style guide at https://google.github.io/styleguide/cppguide.html#Declaration_Order

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agocrimson/os: replace tab with spaces
Kefu Chai [Tue, 22 Jun 2021 12:06:22 +0000 (20:06 +0800)]
crimson/os: replace tab with spaces

to be consistent with the editor variables defined in the header.

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agocrimson/os: reduce the scope of lock
Kefu Chai [Tue, 22 Jun 2021 12:03:25 +0000 (20:03 +0800)]
crimson/os: reduce the scope of lock

we just need to synchronize accesses to `stopping`, so only need to
guard the mutation of it.

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agoMerge pull request #41956 from yuvalif/wip-yuval-fix-51293
Yuval Lifshitz [Wed, 23 Jun 2021 08:14:53 +0000 (11:14 +0300)]
Merge pull request #41956 from yuvalif/wip-yuval-fix-51293

rgw/notification: make notifications agnostic of bucket reshard

4 years agoMerge pull request #41955 from yuvalif/wip-yuval-fix-51305
Yuval Lifshitz [Wed, 23 Jun 2021 08:14:21 +0000 (11:14 +0300)]
Merge pull request #41955 from yuvalif/wip-yuval-fix-51305

rgw/notification: send correct size in COPY events

4 years agocrimson/common/errorator: consider return value as ready future in maybe_handle_error_t
Kefu Chai [Wed, 23 Jun 2021 08:11:24 +0000 (16:11 +0800)]
crimson/common/errorator: consider return value as ready future in maybe_handle_error_t

this behavior mirrors seasetar::futurize::apply(), where non-future and
non-void return values are converted to future<>, and returned instead.
this change could simplify some use cases where we always return an
immediately available future.

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agoMerge pull request #41831 from yuvalif/wip-yuval-fix-51114
Yuval Lifshitz [Wed, 23 Jun 2021 08:13:41 +0000 (11:13 +0300)]
Merge pull request #41831 from yuvalif/wip-yuval-fix-51114

rgw/amqp: remove the explicit "disconnect()" interface

4 years agoMerge pull request #41902 from idryomov/wip-rbd-thick-conf
Mykola Golub [Wed, 23 Jun 2021 06:25:47 +0000 (09:25 +0300)]
Merge pull request #41902 from idryomov/wip-rbd-thick-conf

rbd: don't disable rbd_discard_on_zeroed_write_same

Reviewed-by: Mykola Golub <mgolub@suse.com>
4 years agoMerge pull request #41940 from liu-chunmei/crimson-fix-reactor-stall
Kefu Chai [Wed, 23 Jun 2021 03:16:56 +0000 (11:16 +0800)]
Merge pull request #41940 from liu-chunmei/crimson-fix-reactor-stall

crimson: fix reactor stalled and rbd_open failed.

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
4 years agoMerge PR #41964 into master
Patrick Donnelly [Wed, 23 Jun 2021 02:45:58 +0000 (19:45 -0700)]
Merge PR #41964 into master

* refs/pull/41964/head:
doc/cephfs/nfs: update recommendation for versions

Reviewed-by: Varsha Rao <varao@redhat.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
4 years agoMerge PR #41908 into master
Patrick Donnelly [Wed, 23 Jun 2021 02:38:16 +0000 (19:38 -0700)]
Merge PR #41908 into master

* refs/pull/41908/head:
qa: always format the pgid in hex

Reviewed-by: Rishabh Dave <ridave@redhat.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
4 years agoMerge PR #41875 into master
Patrick Donnelly [Wed, 23 Jun 2021 02:35:38 +0000 (19:35 -0700)]
Merge PR #41875 into master

* refs/pull/41875/head:
client: check if a mds rank is `up` before fetching connection addr

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
4 years agoMerge PR #41385 into master
Patrick Donnelly [Wed, 23 Jun 2021 02:34:01 +0000 (19:34 -0700)]
Merge PR #41385 into master

* refs/pull/41385/head:
mon/FSCommands: add command to rename a file system
qa/cephfs: split test_admin.TestAdminCommands
mds: remove 'fs_name' from MDSRank

Reviewed-by: Rishabh Dave <ridave@redhat.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
4 years agomds: avoid journaling overhead for ceph.dir.subvolume for no-op case 41935/head
Patrick Donnelly [Fri, 18 Jun 2021 16:27:54 +0000 (09:27 -0700)]
mds: avoid journaling overhead for ceph.dir.subvolume for no-op case

In preparation for acquiring the xlock on the directory inode, the MDS
must journal a few events before continuing on with the setvxattr. This
can cause significant delays in the volumes ceph-mgr module which needs
to regularly enable this vxattr from multiple code paths. We could cache
in that module whether the vxattr is set but it's also pretty easy to
adjust the MDS to acquire a rdlock on the directory to check if the
subvolume flag is already set. That is much lighter weight and the lock
is generally readily available.

Fixes: https://tracker.ceph.com/issues/51276
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
4 years agocrimson/seastore: fix reactor stalled and rbd_open failed 41940/head
chunmei-liu [Mon, 21 Jun 2021 21:52:54 +0000 (14:52 -0700)]
crimson/seastore: fix reactor stalled and rbd_open failed

omap manger use keys' reference, so the keys' string set should
be kept alive during omap operation. use value capture instead of
reference capture.

otherwise, during omap operation, the keys contents will be changed
and cause logger insert_iterator very long time to stall reactor.
omap_get_value also failed, rbd_open failed.

Signed-off-by: chunmei-liu <chunmei.liu@intel.com>
4 years agoMerge pull request #41967 from sandrobonazzola/patch-1
Kefu Chai [Tue, 22 Jun 2021 12:59:51 +0000 (20:59 +0800)]
Merge pull request #41967 from sandrobonazzola/patch-1

doc/install/get-packages: point to current stable release

Reviewed-by: Kefu Chai <kchai@redhat.com>
4 years agodoc/install/get-packages: point to current stable release 41967/head
Sandro Bonazzola [Tue, 22 Jun 2021 07:49:30 +0000 (09:49 +0200)]
doc/install/get-packages: point to current stable release

Point to pacific for downloading the cephadm script

Co-authored-by: Kefu Chai <tchaikov@gmail.com>
Signed-off-by: Sandro Bonazzola <sbonazzo@redhat.com>
4 years agoMerge pull request #41960 from rzarzynski/wip-crimson-alienstore-sync-shardedwq
Kefu Chai [Tue, 22 Jun 2021 11:58:01 +0000 (19:58 +0800)]
Merge pull request #41960 from rzarzynski/wip-crimson-alienstore-sync-shardedwq

crimson/os: synchronize producers with consumers in AlienStore's queues.

Reviewed-by: Kefu Chai <kchai@redhat.com>
4 years agomgr/dashboard: Alertmanager fails to POST alerts 41974/head
Avan Thakkar [Tue, 22 Jun 2021 11:46:45 +0000 (17:16 +0530)]
mgr/dashboard: Alertmanager fails to POST alerts

Fixes: https://tracker.ceph.com/issues/51312
Signed-off-by: Avan Thakkar <athakkar@redhat.com>
4 years agoMerge pull request #41957 from liewegas/fix-vstart-registry-url
Kefu Chai [Tue, 22 Jun 2021 11:43:55 +0000 (19:43 +0800)]
Merge pull request #41957 from liewegas/fix-vstart-registry-url

vstart.sh: fix docker url

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
4 years agoMerge pull request #41961 from rzarzynski/wip-crimson-intcltreq-fix-assert
Kefu Chai [Tue, 22 Jun 2021 10:38:43 +0000 (18:38 +0800)]
Merge pull request #41961 from rzarzynski/wip-crimson-intcltreq-fix-assert

crimson/osd: fix construction of InternalClientRequest in DEBUG builds.

Reviewed-by: Kefu Chai <kchai@redhat.com>
4 years agoMerge pull request #41962 from rzarzynski/wip-crimson-intcltreq-more-asserts
Kefu Chai [Tue, 22 Jun 2021 10:37:37 +0000 (18:37 +0800)]
Merge pull request #41962 from rzarzynski/wip-crimson-intcltreq-more-asserts

crimson/osd: introduce more asserts to the Watch timeout handling.

Reviewed-by: Kefu Chai <kchai@redhat.com>
4 years agodoc/cephfs/nfs: update recommendation for versions 41964/head
Ramana Raja [Tue, 22 Jun 2021 02:47:55 +0000 (22:47 -0400)]
doc/cephfs/nfs: update recommendation for versions

... of Ceph and NFS-Ganesha packages.

Signed-off-by: Ramana Raja <rraja@redhat.com>
4 years agocrimson/osd: introduce more asserts to the Watch timeout handling. 41962/head
Radoslaw Zarzynski [Mon, 21 Jun 2021 12:28:52 +0000 (12:28 +0000)]
crimson/osd: introduce more asserts to the Watch timeout handling.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
4 years agoMerge PR #41860 into master
Patrick Donnelly [Mon, 21 Jun 2021 23:54:59 +0000 (16:54 -0700)]
Merge PR #41860 into master

* refs/pull/41860/head:
qa: log messages when falling back to force/lazy umount

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Xiubo Li <xiubli@redhat.com>
4 years agocrimson/osd: fix construction of InternalClientRequest in DEBUG builds. 41961/head
Radoslaw Zarzynski [Mon, 21 Jun 2021 18:59:45 +0000 (18:59 +0000)]
crimson/osd: fix construction of InternalClientRequest in DEBUG builds.

The assert in the ctor of `InternalClientRequest` actually operates on
the ctor's argument we `std::moved` from, not on the class' member.
When a debug build is used, this translates into failures like the one
below:

```
2021-06-16T22:53:03.410 INFO:journalctl@ceph.osd.6.smithi170.stdout:Jun 16 22:53:02 smithi170 conmon[43770]: ceph-osd: /home/jenkins-build/build/workspace/ceph-dev-new-
build/ARCH/x86_64/AVAILABLE_ARCH/x86_64/AVAILABLE_DIST/centos8/DIST/centos8/MACHINE_SIZE/gigantic/release/17.0.0-4987-gec8844b6/rpm/el8/BUILD/ceph-17.0.0-4987-gec8844b6
/src/crimson/osd/osd_operations/internal_client_request.cc:19: crimson::osd::InternalClientRequest::InternalClientRequest(Ref<crimson::osd::PG>): Assertion `bool(pg)' f
ailed.
2021-06-16T22:53:05.363 INFO:journalctl@ceph.osd.6.smithi170.stdout:Jun 16 22:53:05 smithi170 conmon[43770]:  0# 0x0000558BE7BBF68F in /usr/bin/ceph-osd
2021-06-16T22:53:05.363 INFO:journalctl@ceph.osd.6.smithi170.stdout:Jun 16 22:53:05 smithi170 conmon[43770]:  1# FatalSignal::signaled(int, siginfo_t const*) in /usr/bi
n/ceph-osd
2021-06-16T22:53:05.363 INFO:journalctl@ceph.osd.6.smithi170.stdout:Jun 16 22:53:05 smithi170 conmon[43770]:  2# FatalSignal::install_oneshot_signal_handler<6>()::{lamb
da(int, siginfo_t*, void*)#1}::_FUN(int, siginfo_t*, void*) in /usr/bin/ceph-osd
2021-06-16T22:53:05.364 INFO:journalctl@ceph.osd.6.smithi170.stdout:Jun 16 22:53:05 smithi170 conmon[43770]:  3# 0x00007F8AD7535B20 in /lib64/libpthread.so.0
2021-06-16T22:53:05.364 INFO:journalctl@ceph.osd.6.smithi170.stdout:Jun 16 22:53:05 smithi170 conmon[43770]:  4# gsignal in /lib64/libc.so.6
2021-06-16T22:53:05.364 INFO:journalctl@ceph.osd.6.smithi170.stdout:Jun 16 22:53:05 smithi170 conmon[43770]:  5# abort in /lib64/libc.so.6
2021-06-16T22:53:05.364 INFO:journalctl@ceph.osd.6.smithi170.stdout:Jun 16 22:53:05 smithi170 conmon[43770]:  6# 0x00007F8AD5B2EC89 in /lib64/libc.so.6
2021-06-16T22:53:05.365 INFO:journalctl@ceph.osd.6.smithi170.stdout:Jun 16 22:53:05 smithi170 conmon[43770]:  7# 0x00007F8AD5B3CA76 in /lib64/libc.so.6
2021-06-16T22:53:05.365 INFO:journalctl@ceph.osd.6.smithi170.stdout:Jun 16 22:53:05 smithi170 conmon[43770]:  8# crimson::osd::InternalClientRequest::InternalClientRequ
est(boost::intrusive_ptr<crimson::osd::PG>) in /usr/bin/ceph-osd
2021-06-16T22:53:05.365 INFO:journalctl@ceph.osd.6.smithi170.stdout:Jun 16 22:53:05 smithi170 conmon[43770]:  9# crimson::osd::Watch::do_watch_timeout(boost::intrusive_ptr<crimson::osd::PG>) in /usr/bin/ceph-osd
2021-06-16T22:53:05.365 INFO:journalctl@ceph.osd.6.smithi170.stdout:Jun 16 22:53:05 smithi170 conmon[43770]: 10# seastar::noncopyable_function<void ()>::direct_vtable_for<crimson::osd::Watch::Watch(crimson::osd::Watch::private_ctag_t, boost::intrusive_ptr<crimson::osd::ObjectContext>, watch_info_t const&, entity_name_t const&, boost::intrusive_ptr<crimson::osd::PG>)::{lambda()#1}>::call(seastar::noncopyable_function<void ()> const*) in /usr/bin/ceph-osd
2021-06-16T22:53:05.366 INFO:journalctl@ceph.osd.6.smithi170.stdout:Jun 16 22:53:05 smithi170 conmon[43770]: 11# 0x0000558BED653759 in /usr/bin/ceph-osd
2021-06-16T22:53:05.366 INFO:journalctl@ceph.osd.6.smithi170.stdout:Jun 16 22:53:05 smithi170 conmon[43770]: 12# 0x0000558BED61B148 in /usr/bin/ceph-osd
2021-06-16T22:53:05.366 INFO:journalctl@ceph.osd.6.smithi170.stdout:Jun 16 22:53:05 smithi170 conmon[43770]: 13# 0x0000558BED61B576 in /usr/bin/ceph-osd
2021-06-16T22:53:05.366 INFO:journalctl@ceph.osd.6.smithi170.stdout:Jun 16 22:53:05 smithi170 conmon[43770]: 14# 0x0000558BED7C93C9 in /usr/bin/ceph-osd
2021-06-16T22:53:05.367 INFO:journalctl@ceph.osd.6.smithi170.stdout:Jun 16 22:53:05 smithi170 conmon[43770]: 15# 0x0000558BED326D5A in /usr/bin/ceph-osd
2021-06-16T22:53:05.367 INFO:journalctl@ceph.osd.6.smithi170.stdout:Jun 16 22:53:05 smithi170 conmon[43770]: 16# 0x0000558BED330E7E in /usr/bin/ceph-osd
2021-06-16T22:53:05.367 INFO:journalctl@ceph.osd.6.smithi170.stdout:Jun 16 22:53:05 smithi170 conmon[43770]: 17# main in /usr/bin/ceph-osd
2021-06-16T22:53:05.367 INFO:journalctl@ceph.osd.6.smithi170.stdout:Jun 16 22:53:05 smithi170 conmon[43770]: 18# __libc_start_main in /lib64/libc.so.6
2021-06-16T22:53:05.368 INFO:journalctl@ceph.osd.6.smithi170.stdout:Jun 16 22:53:05 smithi170 conmon[43770]: 19# _start in /usr/bin/ceph-osd
```

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
4 years agocrimson/os: synchronize producers with consumers in AlienStore's queues. 41960/head
Radoslaw Zarzynski [Mon, 21 Jun 2021 21:16:35 +0000 (21:16 +0000)]
crimson/os: synchronize producers with consumers in AlienStore's queues.

Some time ago we replaced the single, `boost::lockfree`-based queue
in `ThreadPool` with the in-house, lockish `ShardedWorkQueue` vector.
Unfortunately, pushing into such queue isn't synchronized with
consuming from it -- the former happens without locking the `mutex`.
As the underlying primitive behind `ShardedWorkQueue::pending` is
plain `std::deque`, it's unsafe to operate that way in multi-thread
environment. Indeed, weirdly looking crashes have been spotted at Sepia:

```
(virtualenv) rzarzynski@teuthology:/home/teuthworker/archive/rzarzynski-2021-06-21_14:49:36-rados-master-distro-basic-smithi/6182668$ less ./remote/smithi196/log/ceph-osd.7.log.gz
...
 0# 0x000055862FD67ADF in ceph-osd
 1# FatalSignal::signaled(int, siginfo_t const*) in ceph-osd
 2# FatalSignal::install_oneshot_signal_handler<11>()::{lambda(int, siginfo_t*, void*)#1}::_FUN(int, siginfo_t*, void*) in ceph-osd
 3# 0x00007FB22CF36B20 in /lib64/libpthread.so.0
 4# 0x00005586357540E4 in ceph-osd
 5# 0x00007FB22CF36B20 in /lib64/libpthread.so.0
 6# pthread_cond_timedwait in /lib64/libpthread.so.0
 7# crimson::os::ThreadPool::loop(std::chrono::duration<long, std::ratio<1l, 1000l> >, unsigned long) in ceph-osd
 8# 0x00005586313E303B in ceph-osd
 9# 0x00007FB22CC51BA3 in /lib64/libstdc++.so.6
10# 0x00007FB22CF2C14A in /lib64/libpthread.so.0
11# clone in /lib64/libc.so.6
Fault at location: 0x18
daemon-helper: command crashed with signal 11
```

This fix introduces the synchronization to the `push_back()` method of
`ShardedWorkQueue`. The side effect is that it may stall the reactor.
Therefore, a follow-up change that switches to e.g. `boost::lockfree`
is expected.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
4 years agovstart.sh: fix docker url 41957/head
Sage Weil [Mon, 21 Jun 2021 19:01:29 +0000 (15:01 -0400)]
vstart.sh: fix docker url

Signed-off-by: Sage Weil <sage@newdream.net>
4 years agorgw/notification: make notifications agnostic of bucket reshard 41956/head
Yuval Lifshitz [Mon, 21 Jun 2021 17:32:08 +0000 (20:32 +0300)]
rgw/notification: make notifications agnostic of bucket reshard

Fixes: https://tracker.ceph.com/issues/51293
Signed-off-by: Yuval Lifshitz <ylifshit@redhat.com>
4 years agorgw/notification: send correct size in COPY events 41955/head
Yuval Lifshitz [Mon, 21 Jun 2021 16:03:54 +0000 (19:03 +0300)]
rgw/notification: send correct size in COPY events

Fixes: https://tracker.ceph.com/issues/51305
Signed-off-by: Yuval Lifshitz <ylifshit@redhat.com>
4 years agoMerge pull request #41941 from tchaikov/wip-crimson-errorator-loop
Kefu Chai [Mon, 21 Jun 2021 12:46:41 +0000 (20:46 +0800)]
Merge pull request #41941 from tchaikov/wip-crimson-errorator-loop

crimson/common: extract parallel_for_each_state out

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
4 years agoMerge pull request #41949 from tchaikov/wip-crimson-prometheus
Kefu Chai [Mon, 21 Jun 2021 08:36:20 +0000 (16:36 +0800)]
Merge pull request #41949 from tchaikov/wip-crimson-prometheus

crimson/osd: expose metrics using http server

Reviewed-by: Samuel Just <sjust@redhat.com>
4 years agocrimson/osd: expose metrics using http server 41949/head
Kefu Chai [Mon, 21 Jun 2021 06:50:10 +0000 (14:50 +0800)]
crimson/osd: expose metrics using http server

so, we can query the metrics using HTTP API, like

http://localhost:9180/metrics?name=io*

or

http://192.168.2.8:9180/metrics?name=io_queue_delay

or

http://localhost:9180/metrics

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agoMerge pull request #41934 from cyx1231st/wip-seastore-onode-logs
Kefu Chai [Mon, 21 Jun 2021 04:34:02 +0000 (12:34 +0800)]
Merge pull request #41934 from cyx1231st/wip-seastore-onode-logs

crimson/onode-staged-tree: improve logs to understand inconsistent load from seastore

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Chunmei Liu <chunmei.liu@intel.com>
Reviewed-by: Xuehan Xu <xuxuehan@360.cn>
Reviewed-by: Kefu Chai <kchai@redhat.com>
4 years agocrimson/onode-staged-tree: print NodeExtent with the header 41934/head
Yingxin Cheng [Fri, 18 Jun 2021 08:47:05 +0000 (16:47 +0800)]
crimson/onode-staged-tree: print NodeExtent with the header

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
4 years agocrimson/onode-staged-tree: validate node header when load
Yingxin Cheng [Fri, 18 Jun 2021 08:33:00 +0000 (16:33 +0800)]
crimson/onode-staged-tree: validate node header when load

Add logs to detect corruptions when load nodes. assert() is not
informative enough to understand the context.

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
4 years agocrimson/onode-staged-tree: delete copy constructor of DummyNodeExtent
Yingxin Cheng [Fri, 18 Jun 2021 08:21:06 +0000 (16:21 +0800)]
crimson/onode-staged-tree: delete copy constructor of DummyNodeExtent

Dummy backend is used for unit tests without transactions, so there
should be no copy-on-write behavior.

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
4 years agocrimson/onode-staged-tree: add trace logs when start to load nodes
Yingxin Cheng [Fri, 18 Jun 2021 08:17:09 +0000 (16:17 +0800)]
crimson/onode-staged-tree: add trace logs when start to load nodes

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
4 years agoMerge pull request #41861 from AmnonHanuhov/wip-Refactor_crimson_internals
Amnon Hanuhov [Sun, 20 Jun 2021 18:30:36 +0000 (21:30 +0300)]
Merge pull request #41861 from AmnonHanuhov/wip-Refactor_crimson_internals

crimson/net: Complete the refactor to std::unique_ptr inside Messenger

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
4 years agoMerge pull request #41921 from gregsfortytwo/wip-mon-stretch-crush-rule
Kefu Chai [Sat, 19 Jun 2021 14:57:07 +0000 (22:57 +0800)]
Merge pull request #41921 from gregsfortytwo/wip-mon-stretch-crush-rule

mon: Sanely set the default CRUSH rule when creating pools in stretch…

Reviewed-by: Samuel Just <sjust@redhat.com>
4 years agotools/crimson: Use crimson::make_message() in perf_crimson_msgr 41861/head
Amnon Hanuhov [Sat, 19 Jun 2021 14:56:13 +0000 (17:56 +0300)]
tools/crimson: Use crimson::make_message() in perf_crimson_msgr

Instead of ceph::make_message() because conn::send() in crimson expects
a std::unique_ptr and not boost::intrusive_ptr

Signed-off-by: Amnon Hanuhov <ahanukov@redhat.com>
4 years agoMerge pull request #41845 from agayev/zoned-revise-per-zone-naming-scheme
Kefu Chai [Sat, 19 Jun 2021 14:54:25 +0000 (22:54 +0800)]
Merge pull request #41845 from agayev/zoned-revise-per-zone-naming-scheme

os/bluestore: Revise the naming scheme for per-zone cleaning informat…

Reviewed-by: Igor Fedotov <ifedotov@suse,com>
4 years agotest/crimson: Use crimson::make_message() in test_alien_echo
Amnon Hanuhov [Sat, 19 Jun 2021 14:52:54 +0000 (17:52 +0300)]
test/crimson: Use crimson::make_message() in test_alien_echo

Instead of ceph::make_message() because conn::send() in crimson expects
a std::unique_ptr and not boost::intrusive_ptr

Signed-off-by: Amnon Hanuhov <ahanukov@redhat.com>
4 years agoMerge pull request #41830 from tchaikov/wip-ceph-argparse-cleanup
Kefu Chai [Sat, 19 Jun 2021 14:51:59 +0000 (22:51 +0800)]
Merge pull request #41830 from tchaikov/wip-ceph-argparse-cleanup

pybind/ceph_argparse: cleanups preparing for type annotations

Reviewed-by: Sebastian Wagner <sewagner@redhat.com>
4 years agocrimson/net: Use MessageURef in messenger internals
Amnon Hanuhov [Thu, 3 Jun 2021 11:47:00 +0000 (14:47 +0300)]
crimson/net: Use MessageURef in messenger internals

Signed-off-by: Amnon Hanuhov <ahanukov@redhat.com>
4 years agocrimson/osd: Get rid of send_to_osd() overloading
Amnon Hanuhov [Tue, 8 Jun 2021 12:51:33 +0000 (15:51 +0300)]
crimson/osd: Get rid of send_to_osd() overloading

Signed-off-by: Amnon Hanuhov <ahanukov@redhat.com>
4 years agoosd: Overload send_osd_message() in PeeringState
Amnon Hanuhov [Tue, 8 Jun 2021 12:48:59 +0000 (15:48 +0300)]
osd: Overload send_osd_message() in PeeringState

To allow passing MessageURef from crimson-osd and MessageRef from
ceph-osd

Signed-off-by: Amnon Hanuhov <ahanukov@redhat.com>
4 years agocrimson/osd: Move message to send_to_osd() in ShardServices
Amnon Hanuhov [Tue, 8 Jun 2021 12:43:50 +0000 (15:43 +0300)]
crimson/osd: Move message to send_to_osd() in ShardServices

To avoid refcounting the underlying RefCountedObject

Signed-off-by: Amnon Hanuhov <ahanukov@redhat.com>
4 years agoMerge pull request #41923 from liewegas/fix-51234
Kefu Chai [Sat, 19 Jun 2021 13:11:32 +0000 (21:11 +0800)]
Merge pull request #41923 from liewegas/fix-51234

ceph_test_librados_service: wait longer for servicemap to update

Reviewed-by: Kefu Chai <kchai@redhat.com>
4 years agoMerge pull request #41914 from lxbsz/wip-51092
Kefu Chai [Sat, 19 Jun 2021 13:03:04 +0000 (21:03 +0800)]
Merge pull request #41914 from lxbsz/wip-51092

os/memstore: make the used_bytes to atomic

Reviewed-by: Kefu Chai <kchai@redhat.com>
4 years agoMerge pull request #41896 from ifed01/wip-ifed-verbose-kernel-read
Kefu Chai [Sat, 19 Jun 2021 13:02:18 +0000 (21:02 +0800)]
Merge pull request #41896 from ifed01/wip-ifed-verbose-kernel-read

blk/KernelDevice: be more verbose on read errors.

Reviewed-by: Adam Kupczyk <akupczyk@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
4 years agocrimson/common: specialize errorator<> for future<> 41941/head
Kefu Chai [Sat, 19 Jun 2021 11:13:17 +0000 (19:13 +0800)]
crimson/common: specialize errorator<> for future<>

otherwise it always needs a return value.

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agocrimson/common: extract parallel_for_each_state out
Kefu Chai [Sat, 19 Jun 2021 11:12:36 +0000 (19:12 +0800)]
crimson/common: extract parallel_for_each_state out

if `parallel_for_each_state` is defined as a nested class in errorator,
clang fails to compile it:

../src/crimson/common/errorator.h:716:47: error: no class named 'parallel_for_each_state' in 'errorator<AllowedErrors...>'
    friend class errorator<AllowedErrors...>::parallel_for_each_state;
                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^

and the forward declaration does not help. so we have to extract it
out of the errorator. to speed up the compilation, it is moved into
errorator-loop.h. its name mirrors `include/seastar/core/loop.h`.

we could extract the `errorator<>::parallel_for_each()` out as well,
as its return type can be deduced from the type of Iterator and Func.

Signed-off-by: Kefu Chai <kchai@redhat.com>