]> git.apps.os.sepia.ceph.com Git - ceph-ansible.git/commitdiff
Revert "Revert "cv: support zap by osd fsid""
authorGuillaume Abrioux <gabrioux@redhat.com>
Thu, 9 May 2019 08:08:42 +0000 (10:08 +0200)
committerGuillaume Abrioux <gabrioux@redhat.com>
Fri, 10 May 2019 07:13:10 +0000 (09:13 +0200)
This reverts commit addcc1e61abb50f53bb82ddac22c643c5ce636b7.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
library/ceph_volume.py
library/test_ceph_volume.py

index 5212104d9cdbf0b40d070040bf7dde6a7729750d..4d45551c3c5d7fff4d4209c7084e1a1362fbcb31 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 7241850086bab120f17dbf97e498072e28441b59..df020e47928c779a5f154200cd795e15851ad619 100644 (file)
@@ -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',