Commit Graph

115467 Commits

Author SHA1 Message Date
Wong Hoi Sing Edison
d88c834ea4
systemd: Support Graceful Reboot for AIO Node
Ceph AIO installation with single/multiple node is not friendly for
loopback mount, especially always get deadlock issue during graceful
system reboot.

We already have `rbdmap.service` with graceful system reboot friendly as
below:

    [Unit]
    After=network-online.target
    Before=remote-fs-pre.target
    Wants=network-online.target remote-fs-pre.target

    [Service]
    ExecStart=/usr/bin/rbdmap map
    ExecReload=/usr/bin/rbdmap map
    ExecStop=/usr/bin/rbdmap unmap-all

This PR introduce:

  - `ceph-mon.target`: Ensure startup after `network-online.target` and
    before `remote-fs-pre.target`
  - `ceph-*.target`: Ensure startup after `ceph-mon.target` and before
    `remote-fs-pre.target`
  - `rbdmap.service`: Once all `_netdev` get unmount by
    `remote-fs.target`, ensure unmap all RBD BEFORE any Ceph components
    under `ceph.target` get stopped during shutdown

The logic is concept proof by
<https://github.com/alvistack/ansible-role-ceph_common/tree/develop>;
also works as expected with Ceph + Kubernetes deployment by
<https://github.com/alvistack/ansible-collection-kubernetes/tree/develop>.
No more deadlock happened during graceful system reboot, both AIO
single/multiple no de with loopback mount.

Also see:

  - <https://github.com/ceph/ceph/pull/36776>
  - <https://github.com/etcd-io/etcd/pull/12259>
  - <https://github.com/cri-o/cri-o/pull/4128>
  - <https://github.com/kubernetes/release/pull/1504>

Fixes: https://tracker.ceph.com/issues/47528
Signed-off-by: Wong Hoi Sing Edison <hswong3i@gmail.com>
2020-09-18 11:02:26 +08:00
Patrick Donnelly
795cf4cecc
mds: convert stringstream to CachedStackStringStream
This is a simple performance refactor.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2020-09-17 18:54:55 -07:00
Patrick Donnelly
ff16f5d67c
Merge PR #37163 into master
* refs/pull/37163/head:
	mds: silence warning ‘MDSRank::fs_name’ will be initialized after [-Wreorder]

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2020-09-17 18:30:11 -07:00
Patrick Donnelly
5126bfca8d
Merge PR #37147 into master
* refs/pull/37147/head:
	mds/FSMap: check parse_role return before filtering

Reviewed-by: Ramana Raja <rraja@redhat.com>
Reviewed-by: Neha Ojha <nojha@redhat.com>
Reviewed-by: Rishabh Dave <ridave@redhat.com>
2020-09-17 18:28:13 -07:00
David Zafman
3a95735010
Merge pull request #36989 from AmnonHanuhov/wip-ObjectStore_EIO_Handling
osd: Got rid of global flag eio_errors_to_process

Reviewed-by: David Zafman <dzafman@redhat.com>
2020-09-17 17:45:42 -07:00
Jason Dillaman
052a0842d8 librbd: remove unncessary templating from io::ImageDispatchSpec
This was a remnant of the original implimentation for the image
dispatch spec. Now it more closely aligns with the object dispatch
spec.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2020-09-17 20:40:09 -04:00
Jason Dillaman
c22a89d2b1 librbd: queued IOs should retry acquiring exclusive lock
If the IO that attempts to acquire the exclusive lock fails,
any queued IO will not be retried leading to a deadlock.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2020-09-17 20:40:09 -04:00
David Zafman
a97a1cd858
Merge pull request #36397 from dzafman/wip-39012
distinguish unfound + impossible to find, vs start some down OSDs to get

Reviewed-by: Neha Ojha <nojha@redhat.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2020-09-17 17:30:43 -07:00
Jason Dillaman
251b940f4f
Merge pull request #37132 from lixiaoy1/dirty_cache_feature
librbd: add DIRTY_CACHE in IMPLICIT_ENABLE

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2020-09-17 19:04:29 -04:00
Jason Dillaman
c4fb0c1dfa
Merge pull request #36586 from MahatiC/wip-ssd-integration
librbd/cache: SSD cache integration framework

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2020-09-17 17:52:30 -04:00
Kefu Chai
5df5d8f8ff
Merge pull request #37141 from sebastian-philipp/cephadm-fix-rm-util.load_from_store
mgr/cephadm: fix RemoveUtil.load_from_store()

