Commit Graph

122458 Commits

Author SHA1 Message Date
Kefu Chai
3a62ba9463 doc/rados/configuration/auth-config-ref: use "describe" to define default keyrings
Signed-off-by: Kefu Chai <kchai@redhat.com>
2021-04-19 17:08:46 +08:00
Kefu Chai
fffa02706b doc/_ext: use iec_size() instead of filesizeformat()
to format size options in the same format supported by our C++
strict_iec_cast() parser. so they are more consistent from user's
perspective.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2021-04-19 17:08:46 +08:00
Kefu Chai
3767e0cb16 doc/rados/configuration: merge ms-ref into network-conf-ref
the latter provides more context, and "messenger" is how the networking
infra is implemented.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2021-04-19 17:08:46 +08:00
Kefu Chai
1ecd8e7f97 doc/rados/configuration/ceph-conf: use "describe" to define option types
Signed-off-by: Kefu Chai <kchai@redhat.com>
2021-04-19 17:08:46 +08:00
Kefu Chai
a67451d05d doc/rados/configuration: fix formatting of code block
Signed-off-by: Kefu Chai <kchai@redhat.com>
2021-04-19 17:08:46 +08:00
Kefu Chai
76fb3d147d doc: use "confsec" role for configure section
and rename confval_section to confsec for shorter name

Signed-off-by: Kefu Chai <kchai@redhat.com>
2021-04-19 17:08:45 +08:00
Kefu Chai
66a86596a3 doc/rados/configuration/ceph-conf: use confval directive
for defining options

Signed-off-by: Kefu Chai <kchai@redhat.com>
2021-04-19 17:08:45 +08:00
Kefu Chai
02a15a81d8 doc: use ":confval:" role to reference options defined using confval
Signed-off-by: Kefu Chai <kchai@redhat.com>
2021-04-19 17:08:45 +08:00
Kefu Chai
a37f5a5eea doc/rados/configuration/osd-config-ref: use confval directive
for defining options

Signed-off-by: Kefu Chai <kchai@redhat.com>
2021-04-19 17:08:45 +08:00
Kefu Chai
d1c6182fa2 doc/_ext: render see_also field
Signed-off-by: Kefu Chai <kchai@redhat.com>
2021-04-19 17:08:45 +08:00
Kefu Chai
1128f4e22f doc/_ext: render more fields in an option
* print "enum_value" as a list
* print "note" and "warning"

Signed-off-by: Kefu Chai <kchai@redhat.com>
2021-04-19 17:08:45 +08:00
Kefu Chai
23c7081dab doc/rados/configuration/mclock-config-ref: use confval directive
for defining options

Signed-off-by: Kefu Chai <kchai@redhat.com>
2021-04-19 17:08:43 +08:00
Kefu Chai
20676f00c9 doc/rados/configuration/pool-pg-config-ref: use confval directive
for defining options.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2021-04-19 17:08:11 +08:00
Kefu Chai
65925d78c6 doc/rados/configuration/bluestore-config-ref: use confval directive
for defining options.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2021-04-19 17:08:07 +08:00
Kefu Chai
f415cec292
Merge pull request #40906 from tchaikov/rzarzynski/wip-crimson-internal_client_request-cleanup
crimson/osd: various cleanups

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2021-04-19 16:45:46 +08:00
Kefu Chai
4fd963d68f
Merge pull request #40874 from rhcs-dashboard/fix-cephfs-pool-size-stat
mgr/dashboard: filesystem pool size should use stored stat

Reviewed-by: Aashish Sharma <aasharma@redhat.com>
2021-04-19 16:36:04 +08:00
Kefu Chai
43940b1b91
Merge pull request #40879 from myoungwon/wip-fix-50299
osd: fix reference leak when ManifestOp is not used

Reviewed-by: Samuel Just <sjust@redhat.com>
2021-04-19 16:29:08 +08:00
Kefu Chai
9ae03a788a
Merge pull request #40878 from tchaikov/wip-mop-cleanup
osd: remove C_SetManifestRefCountDone::mop

Reviewed-by: Myoungwon Oh <myoungwon.oh@samsung.com>
Reviewed-by: Sam Just <sjust@redhat.com>
2021-04-19 16:26:56 +08:00
Kefu Chai
671af3ca85
Merge pull request #40896 from jdurgin/wip-yaml-options-fix
common/options: fix several out of date defaults and options added during yaml conversion

