]> git.apps.os.sepia.ceph.com Git - ceph-ansible.git/commitdiff
cv: support zap by osd fsid
authorNoah Watkins <noahwatkins@gmail.com>
Wed, 16 Jan 2019 23:50:08 +0000 (15:50 -0800)
committermergify[bot] <mergify[bot]@users.noreply.github.com>
Wed, 6 Feb 2019 00:37:11 +0000 (00:37 +0000)
Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
(cherry picked from commit fce9f6ef60e3725ac6912bcb150ae59e36ff56fb)

library/ceph_volume.py
library/test_ceph_volume.py

index c43192d1abdfeec77df8ccb8809c58439de89868..766e472a11351c6379f4ff6e9795bf82b807b0bd 100644 (file)
@@ -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(
index 87314c7b1fe91cb7e7f991e5aa200401a8dbda77..64b714a65a85a0f98f653375ddb1f792ddba565f 100644 (file)
@@ -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',