Commit Graph

126889 Commits

Author SHA1 Message Date
Sage Weil
0e7c0a81d8 mgr/rook: specify failureDomain on CephObjectStore CR
Signed-off-by: Sage Weil <sage@newdream.net>
2021-10-11 08:55:18 -05:00
Sage Weil
0144e3a4d7 qa/suites/orch/rook: replicate across osds for 1-node clusters
Signed-off-by: Sage Weil <sage@newdream.net>
2021-10-08 11:00:48 -05:00
Yuri Weinstein
33bcd2e509
Merge pull request #36733 from majianpeng/rocksdb-remove-redundant-perfcount
kv/RocksdbStore: remove perfcounter l_rocksdb_gets.

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2021-09-30 07:52:30 -07:00
Yuri Weinstein
d14580d44b
Merge pull request #34624 from zhouyh-orcadt/fix_optracker_coredump
common/TrackedOp: fix osd reboot optracker coredump

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2021-09-30 07:51:32 -07:00
Kefu Chai
96edb523c1
Merge pull request #43355 from rzarzynski/wip-crimson-write_meta
crimson/osd: write the 'osd_key' meta on OSD::mkfs(). 

Reviewed-by: Chunmei Liu <chunmei.liu@intel.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Kefu Chai <tchaikov@gmail.com>
2021-09-30 22:16:51 +08:00
Kefu Chai
130c7261aa
Merge pull request #43364 from rzarzynski/wip-crimson-canceliores-on-stop
crimson/osd: cancel IO reservations on PG::stop().

Reviewed-by: Kefu Chai <tchaikov@gmail.com>
2021-09-30 22:14:11 +08:00
Radoslaw Zarzynski
6b04b96991 crimson/osd: cancel IO reservations on PG::stop().
`PG::request_{local,remote}_recovery_reservation()` dynamically allocates
up to 2 instances of `LambdaContext<T>` and transfers their ownership to
the `AsyncReserver<T, F>`. This is expressed in raw pointers (`new` and
`delete`) notion. Further analysis shows the only place where `delete`
for these objects is called is the `AsyncReserver::cancel_reservation()`.
In contrast to the classical OSD, crimson doesn't invoke the method when
stopping a PG during the shutdown sequence. This would explain the
following ASan issue observed at Sepia:

```
Direct leak of 576 byte(s) in 24 object(s) allocated from:
    #0 0x7fa108fc57b0 in operator new(unsigned long) (/lib64/libasan.so.5+0xf17b0)
    #1 0x55723d8b0b56 in non-virtual thunk to crimson::osd::PG::request_local_background_io_reservation(unsigned int, std::unique_ptr<PGPeeringEvent, std::default_delete<PGPeeringEvent> >, std::unique_ptr<PGPeeringEvent, std::default_delete<PGPeeringEvent> >) (/usr/bin/ceph-osd+0x24d95b56)
    #2 0x55723f1f66ef in PeeringState::WaitDeleteReserved::WaitDeleteReserved(boost::statechart::state<PeeringState::WaitDeleteReserved, PeeringState::ToDelete, boost::mpl::list<mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, (boost::statechart::history_mode)0>::my_context) (/usr/bin/ceph-osd+0x266db6ef)
```

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2021-09-30 11:28:08 +00:00
Sebastian Wagner
b268cb8a5e
Merge pull request #43202 from karmab/kcli_doc
doc: update kcli information

Reviewed-by: Juan Miguel Olmo Martínez <jolmomar@redhat.com>
Reviewed-by: Michael Fritch <mfritch@suse.com>
2021-09-30 12:01:54 +02:00
Sebastian Wagner
cab4f9f5f2
Merge pull request #43356 from tchaikov/wip-doc-cephadm
doc/cephadm/services: unindent note section

Reviewed-by: Sebastian Wagner <sewagner@redhat.com>
2021-09-30 10:29:00 +02:00
Kefu Chai
48f5cd5b9b doc/cephadm/services: unindent note section
before this change the note on "apply" command is embedded in the note
on "_no_schedule". and they are not related. so let's move the former
out. also, highlight the yaml file sample in YAML.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2021-09-30 07:22:11 +08:00
Radoslaw Zarzynski
5b70488bf3 crimson/osd: write the 'ready' meta on OSD::mkfs().
This is for the compliance with the classical OSD. No problem
with lack of this file has been identified yet.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2021-09-29 23:18:13 +00:00
Radoslaw Zarzynski
42a1462f30 crimson/osd: write the 'osd_key' meta on OSD::mkfs().
This commit fixes an issue identified during the Rook-crimson effort.

