4 class ConfigurationError(Exception):
6 def __init__(self, cluster_name='ceph', path='/etc/ceph', abspath=None):
7 self.cluster_name = cluster_name
9 self.abspath = abspath or "%s.conf" % os.path.join(self.path, self.cluster_name)
12 return 'Unable to load expected Ceph config at: %s' % self.abspath
15 class ConfigurationSectionError(Exception):
17 def __init__(self, section):
18 self.section = section
21 return 'Unable to find expected configuration section: "%s"' % self.section
24 class ConfigurationKeyError(Exception):
26 def __init__(self, section, key):
27 self.section = section
31 return 'Unable to find expected configuration key: "%s" from section "%s"' % (
37 class SuffixParsingError(Exception):
39 def __init__(self, suffix, part=None):
44 return 'Unable to parse the %s from systemd suffix: %s' % (self.part, self.suffix)
47 class SuperUserError(Exception):
50 return 'This command needs to be executed with sudo or as root'
53 class MultiplePVsError(Exception):
55 def __init__(self, pv_name):
56 self.pv_name = pv_name
59 msg = "Got more than 1 result looking for physical volume: %s" % self.pv_name
63 class MultipleLVsError(Exception):
65 def __init__(self, lv_name, lv_path):
66 self.lv_name = lv_name
67 self.lv_path = lv_path
70 msg = "Got more than 1 result looking for %s with path: %s" % (self.lv_name, self.lv_path)
74 class MultipleVGsError(Exception):
76 def __init__(self, vg_name):
77 self.vg_name = vg_name
80 msg = "Got more than 1 result looking for volume group: %s" % self.vg_name