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>
* refs/pull/37163/head:
mds: silence warning ‘MDSRank::fs_name’ will be initialized after [-Wreorder]
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
* 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>
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>