Commit Graph

99258 Commits

Author SHA1 Message Date
Kefu Chai
4fa9153590 crimson/osd: add osd to crush when it boots
this maps the corresponding behavior of classic OSD, we could rely on
the start script to do this job. but statfs reported by object storage
is more accurate than what we have using `df`.

in future, we could extract this feature out of crimson-osd by querying
crimson-osd for the size of underlying storage. and prepare the mon
command using a script. but let's have this function builtin in
crimson-osd at this moment. so it's compatible with classic OSD.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-06-21 20:31:47 +08:00
Kefu Chai
9de25a7992 crimson/os: add CyanStore::stat()
so crimson-osd can add itself to CRUSH map when booting up.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-06-21 20:31:47 +08:00
Kefu Chai
d56f77bf89 crush,osd: add operator<<(ostream, const CrushLocation&)
* add operator<<(ostream&, const CrushLocation&) out from OSD.cc, so it can
  be reused by crimson-osd
* update OSD.cc to use operator<<(ostream&, const CrushLocation&)
* use ceph::mutex instead of std::mutex. so CrushLocation can be used by
  crimson-osd.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-06-21 20:31:46 +08:00
Kefu Chai
880ab48404 crimson/osd: s/override/final/
Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-06-21 20:31:46 +08:00
Kefu Chai
07e02c47ff
Merge pull request #28674 from tchaikov/wip-doc/crimson
doc/dev: add crimson.rst

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
2019-06-21 19:18:11 +08:00
Kefu Chai
ad639c7977
Merge pull request #28462 from myoungwon/wip-doc-dedup
doc: add a deduplication document

Reviewed-by: Kefu Chai <kchai@redhat.com>
2019-06-21 19:13:44 +08:00
Igor Fedotov
187509ebf6 os/bluestore: load OSD all compression settings unconditionally.
Inititally we don't load them if OSD compression mode is set to none.
But we might need them when pool's compression is enabled but some
settings aren't set.

Fixes: http://tracker.ceph.com/issues/40480

Signed-off-by: Igor Fedotov <ifedotov@suse.com>
2019-06-21 14:08:52 +03:00
Kefu Chai
d5e89876a3
Merge pull request #26251 from majianpeng/add-new-op-create
os/objectstore: add new op OP_CREATE for create a new object.

Reviewed-by: Sage Weil <sage@redhat.com>
2019-06-21 16:10:37 +08:00
myoungwon oh
cd41b64460 doc: add a deduplication document
Signed-off-by: Myoungwon Oh <omwmw@sk.com>
2019-06-21 14:23:41 +09:00
Kefu Chai
3ec6dfa289 doc/dev: add crimson.rst
Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-06-21 12:29:07 +08:00
Adam C. Emerson
c7c8e88831 test: Replace deprecated TYPED_TEST_CASE with TYPED_TEST_SUITE
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
2019-06-21 11:41:16 +08:00
Adam C. Emerson
6bf5ff1d89 rgw: Fix pessimizing move
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
2019-06-21 11:41:16 +08:00
Adam C. Emerson
c393ff1324 client,rbd,mon: Fix signed compare warnings
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
2019-06-21 11:41:16 +08:00
Adam C. Emerson
2ddb170320 test/simple_spin: Explicitly wait for futures from async
Rather than count on implicitly blocking destruct.

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
2019-06-21 11:41:16 +08:00
Adam C. Emerson
6248c40d54 OSD: Initialize pool and recovery_state in the order they are defined
Currently we call get_pool on the PeeringState before the PeeringState
has been initialized.

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
2019-06-21 11:41:16 +08:00
Adam C. Emerson
975fafed35 rbd: Remove unused capture
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
2019-06-21 11:38:55 +08:00
Adam C. Emerson
d68b5e015c immutable_object_cache: Remove unused capture
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
2019-06-21 11:38:55 +08:00
Adam C. Emerson
0fad6c01ae immutable_object_cache: Remove pessimizing moves
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
2019-06-21 11:38:55 +08:00
Sage Weil
35c0d75888 osd: add hdd and ssd variants for osd_recovery_max_active
Semi-arbitrarily set the SSD max to 10 (instead of 3).  This should be
tuned based on some real data.