Missing the `write_meta()` on `osd_key` made the CephX inoperational
because of imposibility to load the keyring. Disabling CephX in turn
caused the auth method negotation to fail when reaching out to a monitor.

```
ERROR 2021-09-28 21:19:46,598 [shard 0] none - auth: unable to find a keyring on /var/lib/ceph/osd/ceph-0/keyring: (2) No such file or directory
ERROR 2021-09-28 21:19:46,598 [shard 0] none - AuthRegistry(0x7fa38c322b68) no keyring found at /var/lib/ceph/osd/ceph-0/keyring, disabling cephx
...
INFO  2021-09-28 21:19:46,601 [shard 0] monc - get_auth_request(con=[client.?(temp_mon_client) 172.17.0.1:0/2910147961@63138 >> mon.? v2:10.108.187.31:3300/0], auth_method=0)
INFO  2021-09-28 21:19:46,601 [shard 0] monc - get_auth_request no methods is supported
...
WARN  2021-09-28 21:20:06,612 [shard 0] monc - cannot establish the active_con with any mon
```

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2021-09-29 20:21:32 +00:00
Samuel Just
e2b05287d5
Merge pull request #43340 from athanatos/sjust/wip-seastore-throttle
crimson/seastore: fix segment_cleaner blocked_io_wake crash

Reviewed-by: Xuehan Xu <xxhdx1985126@gmail.com>
2021-09-29 12:29:23 -07:00
Sage Weil
e3bede0008 Merge PR #43287 into master
* refs/pull/43287/head:
	mgr/rook, qa/tasks/rook: change rgw daemon service name
	mgr/rook: fix placement_spec_to_node_selector
	mgr/rook: orch rm no longer uses rook api delete
	qa/tasks/rook: fix cluster deletion hanging due to CephObjectStore CR
	mgr/rook: use default replication size in orch apply rgw
	mgr/rook: add placement specs to apply rgw

Reviewed-by: Sage Weil <sage@redhat.com>
2021-09-29 14:38:47 -04:00
Ernesto Puerta
156defa48e
Merge pull request #43255 from rhcs-dashboard/fix-49344-master
qa/mgr/dashboard: add extra wait to test

Reviewed-by: Alfonso Martínez <almartin@redhat.com>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Deepika Upadhyay <dupadhya@redhat.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
2021-09-29 20:23:23 +02:00
Kefu Chai
05706e72fe
Merge pull request #43341 from pdvian/wip-doc-mon-bootstrap
doc/dev/mon-bootstrap: fix typo

Reviewed-by: Varsha Rao <varao@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
2021-09-29 23:22:24 +08:00
karmab
064b8de309 doc: update kcli information 2021-09-29 17:07:53 +02:00
Kefu Chai
710fded6e2
Merge pull request #42353 from ifed01/wip-ifed-fix-invalid-offset-repair
os/bluestore: fix writing to invalid offset when repairing

Reviewed-by: Adam Kupczyk <akupczyk@redhat.com>
2021-09-29 22:54:15 +08:00
Kefu Chai
3f52895a28
Merge pull request #39062 from fyzard1991/master
mon/OSDMonitor:Make the pg_num check more accurate

Reviewed-by: Kefu Chai <tchaikov@gmail.com>
2021-09-29 22:52:11 +08:00
Kefu Chai
aca8e1f6ba
Merge pull request #43289 from tchaikov/wip-52705
os/bluestore: list obj which equals to pend

Reviewed-by: Mykola Golub <mgolub@suse.com>
Reviewed-by: Xinze Chi <xinze@xsky.com>
Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
2021-09-29 22:50:02 +08:00
Ernesto Puerta
f947e6ec67
Merge pull request #42821 from rhcs-dashboard/force-maintenance-workflow
mgr/dashboard: Move force maintenance test to the workflow test suite 

Reviewed-by: Avan Thakkar <athakkar@redhat.com>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
Reviewed-by: Pere Diaz Bou <pdiazbou@redhat.com>
2021-09-29 13:36:45 +02:00
Sebastian Wagner
32d79d7a55
Merge pull request #43246 from Daniel-Pivonka/cephadm-iscsi-trust-mgr-ips
mgr/cephadm: populate trusted_ip_list in iscsi-gateway.cfg with mgr ips

Reviewed-by: Adam King <adking@redhat.com>
Reviewed-by: Michael Fritch <mfritch@suse.com>
2021-09-29 12:37:44 +02:00
Sebastian Wagner
8a0fc18201
Merge pull request #43309 from guits/iscsi_fixes
cephadm/iscsi: fix a typo

