]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
ceph-volume: include encryption in batch report
authorJan Fajerski <jfajerski@suse.com>
Wed, 9 Sep 2020 11:04:14 +0000 (13:04 +0200)
committerJan Fajerski <jfajerski@suse.com>
Fri, 25 Sep 2020 09:50:23 +0000 (11:50 +0200)
Fixes: https://tracker.ceph.com/issues/44783
Signed-off-by: Jan Fajerski <jfajerski@suse.com>
src/ceph-volume/ceph_volume/devices/lvm/batch.py
src/ceph-volume/ceph_volume/tests/devices/lvm/test_batch.py
src/ceph-volume/ceph_volume/util/templates.py

index 43b2233ba32e4c8e7490e1d99f48ffd5285b0d01..9f18fe478fca316b5a701e00aabb486bbde707b3 100644 (file)
@@ -72,7 +72,8 @@ def get_physical_osds(devices, args):
                                      rel_data_size,
                                      abs_size,
                                      args.osds_per_device,
-                                     osd_id))
+                                     osd_id,
+                                     'dmcrypt' if args.dmcrypt else None))
     return ret
 
 
@@ -91,7 +92,8 @@ def get_lvm_osds(lvs, args):
                         100.0,
                         disk.Size(b=int(lv.lv_size)),
                         1,
-                        osd_id)
+                        osd_id,
+                        'dmcrypt' if args.dmcrypt else None)
         ret.append(osd)
     return ret
 
@@ -520,7 +522,13 @@ class Batch(object):
                               'slots',
                               'type_'])
 
-        def __init__(self, data_path, rel_size, abs_size, slots, id_):
+        def __init__(self,
+                     data_path,
+                     rel_size,
+                     abs_size,
+                     slots,
+                     id_,
+                     encryption):
             self.id_ = id_
             self.data = self.VolSpec(path=data_path,
                                 rel_size=rel_size,
@@ -529,6 +537,7 @@ class Batch(object):
                                 type_='data')
             self.fast = None
             self.very_fast = None
+            self.encryption = encryption
 
         def add_fast_device(self, path, rel_size, abs_size, slots, type_):
             self.fast = self.VolSpec(path=path,
@@ -547,7 +556,8 @@ class Batch(object):
         def _get_osd_plan(self):
             plan = {
                 'data': self.data.path,
-                'data_size': self.data.abs_size
+                'data_size': self.data.abs_size,
+                'encryption': self.encryption,
             }
             if self.fast:
                 type_ = self.fast.type_.replace('.', '_')
@@ -576,6 +586,9 @@ class Batch(object):
             if self.id_:
                 report += templates.osd_reused_id.format(
                     id_=self.id_)
+            if self.encryption:
+                report += templates.osd_encryption.format(
+                    enc=self.encryption)
             report += templates.osd_component.format(
                 _type=self.data.type_,
                 path=self.data.path,
index 1719bd6da4819cb5262ee1311343132a0052fb96..4ccf29267a2d299c9ebd5b32331b1eda1a80efaa 100644 (file)
@@ -33,6 +33,7 @@ class TestBatch(object):
                        wal_devices=[],
                        bluestore=True,
                        block_db_size="1G",
+                       dmcrypt=True,
                       )
         b = batch.Batch([])
         plan = b.get_plan(args)
@@ -44,7 +45,8 @@ class TestBatch(object):
                                           conf_ceph_stub,
                                           osds_per_device):
         conf_ceph_stub('[global]\nfsid=asdf-lkjh')
-        args = factory(data_slots=1, osds_per_device=osds_per_device, osd_ids=[])
+        args = factory(data_slots=1, osds_per_device=osds_per_device,
+                       osd_ids=[], dmcrypt=False)
         osds = batch.get_physical_osds(mock_devices_available, args)
         assert len(osds) == len(mock_devices_available) * osds_per_device
 
@@ -52,7 +54,8 @@ class TestBatch(object):
                                           mock_devices_available,
                                           conf_ceph_stub,
                                           osds_per_device):
-        args = factory(data_slots=1, osds_per_device=osds_per_device, osd_ids=[])
+        args = factory(data_slots=1, osds_per_device=osds_per_device,
+                       osd_ids=[], dmcrypt=False)
         osds = batch.get_physical_osds(mock_devices_available, args)
         for osd in osds:
             assert osd.data[1] == 1.0 / osds_per_device
@@ -62,7 +65,8 @@ class TestBatch(object):
                                           conf_ceph_stub,
                                           osds_per_device):
         conf_ceph_stub('[global]\nfsid=asdf-lkjh')
-        args = factory(data_slots=1, osds_per_device=osds_per_device, osd_ids=[])
+        args = factory(data_slots=1, osds_per_device=osds_per_device,
+                       osd_ids=[], dmcrypt=False)
         osds = batch.get_physical_osds(mock_devices_available, args)
         for osd, dev in zip(osds, mock_devices_available):
             assert osd.data[2] == int(dev.vg_size[0] / osds_per_device)
index bb5b456aa71a4c8777e1106d656d57bbec6b767e..85a366d26819ccf893e4ca11fbc2ccf94cd88426 100644 (file)
@@ -8,13 +8,17 @@ osd_component_titles = """
 
 
 osd_reused_id = """
-  OSD id {id_: <55}"""
+  OSD id          {id_: <55}"""
 
 
 osd_component = """
   {_type: <15} {path: <55} {size: <15} {percent:.2%}"""
 
 
+osd_encryption = """
+  encryption:     {enc: <15}"""
+
+
 total_osds = """
 Total OSDs: {total_osds}
 """