From 900244e065a24fa99ccdc6aa25eb1a5b0556a595 Mon Sep 17 00:00:00 2001 From: Guillaume Abrioux Date: Thu, 9 May 2019 10:08:42 +0200 Subject: [PATCH] Revert "Revert "cv: support zap by osd fsid"" This reverts commit addcc1e61abb50f53bb82ddac22c643c5ce636b7. Signed-off-by: Guillaume Abrioux --- library/ceph_volume.py | 17 ++++++++++++++--- library/test_ceph_volume.py | 13 +++++++++++++ 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/library/ceph_volume.py b/library/ceph_volume.py index 5212104d9..4d45551c3 100644 --- a/library/ceph_volume.py +++ b/library/ceph_volume.py @@ -48,6 +48,10 @@ options: description: - If data is a lv, this must be the name of the volume group it belongs to. required: false + osd_fsid: + description: + - The OSD FSID + required: false journal: description: - The logical volume name or partition to use as a filestore journal. @@ -424,7 +428,7 @@ def zap_devices(module, container_image): ''' # get module variables - data = module.params['data'] + data = module.params.get('data', None) data_vg = module.params.get('data_vg', None) journal = module.params.get('journal', None) journal_vg = module.params.get('journal_vg', None) @@ -432,13 +436,19 @@ def zap_devices(module, container_image): db_vg = module.params.get('db_vg', None) wal = module.params.get('wal', None) wal_vg = module.params.get('wal_vg', None) - data = get_data(data, data_vg) + osd_fsid = module.params.get('osd_fsid', None) # build the CLI action = 'zap' cmd = build_ceph_volume_cmd(action, container_image) cmd.append('--destroy') - cmd.append(data) + + if osd_fsid: + cmd.extend(['--osd-fsid', osd_fsid]) + + if data: + data = get_data(data, data_vg) + cmd.append(data) if journal: journal = get_journal(journal, journal_vg) @@ -478,6 +488,7 @@ def run_module(): block_db_size=dict(type='str', required=False, default='-1'), report=dict(type='bool', required=False, default=False), containerized=dict(type='str', required=False, default=False), + osd_fsid=dict(type='str', required=False), ) module = AnsibleModule( diff --git a/library/test_ceph_volume.py b/library/test_ceph_volume.py index 724185008..df020e479 100644 --- a/library/test_ceph_volume.py +++ b/library/test_ceph_volume.py @@ -83,6 +83,19 @@ class TestCephVolumeModule(object): result = ceph_volume.zap_devices(fake_module, fake_container_image) assert result == expected_command_list + def test_zap_osd_fsid(self): + fake_module = MagicMock() + fake_module.params = {'osd_fsid': 'a_uuid'} + fake_container_image = None + expected_command_list = ['ceph-volume', + 'lvm', + 'zap', + '--destroy', + '--osd-fsid', + 'a_uuid'] + result = ceph_volume.zap_devices(fake_module, fake_container_image) + assert result == expected_command_list + def test_activate_osd(self): expected_command_list = ['ceph-volume', 'lvm', -- 2.39.5