Commit Graph

113460 Commits

Author SHA1 Message Date
Kefu Chai
55e2e1e095 crimson/net: mark abort_ functions [[noreturn]]
otherwise compiler complains if control reaches end of non-void
function.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-07-27 10:32:01 +08:00
Kefu Chai
9b35cccec2 msg/async/crypto_onwire: drop unused member variable
Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-07-27 10:32:01 +08:00
Kefu Chai
7ffa753be0
Merge pull request #36259 from majianpeng/bluefs-reduce-ceph_clock_now
os/bluestore/BlueFS: reduce unnecessary ceph_clock_now().

Reviewed-by: Igor Fedotov <ifedotov@suse.com>
2020-07-26 02:03:02 +08:00
Kefu Chai
96ea451245
Merge pull request #33899 from rs-fabrica/rados_generic_options_usage_message
rados: include generic options in usage message

Reviewed-by: Kefu Chai <kchai@redhat.com>
2020-07-26 02:00:15 +08:00
Kefu Chai
420a61c403
Merge pull request #36115 from BenoitKnecht/diskprediction-local-array-shape
mgr/diskprediction_local: Fix array size error

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2020-07-26 01:57:49 +08:00
Kefu Chai
c3b865bd97
Merge pull request #35306 from changchengx/blk
blk: add option to set device type to select blk driver

Reviewed-by: Kefu Chai <kchai@redhat.com>
2020-07-26 01:57:11 +08:00
Kefu Chai
48a849299f
Merge pull request #36274 from xiexingguo/wip-peer-num-objects
osd/PeeringState: prevent peer's num_objects going negative

Reviewed-by: Neha Ojha <nojha@redhat.com>
Reviewed-by: yanjun <yan.jun8@zte.com.cn>
2020-07-26 01:54:29 +08:00
Kefu Chai
171d8eddb7
Merge pull request #36236 from tchaikov/wip-std-bind
test/librados_test_stub: use std::bind

Reviewed-by: Adam C. Emerson <aemerson@redhat.com>
2020-07-25 18:22:08 +08:00
Kefu Chai
d2956faaf7
Merge pull request #36071 from rzarzynski/wip-crimson-errorator-assert-cleanup
crimson: improve assertions in errorator

Reviewed-by: Samuel Just <sjust@redhat.com>
2020-07-25 14:41:33 +08:00
xie xingguo
10eff25679 osd/PeeringState: prevent peer's num_objects going negative
Saw it in a teuthology run:

 -5645> 2020-07-20 04:34:32.067 7f351e329700  5 osd.5 pg_epoch: 667 ... exit Started/Primary/Active/Backfilling
 -5642> 2020-07-20 04:34:32.067 7f351e329700  5 osd.5 pg_epoch: 667 ... enter Started/Primary/Active/Recovered
 -5633> 2020-07-20 04:34:32.067 7f351e329700 20 osd.5 pg_epoch: 667 ... _update_calc_stats shard 5 primary objects 0 missing 0
 -5632> 2020-07-20 04:34:32.067 7f351e329700 20 osd.5 pg_epoch: 667 ... _update_calc_stats shard 3 objects -1 missing 1
 -5631> 2020-07-20 04:34:32.067 7f351e329700 20 osd.5 pg_epoch: 667 ... _update_calc_stats shard 6 objects 0 missing 0

This will crash the choose_acting() procedure as it will mistakenly
think that peer 3 should continue to perform asynchronous recovery
(e.g., due to num_objects_missing = 1) in contrast to fully
backfill-recovered.

While I did not dig into the real cause, there are a couple of
possible explanations of how num_objects can be off. I think that
if a roll forward or log replay could delete something twice, maybe
there would be an undercount. Or maybe something as simple as a
corruption.

Since _update_calc_stats() is going to fix num_objects_missing
for that peer anyway, let's make sure it always starts with a
clean state.

Fixes: https://tracker.ceph.com/issues/46705
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2020-07-25 08:28:30 +08:00
Neha Ojha
d1d26356b5
Merge pull request #36121 from aclamk/wip-bluefs-log-replay-rescue
Rescue procedure for extremely large bluefs log

Reviewed-by: Neha Ojha <nojha@redhat.com>
2020-07-24 16:13:55 -07:00
Neha Ojha
d1a801e7d5
Merge pull request #35909 from dzafman/wip-46275
osd: Cancel in-progress scrubs (not user requested)

