]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
ceph-volume: lvm activate: add --no-tmpfs
authorSage Weil <sage@newdream.net>
Thu, 5 Aug 2021 17:23:27 +0000 (13:23 -0400)
committerSage Weil <sage@newdream.net>
Tue, 2 Nov 2021 15:20:35 +0000 (11:20 -0400)
This isn't necessary for cephadm, but having this arg match raw activate
makes the interface more consistent.

Signed-off-by: Sage Weil <sage@newdream.net>
src/ceph-volume/ceph_volume/devices/lvm/activate.py

index e4b23b62cadadd0239cb938a598a4c93b3720afd..bd45f32a2e0b983986f3493274a0a226c3dd0a0c 100644 (file)
@@ -140,7 +140,7 @@ def get_osd_device_path(osd_lvs, device_type, dmcrypt_secret=None):
     raise RuntimeError('could not find %s with uuid %s' % (device_type, device_uuid))
 
 
-def activate_bluestore(osd_lvs, no_systemd=False):
+def activate_bluestore(osd_lvs, no_systemd=False, no_tmpfs=False):
     for lv in osd_lvs:
         if lv.tags.get('ceph.type') == 'block':
             osd_block_lv = lv
@@ -158,7 +158,7 @@ def activate_bluestore(osd_lvs, no_systemd=False):
     osd_path = '/var/lib/ceph/osd/%s-%s' % (conf.cluster, osd_id)
     if not system.path_is_mounted(osd_path):
         # mkdir -p and mount as tmpfs
-        prepare_utils.create_osd_path(osd_id, tmpfs=True)
+        prepare_utils.create_osd_path(osd_id, tmpfs=not no_tmpfs)
     # XXX This needs to be removed once ceph-bluestore-tool can deal with
     # symlinks that exist in the osd dir
     for link_name in ['block', 'block.db', 'block.wal']:
@@ -294,11 +294,11 @@ class Activate(object):
 
         # explicit filestore/bluestore flags take precedence
         if getattr(args, 'bluestore', False):
-            activate_bluestore(lvs, args.no_systemd)
+            activate_bluestore(lvs, args.no_systemd, getattr(args, 'no_tmpfs', False))
         elif getattr(args, 'filestore', False):
             activate_filestore(lvs, args.no_systemd)
         elif any('ceph.block_device' in lv.tags for lv in lvs):
-            activate_bluestore(lvs, args.no_systemd)
+            activate_bluestore(lvs, args.no_systemd, getattr(args, 'no_tmpfs', False))
         elif any('ceph.data_device' in lv.tags for lv in lvs):
             activate_filestore(lvs, args.no_systemd)
 
@@ -363,6 +363,11 @@ class Activate(object):
             action='store_true',
             help='Skip creating and enabling systemd units and starting OSD services',
         )
+        parser.add_argument(
+            '--no-tmpfs',
+            action='store_true',
+            help='Do not use a tmpfs mount for OSD data dir'
+        )
         if len(self.argv) == 0:
             print(sub_command_help)
             return