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