]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
ceph-daemon: only set up crash dir mount if it exists
authorSage Weil <sage@redhat.com>
Thu, 24 Oct 2019 13:41:33 +0000 (08:41 -0500)
committerSage Weil <sage@redhat.com>
Fri, 25 Oct 2019 01:06:23 +0000 (20:06 -0500)
Sometimes we run containers on a host that doesn't have a crash dir set
up (becuase no daemon has been deployed).  Examples include shell and
ceph-volume.

Signed-off-by: Sage Weil <sage@redhat.com>
qa/standalone/test_ceph_daemon.sh
src/ceph-daemon

index 444c005b652797067204f44c24b029c85fd7b33a..69ecb242646656362736e3b061a43d5f5cf29f0b 100755 (executable)
@@ -30,6 +30,10 @@ $SUDO $CEPH_DAEMON --image $IMAGE version | grep 'ceph version'
 # try force docker; this won't work if docker isn't installed
 which docker && ( $SUDO $CEPH_DAEMON --docker version | grep 'ceph version' )
 
+## test shell before bootstrap, when crash dir isn't (yet) present on this host
+$SUDO $CEPH_DAEMON shell -- ceph -v | grep 'ceph version'
+$SUDO $CEPH_DAEMON shell --fsid $FSID -- ceph -v | grep 'ceph version'
+
 ## bootstrap
 ORIG_CONFIG=`mktemp -p $TMPDIR`
 CONFIG=`mktemp -p $TMPDIR`
index 2fa8647b97d20bf791b55e094879ef48fe294f3d..c7bfcd55f65a2710dd4587a538363a9335dcb2fa 100755 (executable)
@@ -339,7 +339,9 @@ def get_container_mounts(fsid, daemon_type, daemon_id):
     if fsid:
         log_dir = get_log_dir(fsid)
         mounts[log_dir] = '/var/log/ceph:z'
-        mounts['/var/lib/ceph/%s/crash' % fsid] = '/var/lib/ceph/crash:z'
+        crash_dir = '/var/lib/ceph/%s/crash' % fsid
+        if os.path.exists(crash_dir):
+            mounts[crash_dir] = '/var/lib/ceph/crash:z'
 
     if daemon_id:
         data_dir = get_data_dir(fsid, daemon_type, daemon_id)