On Tue, Sep 23, 2014 at 12:00:13PM +0200, 'Klaus Aehlig' via ganeti-devel wrote:
OpPrereqError always takes a human-readable string and an
error code as argument. Fix it. Unfortunately, we do not
have a type checker to enforce this.
Signed-off-by: Klaus Aehlig <[email protected]>
---
lib/cmdlib/cluster.py | 15 +++++++++------
1 file changed, 9 insertions(+), 6 deletions(-)
diff --git a/lib/cmdlib/cluster.py b/lib/cmdlib/cluster.py
index 8b2e3ae..95f7c7f 100644
--- a/lib/cmdlib/cluster.py
+++ b/lib/cmdlib/cluster.py
@@ -805,18 +805,19 @@ def CheckCompressionTools(tools):
if illegal_tools:
raise errors.OpPrereqError(
"The tools '%s' contain illegal characters: only alphanumeric values,"
- " dashes, and underscores are allowed" % ", ".join(illegal_tools)
+ " dashes, and underscores are allowed" % ", ".join(illegal_tools),
+ errors.ECODE_INVAL
)
if constants.IEC_GZIP not in tools:
raise errors.OpPrereqError("For compatibility reasons, the %s utility must"
" be present among the compression tools" %
- constants.IEC_GZIP)
+ constants.IEC_GZIP, errors.ECODE_INVAL)
if constants.IEC_NONE in tools:
raise errors.OpPrereqError("%s is a reserved value used for no compression,"
" and cannot be used as the name of a tool" %
- constants.IEC_NONE)
+ constants.IEC_NONE, errors.ECODE_INVAL)
class LUClusterSetParams(LogicalUnit):
@@ -1062,7 +1063,7 @@ class LUClusterSetParams(LogicalUnit):
if self.op.drbd_helper == '':
if drbd_enabled:
raise errors.OpPrereqError("Cannot disable drbd helper while"
- " DRBD is enabled.")
+ " DRBD is enabled.", errors.ECODE_STATE)
if self.cfg.HasAnyDiskOfType(constants.DT_DRBD8):
raise errors.OpPrereqError("Cannot disable drbd helper while"
" drbd-based instances exist",
@@ -1078,7 +1079,8 @@ class LUClusterSetParams(LogicalUnit):
self._CheckDrbdHelperOnNodes(current_drbd_helper, node_uuids)
else:
raise errors.OpPrereqError("Cannot enable DRBD without a"
- " DRBD usermode helper set.")
+ " DRBD usermode helper set.",
+ errors.ECODE_STATE)
def _CheckInstancesOfDisabledDiskTemplates(
self, disabled_disk_templates):
@@ -1093,7 +1095,8 @@ class LUClusterSetParams(LogicalUnit):
if self.cfg.HasAnyDiskOfType(disk_template):
raise errors.OpPrereqError(
"Cannot disable disk template '%s', because there is at least one"
- " instance using it." % disk_template)
+ " instance using it." % disk_template,
+ errors.ECODE_STATE)
@staticmethod
def _CheckInstanceCommunicationNetwork(network, warning_fn):
--
2.1.0.rc2.206.gedb03e5
LGTM