From: Travis Rhoden Date: Tue, 30 Jun 2015 19:21:21 +0000 (-0700) Subject: [RM-12151] Move 'osd' subcommands to a subparser X-Git-Tag: v1.5.26~13^2~6 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=471fd7c0ef6e6548fc238e977ed1e7c43c02f76a;p=ceph-deploy.git [RM-12151] Move 'osd' subcommands to a subparser Signed-off-by: Travis Rhoden --- diff --git a/ceph_deploy/osd.py b/ceph_deploy/osd.py index 5f27389..c7ea7dd 100644 --- a/ceph_deploy/osd.py +++ b/ceph_deploy/osd.py @@ -656,46 +656,107 @@ def make(parser): parser.formatter_class = argparse.RawDescriptionHelpFormatter parser.description = sub_command_help - parser.add_argument( - 'subcommand', - metavar='SUBCOMMAND', - choices=[ - 'list', - 'create', - 'prepare', - 'activate', - ], - help='list, create (prepare+activate), prepare, or activate', + osd_parser = parser.add_subparsers(dest='subcommand') + + osd_list = osd_parser.add_parser( + 'list', + help='List OSD info from remote host(s)' ) - parser.add_argument( + osd_list.add_argument( + 'disk', + nargs='+', + metavar='HOST:DISK[:JOURNAL]', + type=colon_separated, + help='remote host to list OSDs from' + ) + + osd_create = osd_parser.add_parser( + 'create', + help='Create new Ceph OSD daemon by preparing and activating disk' + ) + osd_create.add_argument( + '--zap-disk', + action='store_true', default=None, + help='destroy existing partition table and content for DISK', + ) + osd_create.add_argument( + '--fs-type', + metavar='FS_TYPE', + choices=['xfs', + 'ext4', + 'btrfs' + ], + default='xfs', + help='filesystem to use to format DISK (xfs, btrfs, or ext4)', + ) + osd_create.add_argument( + '--dmcrypt', + action='store_true', default=None, + help='use dm-crypt on DISK', + ) + osd_create.add_argument( + '--dmcrypt-key-dir', + metavar='KEYDIR', + default='/etc/ceph/dmcrypt-keys', + help='directory where dm-crypt keys are stored', + ) + osd_create.add_argument( 'disk', nargs='+', metavar='HOST:DISK[:JOURNAL]', type=colon_separated, help='host and disk to prepare', ) - parser.add_argument( + + osd_prepare = osd_parser.add_parser( + 'prepare', + help='Prepare a disk for use as Ceph OSD by formatting/partitioning disk' + ) + osd_prepare.add_argument( '--zap-disk', action='store_true', default=None, help='destroy existing partition table and content for DISK', ) - parser.add_argument( + osd_prepare.add_argument( '--fs-type', metavar='FS_TYPE', + choices=['xfs', + 'ext4', + 'btrfs' + ], default='xfs', - help='filesystem to use to format DISK (xfs, btrfs or ext4)', + help='filesystem to use to format DISK (xfs, btrfs, or ext4)', ) - parser.add_argument( + osd_prepare.add_argument( '--dmcrypt', action='store_true', default=None, help='use dm-crypt on DISK', ) - parser.add_argument( + osd_prepare.add_argument( '--dmcrypt-key-dir', metavar='KEYDIR', default='/etc/ceph/dmcrypt-keys', help='directory where dm-crypt keys are stored', ) + osd_prepare.add_argument( + 'disk', + nargs='+', + metavar='HOST:DISK[:JOURNAL]', + type=colon_separated, + help='host and disk to prepare', + ) + + osd_activate = osd_parser.add_parser( + 'activate', + help='Start (activate) Ceph OSD from disk that was previously prepared' + ) + osd_activate.add_argument( + 'disk', + nargs='+', + metavar='HOST:DISK[:JOURNAL]', + type=colon_separated, + help='host and disk to activate', + ) parser.set_defaults( func=osd, )