Reviewed-by: Kefu Chai <kchai@redhat.com>
2021-04-19 16:26:04 +08:00
Kefu Chai
20de7dd55c
Merge pull request #40884 from majianpeng/osd-watch-remove-unused-code
osd/Watch.h: remove unused code.

Reviewed-by: Kefu Chai <kchai@redhat.com>
2021-04-19 16:25:30 +08:00
Kefu Chai
f2e0770c27 qa/workunits/mon/test_mon_config_key: use subprocess.run() instead of proc.communicate()
the loop of proc.communicate() on python3.6, where we always are able to
get something out of stdout and/or stderr PIPEs. and the `stdout` and
`stderr` keep growing until out of memory. and teuthology considers
the command crashed after a while.

Fixes: https://tracker.ceph.com/issues/50393
Signed-off-by: Kefu Chai <kchai@redhat.com>
2021-04-19 16:11:30 +08:00
Radoslaw Zarzynski
a28cc0d629 crimson/osd: fix formatting around ClientRequest::do_process().
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2021-04-19 15:58:19 +08:00
Radoslaw Zarzynski
713bb9188f crimson/osd: fix header inclusion order in ops_executer.h.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2021-04-19 15:58:19 +08:00
Radoslaw Zarzynski
46bd515410 crimson/osd: PG::with_locked_obc() doesn't depend on Op anymore.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2021-04-19 15:58:19 +08:00
Radoslaw Zarzynski
1364a46826 crimson/osd: drop namespace for arg in PG::with_locked_obc().
It's unnecessary.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2021-04-19 15:58:19 +08:00
Radoslaw Zarzynski
8b90df0dd2 crimson/osd: avoid unneeded obc catching in PG::do_osd_ops_execute().
Actually, `OpsExecuter` already holds `ObjectContextRef` and even
has a (private till now) getter for `hobject_t` extraction.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2021-04-19 15:58:19 +08:00
Kefu Chai
7200e5286e
Merge pull request #40872 from wjwithagen/wjw-fix-pidfile-order
core: fix compiler warning due to difference in order of struct members

Reviewed-by: Kefu Chai <kchai@redhat.com>
2021-04-19 15:50:33 +08:00
Kefu Chai
f057ea202f
Merge pull request #40749 from tchaikov/wip-python3-spec
ceph.spec: consolidate python3-{setuptools,Cython} builds deps

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Brad Hubbard <bhubbard@redhat.com>
2021-04-19 15:49:37 +08:00
Kefu Chai
1f4525062b
Merge pull request #40869 from tchaikov/wip-run-make-check.sh-py3
run-make-check.sh: do not specify -DWITH_PYTHON=3

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Neha Ojha <nojha@redhat.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2021-04-19 15:48:02 +08:00
Kefu Chai
d8a1d1f93a cmake: rearrange configure_file()
AddCephTest and googletest's CMake scripts also call
find_package(Python3...), but they do not specify the required minor
version of Python3. by default, find_package(Python3...) picks the highest
available python3. so, if we have multiple python3 versions installed in the
system, and the highest python3 version is not the one specified by the
-DWITH_PYTHON3=3.x.y in the cmake command line, we might end up using a
different python3 for the ceph CLI. and even worse, the required python3
package might not available for the picked python3 interpreter found by
googletest. as, in general, only a single python3 has the full access to
prepackaged python3-* shipped by a GNU/Linux distro.

in this change, the configure_file() calls are rearranged to the top of
src/CMakeLists.txt, so they have less chance to use the "polluted" cmake
variable for their subvars.

this change address the test failure where we have, for instance, python3.8
installed on RHEL8/CentOS8, where python3.6 is the python3 which has
the access to the python3-* packages.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2021-04-19 12:09:32 +08:00
Kefu Chai
bcd596994f run-make-check.sh: do not specify -DWITH_PYTHON=3
should leave it to do_cmake.sh to decide which python3 version to use,
there is case that we have multiple python3 installed, but only one of them
is fully supported by the distro, in the sense that python3-* packages
are packaged for that python3.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2021-04-19 12:04:18 +08:00
Kefu Chai
3903a71a60
Merge pull request #40901 from tchaikov/wip-mgr-rook
cmake: let WITH_MGR_ROOK_CLIENT depend on WITH_MGR