Signed-off-by: Sage Weil <sage@redhat.com>
2019-06-20 16:24:51 -05:00
Samuel Just
e6c6de335b crimson/osd/: restructure client and peering operation handling
This patch:
* Breaks pg map handling out into a separate module (pg_map.*)
* Breaks osdmap waiting into a separate module
  - Ops actually need to wait twice (potentially): once at
    the osd and a second time at the pg.  The same structure
    is used for both.
* Op ordering is enforced via OrderedExclusivePipelineStages
  defined in osd_operations.h.
  - Peering and client ops each define a pipeline section
    centered on the connection as well as one centered on the
    pg.

Signed-off-by: Samuel Just <sjust@redhat.com>
2019-06-20 13:51:25 -07:00
Samuel Just
bc48f2dfb1 crimson/osd: add osd_operation
Adds basic machinery for registering in progress operations along
with blocking conditions.

Signed-off-by: Samuel Just <sjust@redhat.com>
2019-06-20 13:51:22 -07:00
Kefu Chai
790472df84
Merge pull request #28676 from tchaikov/wip-stop.sh-with-crimson
stop.sh: add --crimson option

Reviewed-by: Samuel Just <sjust@redhat.com>
2019-06-21 03:55:05 +08:00
Samuel Just
7f4e2d63c3 crimson/osd: move OSD and PG into ceph::osd
Signed-off-by: Samuel Just <sjust@redhat.com>
2019-06-20 12:14:06 -07:00
Samuel Just
4625d819f6 crimson/osd: advance_pg_to current epoch in handle_pg_create_info
Signed-off-by: Samuel Just <sjust@redhat.com>
2019-06-20 12:14:06 -07:00
Samuel Just
986e79951b crimson/net/Connection: add priv member for osd to use
Signed-off-by: Samuel Just <sjust@redhat.com>
2019-06-20 12:14:01 -07:00
Neha Ojha
bd15824567
Merge pull request #28204 from dzafman/wip-39555
mon: Improve health status for backfill_toofull and recovery_toofull

Reviewed-by: Joao Eduardo Luis <joao@suse.de>
Reviewed-by: Neha Ojha <nojha@redhat.com>
2019-06-20 11:12:10 -07:00
Patrick Donnelly
50fec41094
Merge PR #28663 into master
* refs/pull/28663/head:
	cephfs-shell: use consistent naming for paths
	cephfs-shell: remove unnecessary instances of to_bytes
	cephfs-shell: refactor list_items
	pybind/cephfs: improve user-friendliness of DirResult
	pybind/cephfs: avoid unicode check

Reviewed-by: Rishabh Dave <ridave@redhat.com>
2019-06-20 11:09:37 -07:00
Patrick Donnelly
475f2deaf3
Merge PR #28561 into master
* refs/pull/28561/head:
	vstart_runner: upgrade the check for commands to be run as another user
	vstart_runner: split unicode arguments into lists

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2019-06-20 11:09:01 -07:00
Casey Bodley
51a8f37b5f
Merge pull request #28049 from theanalyst/rgw-lc-bl-fix
rgw_lc: use a new bl while encoding RGW_ATTR_LC

Reviewed-by: Casey Bodley <cbodley@redhat.com>
Reviewed-by: Matt Benjamin <mbenjamin@redhat.com>
2019-06-20 13:30:51 -04:00
Casey Bodley
bc065cae78
Merge pull request #28276 from liuchang0812/multi-site-request-forward
rgw: forwarded some requests to master zone

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2019-06-20 13:23:47 -04:00
Casey Bodley
01104c4d3e
Merge pull request #26167 from yaozongyou/rgw-lc-add-more-check
rgw: check lc objs not empty after fetching

Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
Reviewed-by: Matt Benjamin <mbenjamin@redhat.com>
2019-06-20 13:15:57 -04:00
Casey Bodley
e796d7ecda
Merge pull request #26538 from zhangsw/feature-rgw-object-lock
rgw: add S3 object lock feature to support object worm

Reviewed-by: Adam C. Emerson <aemerson@redhat.com>
Reviewed-by: Casey Bodley <cbodley@redhat.com>
2019-06-20 13:14:51 -04:00
Casey Bodley
d28197e64a
Merge pull request #26351 from linuxbox2/wip-rgw-gcretire
rgw: perfcounters: add gc retire counter

