]> git.proxmox.com Git - ceph.git/blob - ceph/src/ceph-volume/ceph_volume/devices/lvm/main.py
3ef3c1117d2797d925c282b74de7926bf4c88505
[ceph.git] / ceph / src / ceph-volume / ceph_volume / devices / lvm / main.py
1 import argparse
2 from textwrap import dedent
3 from ceph_volume import terminal
4 from . import activate
5 from . import deactivate
6 from . import prepare
7 from . import create
8 from . import trigger
9 from . import listing
10 from . import zap
11 from . import batch
12
13
14 class LVM(object):
15
16 help = 'Use LVM and LVM-based technologies to deploy OSDs'
17
18 _help = dedent("""
19 Use LVM and LVM-based technologies to deploy OSDs
20
21 {sub_help}
22 """)
23
24 mapper = {
25 'activate': activate.Activate,
26 'deactivate': deactivate.Deactivate,
27 'batch': batch.Batch,
28 'prepare': prepare.Prepare,
29 'create': create.Create,
30 'trigger': trigger.Trigger,
31 'list': listing.List,
32 'zap': zap.Zap,
33 }
34
35 def __init__(self, argv):
36 self.argv = argv
37
38 def print_help(self, sub_help):
39 return self._help.format(sub_help=sub_help)
40
41 def main(self):
42 terminal.dispatch(self.mapper, self.argv)
43 parser = argparse.ArgumentParser(
44 prog='ceph-volume lvm',
45 formatter_class=argparse.RawDescriptionHelpFormatter,
46 description=self.print_help(terminal.subhelp(self.mapper)),
47 )
48 parser.parse_args(self.argv)
49 if len(self.argv) <= 1:
50 return parser.print_help()