]> git.proxmox.com Git - ceph.git/blob - ceph/src/ceph-volume/ceph_volume/exceptions.py
bump version to 15.2.4-pve1
[ceph.git] / ceph / src / ceph-volume / ceph_volume / exceptions.py
1 import os
2
3
4 class ConfigurationError(Exception):
5
6 def __init__(self, cluster_name='ceph', path='/etc/ceph', abspath=None):
7 self.cluster_name = cluster_name
8 self.path = path
9 self.abspath = abspath or "%s.conf" % os.path.join(self.path, self.cluster_name)
10
11 def __str__(self):
12 return 'Unable to load expected Ceph config at: %s' % self.abspath
13
14
15 class ConfigurationSectionError(Exception):
16
17 def __init__(self, section):
18 self.section = section
19
20 def __str__(self):
21 return 'Unable to find expected configuration section: "%s"' % self.section
22
23
24 class ConfigurationKeyError(Exception):
25
26 def __init__(self, section, key):
27 self.section = section
28 self.key = key
29
30 def __str__(self):
31 return 'Unable to find expected configuration key: "%s" from section "%s"' % (
32 self.key,
33 self.section
34 )
35
36
37 class SuffixParsingError(Exception):
38
39 def __init__(self, suffix, part=None):
40 self.suffix = suffix
41 self.part = part
42
43 def __str__(self):
44 return 'Unable to parse the %s from systemd suffix: %s' % (self.part, self.suffix)
45
46
47 class SuperUserError(Exception):
48
49 def __str__(self):
50 return 'This command needs to be executed with sudo or as root'
51
52
53 class MultiplePVsError(Exception):
54
55 def __init__(self, pv_name):
56 self.pv_name = pv_name
57
58 def __str__(self):
59 msg = "Got more than 1 result looking for physical volume: %s" % self.pv_name
60 return msg
61
62
63 class MultipleLVsError(Exception):
64
65 def __init__(self, lv_name, lv_path):
66 self.lv_name = lv_name
67 self.lv_path = lv_path
68
69 def __str__(self):
70 msg = "Got more than 1 result looking for %s with path: %s" % (self.lv_name, self.lv_path)
71 return msg
72
73
74 class MultipleVGsError(Exception):
75
76 def __init__(self, vg_name):
77 self.vg_name = vg_name
78
79 def __str__(self):
80 msg = "Got more than 1 result looking for volume group: %s" % self.vg_name
81 return msg
82
83
84 class SizeAllocationError(Exception):
85
86 def __init__(self, requested, available):
87 self.requested = requested
88 self.available = available
89
90 def __str__(self):
91 msg = 'Unable to allocate size (%s), not enough free space (%s)' % (
92 self.requested, self.available
93 )
94 return msg