Reviewed-by: Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Willem Jan Withagen <wjw@digiware.nl>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2021-04-19 11:25:23 +08:00
wangyunqing
cf0926ecb6
doc/radosgw/multisite.rst: fix typos
Signed-off-by: wangyunqing wangyunqing@inspur.com
2021-04-19 11:11:24 +08:00
Kefu Chai
63d50348c6 cmake: let WITH_MGR_ROOK_CLIENT depend on WITH_MGR
it does not depend on WITH_MGR_DASHBOARD_FRONTEND, which is disabled by
default and is used for enable/disable the inclusion of dashboard
support. while root client is used by orchestrator. so it should depend
on WITH_MGR not WITH_MGR_DASHBOARD_FRONTEND.

this change addresses the regression introduced by
1003f1ffee

Signed-off-by: Kefu Chai <kchai@redhat.com>
2021-04-18 21:53:29 +08:00
Samuel Just
9b93b0aeee crimson/os/seastore: wire in object_data_handler
Signed-off-by: Samuel Just <sjust@redhat.com>
2021-04-18 00:36:03 -07:00
Samuel Just
2b50b23cc1 crimson/os/seastore/object_data_handler: add logic for handling object data
Signed-off-by: Samuel Just <sjust@redhat.com>
2021-04-18 00:36:03 -07:00
Samuel Just
ff71b15f7a crimson/os/seastore/transaction_manager: expose block size
Signed-off-by: Samuel Just <sjust@redhat.com>
2021-04-18 00:36:03 -07:00
Samuel Just
80f7b59942 crimson/os/seastore/transaction_manager: add zero region reservation
Add logical mappings for zero regions for use in reserving contiguous
sections of laddr space.

Signed-off-by: Samuel Just <sjust@redhat.com>
2021-04-18 00:36:00 -07:00
Samuel Just
afb43b1641 crimson/os/seastore/transaction_manager: expose find_hole
Signed-off-by: Samuel Just <sjust@redhat.com>
2021-04-18 00:30:42 -07:00
Samuel Just
1084a7dd4a crimson/os/seastore/transaction_manager: replace read_extents, expose pins
read_extents in all except one case was used to read a known single extent
-- replace those users with read_extent.  store-nbd uses read_extents as
intended, but other users will need to be able to deal with zero mappings.

Signed-off-by: Samuel Just <sjust@redhat.com>
2021-04-18 00:30:42 -07:00
Samuel Just
da462b15a3 crimson/os/seastore/.../btree_range_pin: update parent in duplicate
Signed-off-by: Samuel Just <sjust@redhat.com>
2021-04-18 00:30:42 -07:00
Samuel Just
7fdad7da64 crimson/os/seastore/cache: assert rather than discard in get_extent
Signed-off-by: Samuel Just <sjust@redhat.com>
2021-04-18 00:30:42 -07:00
Samuel Just
cdcd57fd05 crimson/os/seastore: clean up write helper param types
By convention, we want to pass these by value or rval
ref as their lifetimes need to be managed.

Signed-off-by: Samuel Just <sjust@redhat.com>
2021-04-18 00:30:38 -07:00
myoungwon oh
eb579bb48a test: extend retry timeout from 150s to 300s
Manifest objects try to recover their clones if the clones
are unreadable when calculating ref. count.
In some case, the recovery takes more time than 150s,
so this commit extends time from 150s to 300s.

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

Signed-off-by: Myoungwon Oh <myoungwon.oh@samsung.com>
2021-04-18 10:13:05 +09:00
Malcolm Holmes
382e293656 monitoring/grafana: Remove erroneous elements in hosts-overview Grafana dashboard
The hosts-overview Grafana dashboard json file contains a repeated element, making
it invalid JSON. Some JSON parsers handle this. However, this prevents Jsonnet
from parsing the dashboard, which prevents the deployment of this dashboard via
Jsonnet.

Fixes: https://tracker.ceph.com/issues/50410
Signed-off-by: Malcolm Holmes <mdh@odoko.co.uk>
2021-04-17 23:11:48 +01:00
Radoslaw Zarzynski
728be14cd9 crimson/mgr: don't report if there is no connection available.
During a teuthology run [1] following crash happended:

