From: Noah Watkins Date: Wed, 16 Jan 2019 23:50:08 +0000 (-0800) Subject: cv: support zap by osd fsid X-Git-Tag: v3.2.6~14 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=8454f0144af10834da0cddb508a5dea11bda3c72;p=ceph-ansible.git cv: support zap by osd fsid Signed-off-by: Noah Watkins (cherry picked from commit fce9f6ef60e3725ac6912bcb150ae59e36ff56fb) --- diff --git a/library/ceph_volume.py b/library/ceph_volume.py index c43192d1a..766e472a1 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 87314c7b1..64b714a65 100644 --- a/library/test_ceph_volume.py +++ b/library/test_ceph_volume.py @@ -81,6 +81,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',