From 3774964748fbf3531851ddbd0ff70dd004d2ad7e Mon Sep 17 00:00:00 2001 From: Alfredo Deza Date: Thu, 23 Aug 2018 09:13:28 -0400 Subject: [PATCH] ceph-volume util add a new Device class validator for args Signed-off-by: Alfredo Deza (cherry picked from commit 5be2794b7fe42e3a4505ec9f406dd5ae46595bd9) --- src/ceph-volume/ceph_volume/util/arg_validators.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/ceph-volume/ceph_volume/util/arg_validators.py b/src/ceph-volume/ceph_volume/util/arg_validators.py index 3866027ef97ec..d0144fc58de30 100644 --- a/src/ceph-volume/ceph_volume/util/arg_validators.py +++ b/src/ceph-volume/ceph_volume/util/arg_validators.py @@ -3,6 +3,7 @@ import os from ceph_volume import terminal from ceph_volume import decorators from ceph_volume.util import disk +from ceph_volume.util.device import Device class LVPath(object): @@ -41,6 +42,18 @@ class LVPath(object): return string +class ValidDevice(object): + + def __call__(self, string): + device = Device(string) + if not device.exists: + raise argparse.ArgumentError( + None, "Unable to proceed with non-existing device: %s" % string + ) + + return device + + class OSDPath(object): """ Validate path exists and it looks like an OSD directory. -- 2.39.5