]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
ceph-daemon: move get_container_mounts to a helper
authorSage Weil <sage@redhat.com>
Mon, 30 Sep 2019 17:54:50 +0000 (12:54 -0500)
committerSage Weil <sage@redhat.com>
Fri, 4 Oct 2019 19:37:28 +0000 (14:37 -0500)
Signed-off-by: Sage Weil <sage@redhat.com>
src/ceph-daemon

index bae9d49f74da20b052da20ec8194f5e53003b524..48e2c8fe4be45f9b84edd56684fe002413d5cd89 100755 (executable)
@@ -141,32 +141,44 @@ def get_config_and_keyring():
             config = f.read()
     return (config, keyring)
 
-def get_container(fsid, daemon_type, daemon_id):
-    data_dir = get_data_dir(args.data_dir, fsid, daemon_type, daemon_id)
+def get_container_mounts(fsid, daemon_type, daemon_id):
     log_dir = get_log_dir(args.log_dir, fsid)
 
-    cdata_dir = '/var/lib/ceph/%s/ceph-%s' % (daemon_type, daemon_id)
-    extra_args = []
-
     mounts = {
         log_dir: '/var/log/ceph:z',
-        data_dir: cdata_dir + ':z',
-        data_dir + '/config': '/etc/ceph/ceph.conf:z',
     }
+    if daemon_id:
+        data_dir = get_data_dir(args.data_dir, fsid, daemon_type, daemon_id)
+        cdata_dir = '/var/lib/ceph/%s/ceph-%s' % (daemon_type, daemon_id)
+        mounts[data_dir] = cdata_dir + ':z'
+        mounts[data_dir + '/config'] = '/etc/ceph/ceph.conf:z'
+
     if daemon_type in ['mon', 'osd']:
-        mounts['/run/udev'] = '/run/udev:z'
         mounts['/dev'] = '/dev:z'  # FIXME: narrow this down?
+        mounts['/run/udev'] = '/run/udev:z'
     if daemon_type == 'osd':
         mounts['/sys'] = '/sys:z'  # for numa.cc, pick_address, cgroups, ...
+        mounts['/run/lvm'] = '/run/lvm:z'
+        mounts['/run/lock/lvm'] = '/run/lock/lvm:z'
+
+    return mounts
 
+def get_container(fsid, daemon_type, daemon_id):
+    if daemon_id:
+        dname = daemon_type + '.' + daemon_id
+    else:
+        dname = daemon_type
+    podman_args = []
     return CephContainer(
         image=args.image,
         entrypoint='/usr/bin/ceph-' + daemon_type,
-        args=['-i', daemon_id,
-              '-f', # foreground
-        ] + extra_args + get_daemon_args(fsid, daemon_type, daemon_id),
-        volume_mounts=mounts,
-        dname=daemon_type + '.' + daemon_id,
+        args=[
+            '-i', daemon_id,
+            '-f', # foreground
+        ] + get_daemon_args(fsid, daemon_type, daemon_id),
+        podman_args=podman_args,
+        volume_mounts=get_container_mounts(fsid, daemon_type, daemon_id),
+        dname=dname,
         cname='ceph-%s-%s.%s' % (fsid, daemon_type, daemon_id),
     )