Reviewed-by: Joshua Schmid <jschmid@suse.de>
2020-09-18 00:32:22 +08:00
Patrick Donnelly
61db7a9c2e
qa: spawn MDS daemons before creating fs
This avoids unnecessary MDS_ALL_DOWN messages because the MDS daemons
have not yet been spawned.

Fixes: https://tracker.ceph.com/issues/47518
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2020-09-17 09:26:38 -07:00
Kefu Chai
967104103c doc/cephadm: use appropriate directive for formatting codeblocks
Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-09-17 23:42:27 +08:00
Ulrich Weigand
2e66216b0c test/librados: fix endian bugs in checksum test cases
We're seeing test failures when running rados/test.sh in Teuthology
on a big-endian platform (IBM Z).  These are all related to calls
to the checksum operations, which expect little-endian inputs and
outputs, but are in many places called with native-endian types
from the test code.

One test case, LibRadosAio::RoundTrip3 in aio.cc, already uses
ceph_le types to address this problem, and this test actually
completes successfully on IBM Z.  This patch changes the other
test case performing checksum operations accordingly.

With this patch in place, rados/test.sh now completed successfully.

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

Signed-off-by: Ulrich Weigand <ulrich.weigand@de.ibm.com>
2020-09-17 15:52:54 +02:00
Patrick Donnelly
3428b020fd
Merge PR #37197 into master
* refs/pull/37197/head:
	doc: add "fs authorize" subcommand to ceph man page

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2020-09-17 06:42:33 -07:00
nizamial09
702f3f2337 mgr/dashboard: Creating Login Page Legal Links
Some of the doc links that can be shown in the login page like security, trademarks etc and can add new links easily.

Fixes: https://tracker.ceph.com/issues/47454
Signed-off-by: Nizamudeen A <nia@redhat.com>
2020-09-17 17:17:14 +05:30
Kefu Chai
f09fb275a7
Merge pull request #37120 from tchaikov/wip-rados-type-hintings
pybind/rados: add more type hintings

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2020-09-17 18:40:06 +08:00
Varsha Rao
db7353b4be mgr/volumes/nfs: Check if orchestrator spec service_id is valid
Fixes: https://tracker.ceph.com/issues/47512
Signed-off-by: Varsha Rao <varao@redhat.com>
2020-09-17 16:09:52 +05:30
Kefu Chai
d814c5533b
Merge pull request #37143 from dvanders/dvanders_flush
ceph.in: ignore failures to flush stdout

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
2020-09-17 18:39:09 +08:00
Kefu Chai
8abfc5b7e2
Merge pull request #37100 from rhcs-dashboard/fix-47400-master
ceph: ignore BrokenPipeError when printing help

Reviewed-by: Kefu Chai <kchai@redhat.com>
2020-09-17 18:38:15 +08:00
Kefu Chai
499d0c7f2b
Merge pull request #37045 from tchaikov/wip-crimson-bt
common/BackTrace: extract demangle() out

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2020-09-17 18:16:06 +08:00
Volker Theile
7219377cfc cephadm: Introduce 'container' specification to deploy custom containers
Fixes: https://tracker.ceph.com/issues/46666

Signed-off-by: Volker Theile <vtheile@suse.com>
2020-09-17 10:04:11 +02:00
Varsha Rao
a6c6c114af mgr/rook: Pass pod namespace to list_namespaced_pod()
As list_namespaced_pod method requires pod namespace instead of cluster name.

Fixes: https://tracker.ceph.com/issues/47511
Signed-off-by: Varsha Rao <varao@redhat.com>
2020-09-17 13:11:35 +05:30
Kefu Chai
141f23480e common/BackTrace: let abi::__cxa_demangle() do the malloc
also use the returned length for constructing the string_view to be
appended.