Reviewed-by: Sebastian Wagner <sewagner@redhat.com>
2021-09-29 12:37:02 +02:00
Sebastian Wagner
cabad2ca44
Merge pull request #43319 from guits/workaround_tcmurunner_log
cephadm: modify iscsi containers bindmount

Reviewed-by: Sebastian Wagner <sewagner@redhat.com>
2021-09-29 12:36:42 +02:00
Sebastian Wagner
293e2dcede
Merge pull request #43321 from adk3798/remove-exporter
mgr/cephadm: remove cephadm exporter code

Reviewed-by: Sebastian Wagner <sewagner@redhat.com>
2021-09-29 12:36:06 +02:00
Yuval Lifshitz
c69e45c0e0
Merge pull request #43226 from TRYTOBE8TME/wip-rgw-amqp-minor-nit
src/test: Minor nit from PR #43025
2021-09-29 12:32:55 +03:00
Samuel Just
b344e70e83 crimson/os/seastore/transaction_manager: limit callers to reserve_projected_usage
Adds an exclusive stage for obtaining projected usage as well as an
unordered one for submitting ool writes.  This should allow for a
straightforward wait-list when io is blocked while still allowing
concurrent submission of ool writes otherwise.

Fixes: https://tracker.ceph.com/issues/52698
Signed-off-by: Samuel Just <sjust@redhat.com>
2021-09-29 00:09:12 -07:00
Samuel Just
fbd30a4b0b crimson/os/seastore/segment_cleaner: track projected usage for in progress operations
We're going to want to permit multiple transactions to be writing
concurrently.  Replace await_hard_limits() with a mechanism that
remembers bytes that will be used by in-progress operations.

Signed-off-by: Samuel Just <sjust@redhat.com>
2021-09-29 00:09:09 -07:00
Prashant D
bdb98ad8f9 doc/dev/mon-bootstrap: fix typo
Signed-off-by: Prashant D <pdhange@redhat.com>
2021-09-29 07:13:56 +01:00
Samuel Just
ada436ff23 crimson/os/seastore/segment_manager/block: add debugging to remaining invarg case
Signed-off-by: Samuel Just <sjust@redhat.com>
2021-09-28 22:32:48 -07:00
Samuel Just
b0506abab1 crimson/os/seastore/segment_manager/block: add method name debug prefix
Signed-off-by: Samuel Just <sjust@redhat.com>
2021-09-28 22:32:48 -07:00
Samuel Just
7c64d92fef
Merge pull request #43327 from cyx1231st/wip-seastore-ool-metrics
crimson/os/seastore: introduce ool related metrics with misc improvements

Reviewed-by: Samuel Just <sjust@redhat.com>
2021-09-28 17:38:13 -07:00
Samuel Just
55b37c35e7 crimson/common/operation: add UnorderedStage
Signed-off-by: Samuel Just <sjust@redhat.com>
2021-09-28 17:12:18 -07:00
Samuel Just
db389d6de7 crimson/os/seastore/transaction: make for_each_fresh_block const
Signed-off-by: Samuel Just <sjust@redhat.com>
2021-09-28 17:11:49 -07:00
Samuel Just
17850276c0 crimson/os/seastore/segment_cleaner: make used_bytes unsigned
Signed-off-by: Samuel Just <sjust@redhat.com>
2021-09-28 22:01:00 +00:00
Neha Ojha
84379239c0
Merge pull request #43302 from ronen-fr/wip-rf-osd-psik
osd: add a missing comma in a list of strings

Reviewed-by: Kefu Chai <tchaikov@gmail.com>
Reviewed-by: Sridhar Seshasayee <sseshasa@redhat.com>
2021-09-28 10:01:28 -07:00
Neha Ojha
5c077586d9
Merge pull request #43303 from ronen-fr/wip-rf-osd-modulu
osd: fix the truncation of an int by int division

Reviewed-by: Kefu Chai <tchaikov@gmail.com>
2021-09-28 10:00:02 -07:00
Ernesto Puerta
ba9e17d2d2
Merge pull request #43132 from p-se/monitoring-grafana-piechart-update
monitoring: update grafana-piechart-panel plugin

