Commit Graph

115527 Commits

Author SHA1 Message Date
Kefu Chai
c90bbc0630 crimson/common/tri_mutex: add helpers for seastar::with_lock()
so we don't need to worry about unlocking the object context.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-09-19 13:30:51 +08:00
Kefu Chai
5fb318fd25 crimson/common: discard failure of finally() block
instead of assuming that the function passed to finally() returns an
erroratorized future, in this change:

* s/safe_then/then_wrapped/ to handle the exception thrown by
  the finally function.
* specialize for the case where the finally function does not return
  a future, and just call it. note, in seastar's implementation of
  finally, `finally_body` is used for specializing these two cases.
* rename "future" to "result", for better readability.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-09-19 12:40:50 +08:00
Kefu Chai
47e7cd0f65
Merge pull request #37207 from tchaikov/wip-doc-dev-osx
doc/dev/macos.rst: disable features not supported on osx

Reviewed-by: Kamoltat Sirivadhna <ksirivad@redhat.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Neha Ojha <nojha@redhat.com>
2020-09-19 12:08:35 +08:00
Kefu Chai
266aa66aa9
Merge pull request #37252 from pponnuvel/spellcheck-docs
doc: Fixed a number of typos in documentation

Reviewed-by: Kefu Chai <kchai@redhat.com>
2020-09-19 11:07:52 +08:00
Kefu Chai
7e15a95bab
Merge pull request #37216 from tchaikov/wip-doc-cephadmin-codeblock
doc/cephadm: use appropriate directive for formatting codeblocks

Reviewed-by: Zac Dover <zac.dover@gmail.com>
2020-09-19 10:57:58 +08:00
Patrick Donnelly
7eceaf45de
Merge PR #37202 into master
* refs/pull/37202/head:
	mon: allow overriding the initial mon_host

Reviewed-by: Neha Ojha <nojha@redhat.com>
2020-09-18 18:54:57 -07:00
Kefu Chai
a251ea097d
Merge pull request #37224 from tchaikov/wip-cmake-boost-MPL-list-size
cmake: introduce Boost::MPL interface library for increasing BOOST_MPL_LIMIT_LIST_SIZE

Reviewed-by: David Zafman <dzafman@redhat.com>
Reviewed-by: Neha Ojha <nojha@redhat.com>
2020-09-19 09:33:31 +08:00
Patrick Donnelly
0275e1c7af
Merge PR #37214 into master
* refs/pull/37214/head:
	mgr/volumes/nfs: Check if orchestrator spec service_id is valid

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2020-09-18 17:29:27 -07:00
Patrick Donnelly
22b3d48fa0
Merge PR #37190 into master
* refs/pull/37190/head:
	mon/MonCap: check profile_grants too while checking caps

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2020-09-18 17:27:09 -07:00
Patrick Donnelly
d1a0a6eecc
Merge PR #37148 into master
* refs/pull/37148/head:
	mds/FSMap: do not set legacy_client_fscid after filtering

Reviewed-by: Rishabh Dave <ridave@redhat.com>
2020-09-18 17:24:38 -07:00
Patrick Donnelly
b64c3784f0
Merge PR #37037 into master
* refs/pull/37037/head:
	mds: fix purge_queue's _calculate_ops is inaccurate

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2020-09-18 17:23:32 -07:00
Patrick Donnelly
269667b3a2
Merge PR #37218 into master
* refs/pull/37218/head:
	qa: spawn MDS daemons before creating fs

Reviewed-by: Kefu Chai <kchai@redhat.com>
2020-09-18 16:25:59 -07:00
Neha Ojha
8ba0a61a51
Merge pull request #35906 from gregsfortytwo/wip-stretch-mode
Add a new stretch mode for 2-site Ceph clusters

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2020-09-18 14:31:45 -07:00
Patrick Donnelly
2aae719653
Merge PR #36957 into master
* refs/pull/36957/head:
	mds: convert stringstream to CachedStackStringStream

Reviewed-by: Kotresh Hiremath Ravishankar <khiremat@redhat.com>
2020-09-18 11:04:11 -07:00
Michael Fritch
a6c06a9ca7
Merge pull request #37245 from mgfritch/cephadm-extra-ceph-conf-test
mgr/cephadm: fixup expected extra ceph conf test result

Reviewed-by: Adam King <adking@redhat.com>
2020-09-18 11:50:35 -06:00
Ponnuvel Palaniyappan
d99d520493 doc: Fixed a number of typos in documentation
Signed-off-by: Ponnuvel Palaniyappan <pponnuvel@gmail.com>
2020-09-18 18:17:15 +01:00
Alfonso Martínez
924368e1d0 mgr/dashboard: fix performance issue when listing large amounts of buckets
Fixes: https://tracker.ceph.com/issues/47543
Signed-off-by: Alfonso Martínez <almartin@redhat.com>
2020-09-18 17:16:34 +02:00
Michael Fritch
b3205210a1
mgr/cephadm: fixup expected extra ceph conf test result
fix test failure introduced by:
ff7e76348e