Reviewed-by: Neha Ojha <nojha@redhat.com>
2020-07-24 14:47:44 -07:00
David Zafman
365e48d6ec test: Check for interuption of scrubs with nosrub/nodeep_scrub
Signed-off-by: David Zafman <dzafman@redhat.com>
2020-07-24 11:41:20 -07:00
David Zafman
33749cc3c3 osd: Cancel in-progress scrubs (not user requested)
This change adds new scrubber.req_scrub to track user
requested scrubs, deep_scrub or repair.

Fixes: https://tracker.ceph.com/issues/46275

Signed-off-by: David Zafman <dzafman@redhat.com>
2020-07-24 11:41:20 -07:00
David Zafman
ef9ab850d8 osd: Arrange code so that it is clearer should not cause any change
Signed-off-by: David Zafman <dzafman@redhat.com>
2020-07-24 11:40:24 -07:00
David Zafman
f272768802 test: mon-last-epoch-clean.sh fixed to avoid shell globbing
Signed-off-by: David Zafman <dzafman@redhat.com>
2020-07-24 11:40:24 -07:00
David Zafman
620214db76 osd: Fix dump_scrub_reservation usage
Signed-off-by: David Zafman <dzafman@redhat.com>
2020-07-24 11:40:24 -07:00
Laura Paduano
f412106efe
Merge pull request #35376 from Devp00l/update-backport-doc
doc: Resolving conflicts with ceph-backport.sh

Reviewed-by: Lenz Grimmer <lgrimmer@suse.com>
Reviewed-by: Nathan Cutler <ncutler@suse.com>
Reviewed-by: Laura Paduano <lpaduano@suse.com>
2020-07-24 15:26:56 +02:00
Yuval Lifshitz
4f6745cb24
Merge pull request #36238 from yuvalif/fix_zippet_notif_merge
rgw/notification: fix merge issues from zipper6
2020-07-24 14:46:55 +03:00
Kefu Chai
2731d1b3f2
Merge pull request #36268 from tchaikov/wip-crimson-msgr
crimson/net: do not reset need_addr before learning it

Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
2020-07-24 18:17:14 +08:00
Kefu Chai
cde27b2a1e crimson/net: do not reset need_addr before learning it
because we don't bind both v1 and v2 addresses, when monitor returns a
v1 peer address, as the client side, crimson-osd just drops the
connection. but this failed attempt to learn the myaddr resets
`need_addr`. and this prevents crimson-osd from learning the v2 address
returned by monitor.

in this change, we reset need_addr only after it is learned from the
peer.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-07-24 18:15:12 +08:00
Kefu Chai
f3d4f69cc4
Merge pull request #36256 from tchaikov/wip-ceph-debug-docker-crimson
ceph-debug-docker: add --flavor option

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2020-07-24 10:11:02 +08:00
Kefu Chai
932bbc5bcf ceph-debug-docker: add --flavor option
* add --flavor option, which is "default" by default, so one can, for
  example, pass "--flavor crimson" to ceph-debug-docker
* extract $repo_url to avoid repeating the shared bits between centos
  and debian derivatives envs.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-07-24 10:08:02 +08:00
Jianpeng Ma
e7da8e951d os/bluestore/BlueFS: avoid useless ceph_clock_now() call.
The overhead of utime_t constructor utime_t()  is less than ceph_clock_now().

Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
2020-07-24 08:52:14 +08:00
Patrick Donnelly
1e58ebb163
Merge PR #36136 into master
* refs/pull/36136/head:
	qa/tasks/nfs:Add test for relative and just '/' pseudo path
	mgr/nfs: Check if pseudo path is absolute path or just '/'

Reviewed-by: Michael Fritch <mfritch@suse.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Nathan Cutler <ncutler@suse.com>
2020-07-23 17:12:43 -07:00
Sebastian Wagner
e7c8e7fd2a
Merge pull request #36239 from sebastian-philipp/cephadm-parallel-hosts
mgr/cephadm: create OSDs in parallel

Reviewed-by: Joshua Schmid <jschmid@suse.de>
Reviewed-by: Kiefer Chang <kiefer.chang@suse.com>
2020-07-23 17:53:31 +02:00
Sebastian Wagner
93fca6a9e0
Merge pull request #35839 from mgfritch/cephadm-ignore-mon-mgr-svc-id
python-common: clean-up ServiceSpec.service_id handling