```
rzarzynski@teuthology:/home/teuthworker/archive/rzarzynski-2021-04-08_10:14:11-rados-master-distro-basic-smithi/6028696$ less remote/smithi052/log/ceph-osd.3.log.gz
...
DEBUG 2021-04-08 10:32:58,548 [shard 0] ms - [osd.3(client) v2:172.21.15.52:6813/30889@62168 >> mon.0 v2:172.21.15.52:3300/0] <== #3 === mgrmap(e 4) v1 (1796)
INFO  2021-04-08 10:32:58,549 [shard 0] ms - [osd.3(client) v2:172.21.15.52:6813/30889@62056 >> mgr.4100 v2:172.21.15.52:6800/30259] closing: reset no, replace no
DEBUG 2021-04-08 10:32:58,549 [shard 0] ms - [osd.3(client) v2:172.21.15.52:6813/30889@62056 >> mgr.4100 v2:172.21.15.52:6800/30259] TRIGGER CLOSING, was READY
INFO  2021-04-08 10:32:58,549 [shard 0] ms - [osd.3(client) v2:172.21.15.52:6813/30889@62056 >> mgr.4100 v2:172.21.15.52:6800/30259] execute_ready(): protocol aborted at CLOSING -- std::system_error (error crimson::net:4, read eof)
DEBUG 2021-04-08 10:32:58,549 [shard 0] ms - [osd.3(client) v2:172.21.15.52:6813/30889@62056 >> mgr.4100 v2:172.21.15.52:6800/30259] closed!
Segmentation fault on shard 0.
Backtrace:
  0x000000000151765c
  0x00000000014d9600
  0x00000000014d9902
  0x00000000014d9972
  /lib64/libpthread.so.0+0x0000000000012b1f
  0x0000000000e59cba
  0x00000000014dc8a6
  0x00000000014cdd1c
  0x0000000001503053
  0x000000000149fab7
  0x00000000006e0ef5
  /lib64/libc.so.6+0x00000000000237b2
  0x000000000072a23d
daemon-helper: command crashed with signal 11
```
[1]: http://pulpito.front.sepia.ceph.com/rzarzynski-2021-04-08_10:14:11-rados-master-distro-basic-smithi/6028696/

GDB testifies the `conn` during the execution of `ceph::mgr:report()` was null:

```
(gdb) frame 7
154	in /usr/src/debug/ceph-17.0.0-2935.g4153f8c2.el8.x86_64/src/crimson/mgr/client.cc
(gdb) print conn
$1 = {_b = 0x0, _p = 0x0}
```

Taken altogether with the `mgr.4100 v2:172.21.15.52:6800/30259] closed!`
debug this suggests that a call to `report()` occurred (likely from the
timer) but we were in the middle of the unatomic reconnect sequence:

```cpp
seastar::future<> Client::reconnect()
{
  if (conn) {
    conn->mark_down();
    conn = {};
  }
  // ...
  return seastar::sleep(a_while).then([this] {
    // ...
    conn = msgr.connect(peer, CEPH_ENTITY_TYPE_MGR);
  });
}
```

This commit alters the `mgr::report()` to skip reporting is the `conn`
is unavailable.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2021-04-17 20:59:05 +00:00
Patrick Donnelly
4f6adfd148
Merge PR #40892 into master
* refs/pull/40892/head:
	qa/crontab: reduce pacific priority

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2021-04-17 10:10:15 -07:00
Kefu Chai
d9631287dc
Merge pull request #40890 from tchaikov/wip-yamlize-options-doc
common/options,doc: extract formatted desc into .yaml.in

Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2021-04-17 10:43:58 +08:00
Josh Durgin
0d44a6bd0e common/options/global.yaml.in: remove unused mon options
These were removed in a5f9ca1571

Signed-off-by: Josh Durgin <jdurgin@redhat.com>
2021-04-16 18:16:31 -04:00
Sage Weil
1a55d82229 Merge PR #40888 into master
* refs/pull/40888/head:
	qa/tasks/cephadm: ignore --keep-logs failure
	qa/tasks/cephadm: use yaml.dump_all()
	qa/suites/rados/cephadm/smoke-*: use cephadm.wait_for_service
	qa/tasks/cephadm: tear down clsuter before gathering logs
	qa/suites/rados/cephadm/smoke-roleless: test rgw-ingress
	mgr/cephadm: remove virtual_ip check during scheduling
	mgr/orchestrator: orch ls: leave off virtual_ip prefixlen
	qa/tasks/cephadm: add wait_for_service
	qa/tasks/cephadm: allow skip_monitor_stack=true
	qa/tasks/cephadm: do subst_vip for cephadm.shell and .apply
	qa/tasks/vip: add vip task to allocate virtual IPs
	qa/suites/rados/cephadm/smoke-roleless: add rgw-ingress test case
	qa/tasks/cephadm: shell: take 'all-roles' or 'all-hosts'
	qa/tasks/cephadm: let cephadm.shell take string or list

Reviewed-by: Sebastian Wagner <swagner@suse.com>
2021-04-16 18:10:46 -04:00