we could reuse the buffer across multiple demangle() call for saving the
calls to malloc()/free(). but the upside of this change is that it's
simpler.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-09-17 15:24:37 +08:00
Kefu Chai
ea6abcf34c common/BackTrace: extract demangle() out
so it can be reused by crimson

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-09-17 15:24:37 +08:00
Kefu Chai
21dd995ad2 run-make-check.sh: pass -DWITH_ZBD=ON to cmake if $WITH_ZBD
run-make-check.sh is used by ceph-build/ceph-pull-requests/build/build
to run "make check". this change prepares run-make-check.sh so that we
can enable ZBD build on demand once ceph-build is updated accordingly.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-09-17 14:45:11 +08:00
Kefu Chai
6e673cad6d install-deps.sh: install libzbd-devel on RHEL/CentOS8 on demand
just like WITH_SEASTAR, WITH_ZBD is passed to install-deps.sh as an env
var, and it's disabled by default, as libzbd-devel is not yet packaged
in any distro supported by this script. we packaged and uploaded it
to http://apt-mirror.front.sepia.ceph.com/lab-extras/8/ for build test
the libzbd bluestore backend. so "with_zbd" is always false on non-el8
distros. and should only be enabled for upstream "make check" test.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-09-17 14:45:11 +08:00
Kefu Chai
fd1b02a341 rpm: add --with-zbd option
libzbd-devel is not available in any distros official repo at the time
of writing. but we packaged it for RHEL8/CentOS8. and uploaded its
packages to http://apt-mirror.front.sepia.ceph.com/lab-extras/8/. to
build test it to avoid the bitrot of ZBD bluestore backend at a minimal
level. but we cannot do more than this. because

- the kernel shipped by RHEL/CentOS8 does not have zoned block device
  support enabled. see https://zonedstorage.io/distributions/linux/
- and we don't have zoned block device for testing in our lab.

so, in this change, "--with-zbd" option is added so we can pull
in the libzbd-devel package on demand.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-09-17 14:45:11 +08:00
Rishabh Dave
e461a763c8 doc: add "fs authorize" subcommand to ceph man page
Signed-off-by: Rishabh Dave <ridave@redhat.com>
2020-09-17 10:06:21 +05:30
Kefu Chai
4278e6b59e doc/dev/macos.rst: disable features not supported on osx
Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-09-17 12:19:47 +08:00
Kefu Chai
36d67cf59e
Merge pull request #37187 from kamoltat/patch-1
doc/dev/macos: remove nonexistence flag `--with-toolchain`

Reviewed-by: Kefu Chai <kchai@redhat.com>
2020-09-17 12:04:08 +08:00
Kiefer Chang
8098ca765f
mgr/rook: fix listing daemons
Pass the parameters to the `_list_daemons` method explicitly to avoid missing
parameters.

Fixes: https://tracker.ceph.com/issues/47387
Signed-off-by: Kiefer Chang <kiefer.chang@suse.com>
2020-09-17 11:58:37 +08:00
Patrick Donnelly
ed3782e60a
mon: allow overriding the initial mon_host
This overrides what the CephContext believes to be the current quorum of
monitors (retrieved from other instances of the MonClient), introduced
by [1]. Tests need to be able to target a specific monitor for
exercising forwarding and other things.

[1] 731e2db9fb
Fixes: https://tracker.ceph.com/issues/47180
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2020-09-16 18:34:23 -07:00
Greg Farnum
a8963ccd32 test: remove a now-erroneous "mon add" CLI test from ceph_test_argparse.py
The "mon add" command now lets you pass in arbitrary numbers of strings,
so that you can include locations, so this test is invalid.

I considered updating it to only allow a single non-spaced string, but

datacenter=site1 rack=abc host=host1

is accepted elsewhere, so let's keep that consistent and just remove
this test instead.

Signed-off-by: Greg Farnum <gfarnum@redhat.com>
2020-09-17 00:37:23 +00:00
Patrick Donnelly
23f9da70a7
Merge PR #37199 into master
* refs/pull/37199/head:
	qa/cephfs: add a note to test_nfs.py

Reviewed-by: Varsha Rao <varao@redhat.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2020-09-16 16:44:38 -07:00
David Zafman
bb5058074d doc: Add doc and PendingRealeaseNotes
Add help about new list_unfound fields in troubleshooting-pg.rst
Add info in PendingReleaseNotes