```
E           AssertionError: expected call not found.
E           Expected: _run_cephadm('test', 'mon.test', 'deploy', ['--name', 'mon.test', '--reconfig', '--config-json', '-'], stdin='{"config": "\\n\\n[mon]\\nk=v\\n", "keyring": ""}')
E           Actual: _run_cephadm('test', 'mon.test', 'deploy',
['--name', 'mon.test', '--reconfig', '--config-json', '-'],
stdin='{"config": "\\n\\n[mon]\\nk=v\\n", "keyring": ""}', image='')
```

Signed-off-by: Michael Fritch <mfritch@suse.com>
2020-09-18 08:54:57 -06:00
Daniel Gryniewicz
7d2e36845b Fix missing req_state for librgw
One of the zipper commits broke the declaration of req_state.

Fixes issue #47520

Signed-off-by: Daniel Gryniewicz <dang@redhat.com>
2020-09-18 10:52:02 -04:00
Lenz Grimmer
de3c66c568 doc: Updated HACKING.rst and README.rst
Replaced the content of `HACKING.rst` in the dashboard source code
directory with a pointer to the new location in the developer guide.

Updated references in `README.rst` to also point to the online versions
of these files.

Fixes: tracker.ceph.com/issues/47396

Signed-off-by: Lenz Grimmer <lgrimmer@suse.com>
2020-09-18 15:15:34 +02:00
Joshua Schmid
76e5020b10 cephadm: capadd and privileged are mutex
Signed-off-by: Joshua Schmid <jschmid@suse.de>
2020-09-18 14:46:01 +02:00
Joshua Schmid
d7d1267686
docs: s/svc_id/osd_id
Fixes: https://tracker.ceph.com/issues/47402
Signed-off-by: Joshua Schmid <jschmid@suse.de>
2020-09-18 14:33:40 +02:00
Rishabh Dave
f07ccd64d4 qa/mgr: revert a patch from commit 04ed58f
mds_cluster.mds_fail() runs command "mds fail" not "fs fail". The reason
for failure was PR #32581 which accidentally changed the return code
from 0 to EINVAL. Since this was reversed in PR #37159, the change
introduced by 04ed58f is not only incorrect but also redundant.

Signed-off-by: Rishabh Dave <ridave@redhat.com>
2020-09-18 16:33:41 +05:30
Lenz Grimmer
ec05d87432
Merge pull request #34545 from rhcs-dashboard/read_only
mgr/dashboard: Disabling the form inputs for the read_only modals

Reviewed-by: Alfonso Martínez <almartin@redhat.com>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Tiago Melo <tmelo@suse.com>
2020-09-18 12:59:30 +02:00
Aashish Sharma
1c812e0d61 mgr/dashboard/api: move/create OSD histogram in separate endpoint
Added a separate endpoint for osd/histogram - api/osd/{svc_id}/histogram

Fixes:https://tracker.ceph.com/issues/46898
Signed-off-by: Aashish Sharma <aasharma@redhat.com>
2020-09-18 16:11:04 +05:30
Lenz Grimmer
0625509c7f
Merge pull request #37023 from p-se/grafana-many-to-many
mgr/dashboard: Fix many-to-many issue in host-details Grafana dashboard

Reviewed-by: Avan Thakkar <athakkar@redhat.com>
2020-09-18 11:58:47 +02:00
Joshua Schmid
4057f30187
Merge pull request #37059 from guits/guits-cephadm-shell-multiple-mounts
cephadm: support multiple mounts when running interactive shell
2020-09-18 10:57:52 +02:00
Joshua Schmid
1fb9082b09
Merge pull request #36890 from sebastian-philipp/cephadm-extend-ceph.conf
mgr/cephadm: Add extra-ceph-conf
2020-09-18 10:56:24 +02:00
Joshua Schmid
e87a408995
Merge pull request #37135 from sebastian-philipp/cephadm-race-add-host-vs-apply
mgr/cephadm: Fix race between host_add and _apply_all_specs
2020-09-18 10:55:17 +02:00
Joshua Schmid
a0065d4a95
Merge pull request #36969 from votdev/issue_46666_container_spec
cephadm: Introduce 'container' specification to deploy custom containers
2020-09-18 10:50:30 +02:00
Rishabh Dave
d7ec8d56aa qa/cephfs: don't pass args to destroy() in recreate()
In filesystem.py, don't set value of reset_obj_attrs to False.

Fixes: https://tracker.ceph.com/issues/47526
Signed-off-by: Rishabh Dave <ridave@redhat.com>
2020-09-18 14:10:10 +05:30
Mahati Chamarthy
7ab199d2a7 librbd/cache: Fix pwl_path read issue
... in ImageCacheState

