]> git.proxmox.com Git - ceph.git/blob - ceph/src/ceph-volume/ceph_volume/util/arg_validators.py
feb4707165a5d864ba46112dbbd8bad2d1c7f32e
[ceph.git] / ceph / src / ceph-volume / ceph_volume / util / arg_validators.py
1 import argparse
2
3
4 class LVPath(object):
5 """
6 A simple validator to ensure that a logical volume is specified like::
7
8 <vg name>/<lv name>
9
10 Because for LVM it is better to be specific on what group does an lv
11 belongs to.
12 """
13
14 def __call__(self, string):
15 error = None
16 try:
17 vg, lv = string.split('/')
18 except ValueError:
19 error = "Logical volume must be specified as 'volume_group/logical_volume' but got: %s" % string
20 raise argparse.ArgumentError(None, error)
21
22 if not vg:
23 error = "Didn't specify a volume group like 'volume_group/logical_volume', got: %s" % string
24 if not lv:
25 error = "Didn't specify a logical volume like 'volume_group/logical_volume', got: %s" % string
26
27 if error:
28 raise argparse.ArgumentError(None, error)
29 return string