Signed-off-by: David Zafman <dzafman@redhat.com>
2020-09-16 16:40:10 -07:00
Patrick Donnelly
08c9cb85f9
Merge PR #37159 into master
* refs/pull/37159/head:
	mon/MDSMonitor: return zero when mds is absent for "mds fail"

Reviewed-by: Neha Ojha <nojha@redhat.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Ramana Raja <rraja@redhat.com>
2020-09-16 12:20:13 -07:00
Tiago Melo
6de09f1310 mgr/dashboard: Allow editing iSCSI targets with initiators logged-in
Fixes: https://tracker.ceph.com/issues/47393

Signed-off-by: Tiago Melo <tmelo@suse.com>
2020-09-16 17:38:24 +00:00
Rishabh Dave
aa08a38b61 qa/cephfs: add a note to test_nfs.py
A note that tells that test_nfs.py is not yet compatible with
vstart_runner.py.

Signed-off-by: Rishabh Dave <ridave@redhat.com>
2020-09-16 22:10:42 +05:30
Neha Ojha
ca43c6e8ee
Merge pull request #37167 from neha-ojha/wip-47239
qa/tasks/ceph_manager.py: remove redundant check in raw_cluster_cmd_result

Reviewed-by: Rishabh Dave <ridave@redhat.com>
2020-09-16 09:30:11 -07:00
Jos Collin
2c2bcf68f1
mds: silence warning ‘MDSRank::fs_name’ will be initialized after [-Wreorder]
Fixes the warning:
ceph/src/mds/MDSRank.h:436:17: warning: ‘MDSRank::fs_name’ will be initialized after [-Wreorder]

Signed-off-by: Jos Collin <jcollin@redhat.com>
2020-09-16 21:35:43 +05:30
Kamoltat Sirivadhna
825df66bb8 doc/dev/macos: remove nonexistence flag --with-toolchain
` --with-toolchain` is an old option from llvm 6

Signed-off-by: Kamoltat Sirivadhna <ksirivad@redhat.com>
2020-09-16 22:39:57 +07:00
Abhishek L
0f61e6ea28
Merge pull request #37109 from theanalyst/doc/releases/v15.2.5
doc: releases: notes for v15.2.5 octopus

Reviewed-By: Neha Ojha <nojha@redhat.com>
Reviewed-By: Nathan Cutler <ncutler@suse.com>
2020-09-16 16:51:22 +02:00
Kefu Chai
cdca6c3992
Merge pull request #37166 from adamemerson/wip-undetailed-time
common/ceph_time: Don't define public things in time_detail

Reviewed-by: Kefu Chai <kchai@redhat.com>
2020-09-16 20:59:35 +08:00
Rishabh Dave
a246a56776 mon/MDSMonitor: return zero when mds is absent for "mds fail"
... instead of EINVAL.

Signed-off-by: Rishabh Dave <ridave@redhat.com>
2020-09-16 18:28:36 +05:30
Jan Fajerski
3ca25daa1d
Merge pull request #37093 from guits/guits-bz1877672
ceph-volume: fix simple activate when legacy osd

Reviewed-by: Jan Fajerski <jfajerski@suse.com>
2020-09-16 14:25:24 +02:00
Lenz Grimmer
b17ca08037
Merge pull request #35956 from ishanrai05/hover
mgr/dashboard: Display description on mouse hover

Reviewed-by: Tiago Melo <tmelo@suse.com>
2020-09-16 13:49:54 +02:00
Tiago Melo
833c86f035 mgr/dashboard: Fix iSCSI backend unit-test
This allows us to run iSCSI tests individually.

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

Signed-off-by: Tiago Melo <tmelo@suse.com>
2020-09-16 11:40:54 +00:00
Matt Benjamin
6b31e3747b
Merge pull request #35924 from pritha-srivastava/wip-rgw-sts-error-messages
rgw/sts: adding error log messages to STS code.
2020-09-16 07:20:51 -04:00
Matt Benjamin
a9e40accb8
Merge pull request #36255 from pritha-srivastava/wip-rgw-sts-user-as-owner
rgw/sts: adding code for federated user as owner in case of STS.
2020-09-16 07:09:14 -04:00