Signed-off-by: Mahati Chamarthy <mahati.chamarthy@intel.com>
2020-09-18 13:53:35 +05:30
Rishabh Dave
e7a721f0d2 mon/MonCap: check profile_grants too while checking caps
When checking if a certain fs subcommand can and should be executed in
FSCommands.cc, check permissions in "profile_grants" too when the caps
for that entity contains a cap profile.

Fixes: https://tracker.ceph.com/issues/47423
Signed-off-by: Rishabh Dave <ridave@redhat.com>
2020-09-18 13:23:35 +05:30
Kefu Chai
989af0b7cf
Merge pull request #37158 from tchaikov/wip-no-more-assertDictContainsSubset
mgr/dashboard: replace assertDictContainsSubset() with assertLessEqual()

Reviewed-by: Volker Theile <vtheile@suse.com>
2020-09-18 15:18:31 +08:00
Kefu Chai
12457bab47
Merge pull request #37170 from yaarith/add-smartctl-nvme-dependencies
ceph.spec, debian: add smartmontools, nvme-cli dependencies

Reviewed-by: Kefu Chai <kchai@redhat.com>
2020-09-18 13:42:44 +08:00
Kefu Chai
0cf2e89948 cmake: introduce Boost::MPL interface library
Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-09-18 12:26:09 +08:00
Kefu Chai
822b91e4d1 src: Revert "Fix to raise BOOST_MPL_LIMIT_LIST_SIZE from 20 to 30"
This reverts commit 3f4e9a4526.

will fix the FTBFS by introducing a interface library in CMake script

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-09-18 12:26:09 +08:00
Kefu Chai
709c73ef4a cmake: extract admin/CMakeLists.txt
for better modularity

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-09-18 12:26:09 +08:00
Jason Dillaman
1d0a3b17f5 librbd: pass IOContext to image-extent IO dispatch methods
This allows a specific IOContext to be used regardless of the image's
current read and write snapshot state.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2020-09-17 23:52:32 -04:00
Jason Dillaman
c433e12999 librbd: pass IOContext to object-extent IO dispatch methods
This allows a specific IOContext to be used regardless of the image's
current read and write snapshot state.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2020-09-17 23:52:32 -04:00
Jason Dillaman
6c4785be79 librbd: helper method to create new data pool IOContext
Deep-copy will require the ability to issue IOs against arbitrary
IOContexts via the image-extent IO dispatcher.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2020-09-17 23:52:32 -04:00
Jason Dillaman
ad7372e355 librbd: image dispatch spec tids are assigned by dispatcher
This was a legacy implementation where it was assigned by the ImageRequestWQ
and therefore needs to be part of the factory methods.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2020-09-17 23:52:32 -04:00
Jason Dillaman
78fe19260a librbd: simplify in-flight IO tracking for write-block image dispatch
Now that we don't need to worry about read requests issuing a finish
callback, we can use a simple counter to track in-flight writes.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2020-09-17 23:52:32 -04:00
Jason Dillaman
a40718283d librbd: drop ImageDispatchInterface::handle_finished virtual method
Any dispatch layer can now directly place themselves in the finish
callback handler chain without the use of the generic callback.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2020-09-17 23:52:32 -04:00
Jason Dillaman
a1e1f0f72c librbd: use an overridable finish handler for the image dispatcher
This mimics the design from the object dispatcher and will allow
for simplified in-flight IO tracking.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2020-09-17 23:52:32 -04:00
Jason Dillaman
c599785b3c librbd: drop flush tracker from exclusive lock image dispatch
We can now pass the flush through the exclusive-lock dispatch layer
to ensure all in-flight IOs have been processed.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2020-09-17 23:52:31 -04:00
Jason Dillaman
2122542a2e librbd: update refresh image dispatch layer flush exclusions
Only flush requests coming from the refresh state machine or from the
exclusive-lock dispatch layer initializationshould be ignored. This is
because both can be initiated from the refresh state machine and
therefore deadlock.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2020-09-17 23:52:31 -04:00
Jason Dillaman
a320a2b821 librbd: reorder exclusive-lock pre-release state steps
The exclusive-lock dispatch layer should be locked and flushed to
ensure no IO is waiting for a refresh. Once that is complete, interlock
with the refresh state machine and re-flush one last time w/ the
refresh dispatch layer skipped.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2020-09-17 23:52:31 -04:00
Jason Dillaman
75929c4118 librbd: avoid blocking writes when initializing exclusive-lock
The exclusive-lock dispatch layer will already block IOs as required
so this second layer of blocking just increases the complexity and
the potential for deadlocks when attempting to flush.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2020-09-17 23:52:31 -04:00
Jason Dillaman
437354ffcd librbd: skip flush from exclusive-lock dispatch layer on init/shutdown
If the exclusive-lock layer is being initialized/shut down at image
open/close, there is no IO flowing so there is no need to flush.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2020-09-17 23:52:31 -04:00