Reviewed-by: Joshua Schmid <jschmid@suse.de>
Reviewed-by: Sebastian Wagner <sebastian.wagner@suse.com>
2020-07-23 17:52:49 +02:00
Neha Ojha
790b26dc78
Merge pull request #36251 from neha-ojha/wip-fix-43888
osd/OSD.cc: remove osd_lock for bench

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Adam Kupczyk <akucpzyk@redhat.com>
2020-07-23 07:36:47 -07:00
Kefu Chai
75c2ad1c20
Merge pull request #36261 from tchaikov/wip-unforty-seastar
ceph.spec.in: cull _FORTIFY_SOURCE macro from CXXFLAGS for seastar

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2020-07-23 22:26:11 +08:00
Kefu Chai
f4ff2b09be
Merge pull request #36252 from tchaikov/wip-doc-crimson
doc/dev/crimson: remove redundant options

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2020-07-23 22:19:56 +08:00
Kefu Chai
e6427524b0
Merge pull request #36263 from tchaikov/wip-more-log-for-dashboard-test
mgr/dashboard: print more osd log when backend-api-tests fails

Reviewed-by: Laura Paduano <lpaduano@suse.com>
2020-07-23 21:13:44 +08:00
Kefu Chai
8a46d560eb mgr/dashboard: print more log when backend-api-tests fails
Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-07-23 17:51:35 +08:00
Mykola Golub
5cb0fa9ace
Merge pull request #36242 from dillaman/wip-46668
librbd: flush all queued object IO from simple scheduler

Reviewed-by: Mykola Golub <mgolub@suse.com>
2020-07-23 12:20:43 +03:00
Kefu Chai
a49651cd42 doc/dev/crimson: add more examples for seastar-addr2line
Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-07-23 16:53:41 +08:00
Kefu Chai
db20cfd095 ceph.spec.in: cull _FORTIFY_SOURCE macro from CXXFLAGS for seastar
seastar uses setjmp() and longjmp() to implement coroutine, but
longjmp() is defined as ____longjmp_chk() by GCC if _FORTIFY_SOURC is
defined. ____longjmp_chk() simply bails out with an error message if
the dest stack pointer is higher than the src stack pointer, or the dest
stack pointer is not in the sigaltstack. in the case of seastar, the dst
%sp is not necessarily higher than src stack pointer, and it's not
handling a signal for switching the thread context. that's why we have
the "longjmp causes uninitialized stack frame" error when running
crimson-osd on RHEL/CentOS 8 using the prebuilt rpm packages.

the optflags rpm macro adds -D_FORTIFY_SOURCE=2 to CFLAGS and CXXFLAGS,
so even seastar tries to pass -U_FORTIFY_SOURCE to GCC, there is chance
that cmake append CXXFLAGS at the end of the option list passed to GCC.
and this renders seastar's attempt to undefine _FORTIFY_SOURCE useless.

another way to address this issue is to undefine this macro in
seastar:src/core/thread.cc. but since seastar tries neutralize the macro
in its cmake script instead of source file, i assume they have their
considerations. let's drop it in the rpm recipe instead.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-07-23 16:19:56 +08:00
Sebastian Wagner
3459ba3f79
Merge pull request #36225 from votdev/cephadm_fix_typos
doc/cephadm: Fix typos in 'Cephadm Concepts' document.

Reviewed-by: Michael Fritch <mfritch@suse.com>
Reviewed-by: Sebastian Wagner <sebastian.wagner@suse.com>
Reviewed-by: Varsha Rao <varao@redhat.com>
2020-07-23 10:01:39 +02:00
Varsha Rao
801047f6cb qa/tasks/nfs:Add test for relative and just '/' pseudo path
Signed-off-by: Varsha Rao <varao@redhat.com>
2020-07-23 13:03:38 +05:30
Varsha Rao
a6f8470f51 mgr/nfs: Check if pseudo path is absolute path or just '/'
Fixes: https://tracker.ceph.com/issues/46565
Signed-off-by: Varsha Rao <varao@redhat.com>
2020-07-23 13:03:38 +05:30
Mykola Golub
8c1a077e56
Merge pull request #36158 from dillaman/wip-45169
immutable-object-cache: fixed crashes on start up

