import argparse
import os
+import math
from ceph_volume import terminal
from ceph_volume import decorators
from ceph_volume.util import disk
from ceph_volume.util.device import Device
+def valid_osd_id(val):
+ return str(int(val))
+
class ValidDevice(object):
def __init__(self, as_string=False, gpt_ok=False):
terminal.warning(msg)
last_group = group_name
last_flag = flag
+
+class ValidFraction(object):
+ """
+ Validate fraction is in (0, 1.0]
+ """
+
+ def __call__(self, fraction):
+ fraction_float = float(fraction)
+ if math.isnan(fraction_float) or fraction_float <= 0.0 or fraction_float > 1.0:
+ raise argparse.ArgumentError(None, 'Fraction %f not in (0,1.0]' % fraction_float)
+ return fraction_float