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