Reviewed-by: Mykola Golub <mgolub@suse.com>
2020-07-23 09:05:23 +03:00
Kefu Chai
2c7daf6d12
Merge pull request #36240 from tchaikov/wip-ceph-debug-docker-el8
ceph-debug-docker: support centos 8

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2020-07-23 11:54:26 +08:00
Patrick Donnelly
080f07203c
Merge PR #36203 into master
* refs/pull/36203/head:
	client: cleanup the fuse client code

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Zheng Yan <zyan@redhat.com>
Reviewed-by: Jeff Layton <jlayton@redhat.com>
2020-07-22 18:49:08 -07:00
Kefu Chai
1defed5aad doc/dev/crimson: remove redundant options
`--smp` and `--cpuset` have been passed to crimson-osd by vstart.sh, so
no need to pass them when launching vstart.sh

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-07-23 09:39:32 +08:00
Michael Fritch
7906460483
doc/mgr/orchestrator: add missing OSD service_id
example for deploying multiple specs via yaml was missing the service_id

Fixes: https://tracker.ceph.com/issues/46377
Signed-off-by: Michael Fritch <mfritch@suse.com>
2020-07-22 16:41:58 -06:00
Michael Fritch
eecc8fcbcc
python-common: clean-up ServiceSpec.service_id handling
service_id is required for iscsi, mds, nfs, osd, rgw.

any other service_type (mon, mgr, etc.) should not contain a service_id

Fixes: https://tracker.ceph.com/issues/46175
Signed-off-by: Michael Fritch <mfritch@suse.com>
2020-07-22 16:41:58 -06:00
Neha Ojha
d6be0d3f9a osd/OSD.cc: remove osd_lock for bench
8987f94416 introduced the osd_lock for the
bench command. Taking the osd_lock in bench can lead to deadlocks, causing the
command to hang as seen in https://tracker.ceph.com/issues/43888.

Fixes: https://tracker.ceph.com/issues/43888
Signed-off-by: Adam Kupczyk <akupczyk@redhat.com>
Signed-off-by: Neha Ojha <nojha@redhat.com>
2020-07-22 21:52:19 +00:00
Sebastian Wagner
8afb5ec132
Merge pull request #35667 from jschmid1/cephadm_deterministic_simplescheduler
mgr/cephadm: rework --dry-run/previews

Reviewed-by: Juan Miguel Olmo Martínez <jolmomar@redhat.com>
Reviewed-by: Kyr Shatskyy <kyrylo.shatskyy@suse.com>
Reviewed-by: Sebastian Wagner <sebastian.wagner@suse.com>
Reviewed-by: Stephan Müller <smueller@suse.com>
2020-07-22 22:12:00 +02:00
Jason Dillaman
75ff8fd14d librbd: flush all queued object IO from simple scheduler
Normally IO is tracked via the AioCompletion's async_op but the
scheduler will "complete" writes while the IO might be still
executing. Therefore, prior to shutting down this dispatch layer
we need to wait for all IO to complete.

Fixes: https://tracker.ceph.com/issues/46668
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2020-07-22 12:00:04 -04:00
Sebastian Wagner
3252ab25d5
Merge pull request #36216 from sebastian-philipp/cephadm-fix-undefined-container_path
cephadm: fix UnboundLocalError: `container_path`

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Michael Fritch <mfritch@suse.com>
2020-07-22 17:52:37 +02:00
Kefu Chai
62ea0105f1 ceph-debug-docker: support centos 8
* default to centos:8, as we've moved to centos:8 now
* do not assume that the base image is centos:7, use centos:8 if it is
  specified.
* install python3-* packages for centos:8 and install python36-*
  packages for centos:7. as el8 is now a python3 distro, and
  centos:7 now has python36.
* s/screen/tmux/. because screen is now offered by EPEL, while tmux
  is in BaseOS.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-07-22 23:08:26 +08:00
Laura Paduano
63a56b4b52
Merge pull request #35694 from rhcs-dashboard/wip-45901-master
mgr/dashboard: increase API test coverage in API controllers

Reviewed-by: Alfonso Martínez <almartin@redhat.com>
Reviewed-by: Ernesto Puertat <epuertat@redhat.com>
Reviewed-by: Laura Paduano <lpaduano@suse.com>
Reviewed-by: Volker Theile <vtheile@suse.com>
2020-07-22 16:58:44 +02:00