Reviewed-by: Aashish Sharma <aasharma@redhat.com>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
Reviewed-by: p-se <NOT@FOUND>
2021-09-28 18:37:45 +02:00
Sage Weil
5ee3d38f78 Merge PR #43177 into master
* refs/pull/43177/head:
	osd/PrimaryLogPG: drop ops when pool has EIO flag
	osdc/Objecter: set SUPPORTSPOOLEIO flag on all ops
	ceph_test_rados_api_aio: test pool EIO flag
	osdc/Objecter: return EIO for new linger ops
	osdc/Objecter: return EIO for existing ops and linger ops
	osdc/Objecter: return EIO for new ops
	osd,mon: add EIO pool flag

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Neha Ojha <nojha@redhat.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
2021-09-28 10:58:24 -04:00
Kefu Chai
e310b1e847
Merge pull request #43320 from pdvian/wip-doc-cephx-fixtypo
doc/dev/cephx: fix typo

Reviewed-by: Varsha Rao <varao@redhat.com>
Reviewed-by: Kefu Chai <tchaikov@gmail.com>
2021-09-28 22:56:57 +08:00
Kefu Chai
69897926b2
Merge pull request #43316 from smithfarm/wip-spdk-tw
rpm: enable system_pmdk bcond for SUSE builds

Reviewed-by: Tim Serong <tserong@suse.com>
Reviewed-by: Kefu Chai <tchaikov@gmail.com>
2021-09-28 22:49:58 +08:00
Kefu Chai
ffab13bcd9 os/bluestore: list obj which equals to pend
otherwise we could have failures like

scrub : stat mismatch, got 3/4 objects, 1/2 clones, 3/4 dirty, 3/4 omap, 0/0 pinned, 0/0 hit_set_archive, 0/0 whiteouts, 49/56 bytes, 0/0 manifest objects, 0/0 hit_set_archive bytes."

where the numbers of scrubbed object, clones, dirty and omap are always
less than the total number of corresponding numbers, if the PG contains
object(s) whose hash happens to be 0xffffffff.

in this change, if the calculated hash of the upper bound is greater
than the maximum possible number represented by uint32_t, in addition to
setting the hash of the upper bound hobj to 0xffffffff, we also set the
nspace of hobj of the upper bound to "\xff", so that the upper bound
is greater than an hobj whose hash happens to be 0xfffffff. please note,
the nspace of "\xff" is not an ascii string, so it's not likely to be
less than a real-world nspace of an hobj.

with this new *greater* upper bound, we are able to include the previous
missing hobj when listing the objects in a PG. so the scrub won't be
annoyed when the number of objects does not match.

Fixes: https://tracker.ceph.com/issues/52705
Signed-off-by: Mykola Golub <mykola.golub@clyso.com>
Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2021-09-28 22:45:10 +08:00
Kefu Chai
715a83822e os/bluestore: use scope_guard to log latency
simpler this way, and avoid using `goto`.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2021-09-28 22:45:10 +08:00
Sebastian Wagner
a24b3fa949
Merge pull request #43150 from sebastian-philipp/doc-cephadm-serves-sub-tree
doc/cephadm: move services under doc/cephadm/services ?

Reviewed-by: Adam King <adking@redhat.com>
Reviewed-by: Michael Fritch <mfritch@suse.com>
2021-09-28 11:20:47 +02:00
Nizamudeen A
e33d9e15b9 mgr/dashboard: Move force maintenance test to the workflow test suite
Fixes: https://tracker.ceph.com/issues/52276
Signed-off-by: Nizamudeen A <nia@redhat.com>
2021-09-28 14:17:20 +05:30
Deepika Upadhyay
85635f3066
Merge pull request #43221 from badone/wip-install-deps-new-pip-resolver
install-deps.sh: Use legacy pip resolver

Reviewed-by: Kefu Chai <tchaikov@gmail.com>
 Reviewed-by: Deepika Upadhyay <dupadhya@redhat.com>
2021-09-28 14:15:41 +05:30
Yingxin Cheng
c1fdb0ab48 crimson/os/seastore: introduce ool related metrics with misc improvements
* The number of ool records written;
* Write overhead from journal/ool records;
* Wasted writes from invalided ool records;
* Wasted writes from erased inline extents;
* Distinguish ool and inline extents from metrics;

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2021-09-28 16:31:08 +08:00
Yingxin Cheng
2b1402b3d5 crimson/os/seastore/transaction: count fresh blocks separately
Correct get_num_fresh_blocks() to be accurate under the effect of
delayed allocations.

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2021-09-28 16:31:08 +08:00
Yingxin Cheng
529f1a81c7 crimson/os/seastore/transaction: cleanup comments
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2021-09-28 16:31:08 +08:00
Yingxin Cheng
33b5947a86 crimson/os/seastore/cache: misc cleanup
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2021-09-28 16:31:08 +08:00