remove ceph code
[stor4nfv.git] / src / ceph / src / ceph-volume / ceph_volume / devices / lvm / zap.py
diff --git a/src/ceph/src/ceph-volume/ceph_volume/devices/lvm/zap.py b/src/ceph/src/ceph-volume/ceph_volume/devices/lvm/zap.py
deleted file mode 100644 (file)
index 4b19efe..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-import argparse
-import logging
-
-from textwrap import dedent
-
-from ceph_volume import decorators, terminal, process
-from ceph_volume.api import lvm as api
-
-logger = logging.getLogger(__name__)
-
-
-def wipefs(path):
-    """
-    Removes the filesystem from an lv or partition.
-    """
-    process.run([
-        'wipefs',
-        '--all',
-        path
-    ])
-
-
-def zap_data(path):
-    """
-    Clears all data from the given path. Path should be
-    an absolute path to an lv or partition.
-
-    10M of data is written to the path to make sure that
-    there is no trace left of any previous Filesystem.
-    """
-    process.run([
-        'dd',
-        'if=/dev/zero',
-        'of={path}'.format(path=path),
-        'bs=1M',
-        'count=10',
-    ])
-
-
-class Zap(object):
-
-    help = 'Removes all data and filesystems from a logical volume or partition.'
-
-    def __init__(self, argv):
-        self.argv = argv
-
-    @decorators.needs_root
-    def zap(self, args):
-        device = args.device
-        lv = api.get_lv_from_argument(device)
-        if lv:
-            # we are zapping a logical volume
-            path = lv.lv_path
-        else:
-            # we are zapping a partition
-            #TODO: ensure device is a partition
-            path = device
-
-        logger.info("Zapping: %s", path)
-        terminal.write("Zapping: %s" % path)
-
-        wipefs(path)
-        zap_data(path)
-
-        if lv:
-            # remove all lvm metadata
-            lv.clear_tags()
-
-        terminal.success("Zapping successful for: %s" % path)
-
-    def main(self):
-        sub_command_help = dedent("""
-        Zaps the given logical volume or partition. If given a path to a logical
-        volume it must be in the format of vg/lv. Any filesystems present
-        on the given lv or partition will be removed and all data will be purged.
-
-        However, the lv or partition will be kept intact.
-
-        Example calls for supported scenarios:
-
-          Zapping a logical volume:
-
-              ceph-volume lvm zap {vg name/lv name}
-
-          Zapping a partition:
-
-              ceph-volume lvm zap /dev/sdc1
-
-        """)
-        parser = argparse.ArgumentParser(
-            prog='ceph-volume lvm zap',
-            formatter_class=argparse.RawDescriptionHelpFormatter,
-            description=sub_command_help,
-        )
-
-        parser.add_argument(
-            'device',
-            metavar='DEVICE',
-            nargs='?',
-            help='Path to an lv (as vg/lv) or to a partition like /dev/sda1'
-        )
-        if len(self.argv) == 0:
-            print(sub_command_help)
-            return
-        args = parser.parse_args(self.argv)
-        self.zap(args)