summaryrefslogtreecommitdiffstats
path: root/glustolibs-gluster-gd2
diff options
context:
space:
mode:
authorAkarsha Rai <akrai@redhat.com>2019-01-23 09:19:17 +0000
committerGerrit Code Review <review@review.gluster.org>2019-01-23 09:19:17 +0000
commit55101fe0d9ba81e21b50e85c898e63bca2decfa1 (patch)
tree96430b92feefd1ec53960a3e20c9b61b017cc4ec /glustolibs-gluster-gd2
parent67181178ef8217a72b1f80698a6192a29d202aad (diff)
parentc0f5a05ffa28557b134c9aa308b5b390afcee436 (diff)
Merge "Exceptions for Gluster libraries and tests"
Diffstat (limited to 'glustolibs-gluster-gd2')
-rw-r--r--glustolibs-gluster-gd2/glustolibs/gluster/exceptions.py127
1 files changed, 127 insertions, 0 deletions
diff --git a/glustolibs-gluster-gd2/glustolibs/gluster/exceptions.py b/glustolibs-gluster-gd2/glustolibs/gluster/exceptions.py
new file mode 100644
index 0000000..49db0c2
--- /dev/null
+++ b/glustolibs-gluster-gd2/glustolibs/gluster/exceptions.py
@@ -0,0 +1,127 @@
+#!/usr/bin/env python
+# Copyright (C) 2018 Red Hat, Inc. <http://www.redhat.com>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+"""Exceptions for Gluster libraries and tests"""
+
+
+class GlusterError(Exception):
+ """Base Gluster exception class."""
+ def __init__(self, arg):
+ Exception.__init__(self, arg)
+ self.msg = arg
+
+
+class TransportEndpointNotConnectedError(GlusterError):
+ """Exception for transport endpoint not connected error."""
+ def __init__(self, arg):
+ GlusterError.__init__(self, arg)
+ self.msg = arg
+
+
+class NoSuchFileOrDirectoryError(GlusterError):
+ """Exception for no such file or directory error."""
+ def __init__(self, arg):
+ GlusterError.__init__(self, arg)
+ self.msg = arg
+
+
+class AttributesDoNotMatchError(GlusterError):
+ """Attributes do not match exception."""
+ def __init__(self, arg):
+ GlusterError.__init__(self, arg)
+ self.msg = arg
+
+
+class LayoutIsNotCompleteError(GlusterError):
+ """Exception raised when the layout of a file is not complete."""
+ def __init__(self, arg):
+ GlusterError.__init__(self, arg)
+ self.msg = arg
+
+
+class LayoutIsNotBalancedError(GlusterError):
+ """Exception raised when the layout of a file is not balanced."""
+ def __init__(self, arg):
+ GlusterError.__init__(self, arg)
+ self.msg = arg
+
+
+class LayoutHasHolesError(GlusterError):
+ """Exception raised when the layout of a file has holes."""
+ def __init__(self, arg):
+ GlusterError.__init__(self, arg)
+ self.msg = arg
+
+
+class LayoutHasOverlapsError(GlusterError):
+ """Exception raised when the layout of a file has overlaps."""
+ def __init__(self, arg):
+ GlusterError.__init__(self, arg)
+ self.msg = arg
+
+
+class FileDoesNotExistOnHashedBricksError(GlusterError):
+ """Exception raised when a file/dir does not exist where it is hashed."""
+ def __init__(self, arg):
+ GlusterError.__init__(self, arg)
+ self.msg = arg
+
+
+class ConfigError(Exception):
+ '''
+ Custom exception thrown when there is an unrecoverable configuration error.
+ For example, a required configuration key is not found.
+ '''
+ pass
+
+
+class ExecutionError(Exception):
+ '''
+ Custom exception thrown when a command executed by Glusto results in an
+ unrecoverable error.
+ For example, all hosts are not in peer state or a volume canot be setup.
+ '''
+ pass
+
+
+class ExecutionParseError(Exception):
+ '''
+ Custom exception thrown when parsing a command executed by Glusto
+ results in an unexpected error.
+ For example, the output of a command when has to be parsed, can have three
+ states. First, the output was as expected. Second, didn't get the expected
+ output after the parsing result and Third, didn't get the expected result
+ as the command itself failed.
+ '''
+ pass
+
+
+class GlusterApiInvalidInputs(Exception):
+ """
+ Custom exception thrown when parsing invalid json inputs for the
+ particular operation
+ For example, invalid peer id specified
+ """
+ pass
+
+
+class GlusterApiError(Exception):
+ """
+ Custom exception thrown when executing rest-api's results in an
+ unrecoverable error.
+ """
+ pass