Reviewed-by: Casey Bodley <cbodley@redhat.com>
Reviewed-by: Abhishek Lekshmanan <abhishek@suse.com>
Reviewed-by: J. Eric Ivancich <ivancich@redhat.com>
2019-06-20 13:13:57 -04:00
Casey Bodley
d4e1a08a2c
Merge pull request #28527 from tianshan/fix_ret
rgw: fix miss get ret in STSService::storeARN

Reviewed-by: Pritha Srivastava <prsrivas@redhat.com>
2019-06-20 13:12:33 -04:00
Casey Bodley
2f7133d0a9
Merge pull request #28327 from linuxbox2/wip-rgw-email
rgw: conditionally allow non-unique email addresses

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2019-06-20 13:12:10 -04:00
Casey Bodley
96b0777379
Merge pull request #28308 from joke-lee/usage_dump
rgw: usage dump_unsigned instead dump_int

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2019-06-20 13:11:28 -04:00
Casey Bodley
891fc11670
Merge pull request #28172 from joke-lee/rgw-sts-bad-token
rgw: fix rgw crash and set correct error code

Reviewed-by: Matt Benjamin <mbenjamin@redhat.com>
Reviewed-by: Pritha Srivastava <prsrivas@redhat.com>
2019-06-20 13:10:31 -04:00
Rishabh Dave
21a1b30a3e vstart_runner: upgrade the check for commands to be run as another user
Rectify the condition that checks if command to be issued as another
user using sudo is issued as a single argument after "-c".

Signed-off-by: Rishabh Dave <ridave@redhat.com>
2019-06-20 21:35:38 +05:30
Mykola Golub
961df6356a
Merge pull request #28539 from dillaman/wip-40072
librbd: improve journal performance to match expected degradation

Reviewed-by: Mykola Golub <mgolub@suse.com>
2019-06-20 19:02:14 +03:00
Kefu Chai
c1ef3ff3de stop.sh: add --crimson option
so we can pkill crimson-osd if this option is specified

Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-06-20 22:16:19 +08:00
Casey Bodley
e4114eb9a9
Merge pull request #28655 from dengchj/multisite_doc
doc: fixed --read-only argument value in multisite doc

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2019-06-20 09:36:34 -04:00
Patrick Donnelly
f26493cc25
Merge PR #28194 into master
* refs/pull/28194/head:
	test_volume_client: declare only one default for python version
	test_volume_client: don't shadow class variable

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2019-06-20 06:27:04 -07:00
Patrick Donnelly
b2e8a02f59
cephfs-shell: use consistent naming for paths
And some small changes to make some commands take variable arguments and fix
defaults.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2019-06-20 06:20:57 -07:00
Patrick Donnelly
ba9f0eefa5
cephfs-shell: remove unnecessary instances of to_bytes
cephfs binding already automatically converts paths and some arguments to
bytes.

Fixes: http://tracker.ceph.com/issues/40455

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2019-06-20 06:20:57 -07:00
Patrick Donnelly
2a32752981
cephfs-shell: refactor list_items
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2019-06-20 06:20:57 -07:00
Patrick Donnelly
dff5b1a5d0
pybind/cephfs: improve user-friendliness of DirResult
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2019-06-20 06:20:56 -07:00
Patrick Donnelly
9bc49fefcd
pybind/cephfs: avoid unicode check
py3 does not have the unicode built-in. Instead, simply try to do the encoding
and catch failures appropriately. If it quacks like a duck...

(Note that cython apparently cheats and allows the unicode check but this is
simpler.)

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2019-06-20 06:20:56 -07:00
Patrick Donnelly
753da4ec7b
Merge PR #28638 into master
* refs/pull/28638/head:
	qa: elide python version config
	cephfs-shell: assert python3

Reviewed-by: Rishabh Dave <ridave@redhat.com>
2019-06-20 06:08:47 -07:00
Kefu Chai
f8102f5c43
Merge pull request #28498 from kamoltat/wip-mgr-progress-add-event-osd-marked-in
mgr/progress: Add recovery event when OSD marked in

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2019-06-20 17:30:17 +08:00
Kefu Chai
585d3fe31f
Merge pull request #28564 from ceph/store_statfs-log
log: fix store_statfs log line

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2019-06-20 17:26:30 +08:00