From fce184cf9b2d8f15543e1adee49e1fe6cc17437d Mon Sep 17 00:00:00 2001 From: Jan Fajerski Date: Wed, 9 Sep 2020 13:04:14 +0200 Subject: [PATCH] ceph-volume: include encryption in batch report Fixes: https://tracker.ceph.com/issues/44783 Signed-off-by: Jan Fajerski --- .../ceph_volume/devices/lvm/batch.py | 21 +++++++++++++++---- .../tests/devices/lvm/test_batch.py | 10 ++++++--- src/ceph-volume/ceph_volume/util/templates.py | 6 +++++- 3 files changed, 29 insertions(+), 8 deletions(-) diff --git a/src/ceph-volume/ceph_volume/devices/lvm/batch.py b/src/ceph-volume/ceph_volume/devices/lvm/batch.py index 43b2233ba32e4..9f18fe478fca3 100644 --- a/src/ceph-volume/ceph_volume/devices/lvm/batch.py +++ b/src/ceph-volume/ceph_volume/devices/lvm/batch.py @@ -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, diff --git a/src/ceph-volume/ceph_volume/tests/devices/lvm/test_batch.py b/src/ceph-volume/ceph_volume/tests/devices/lvm/test_batch.py index 1719bd6da4819..4ccf29267a2d2 100644 --- a/src/ceph-volume/ceph_volume/tests/devices/lvm/test_batch.py +++ b/src/ceph-volume/ceph_volume/tests/devices/lvm/test_batch.py @@ -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) diff --git a/src/ceph-volume/ceph_volume/util/templates.py b/src/ceph-volume/ceph_volume/util/templates.py index bb5b456aa71a4..85a366d26819c 100644 --- a/src/ceph-volume/ceph_volume/util/templates.py +++ b/src/ceph-volume/ceph_volume/util/templates.py @@ -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} """ -- 2.39.5