Change in vdsm[master]: gluster: raise suitable exception based on errno for peerDetach
dnarayan at redhat.com
dnarayan at redhat.com
Wed Dec 11 05:50:12 UTC 2013
Hello Bala.FA,
I'd like you to do a code review. Please visit
http://gerrit.ovirt.org/22284
to review the following change.
Change subject: gluster: raise suitable exception based on errno for peerDetach
......................................................................
gluster: raise suitable exception based on errno for peerDetach
Raising suitable exception based on the errno given by gluster
cli output for verb peerDetach.
Change-Id: I557a264445806695bb83d77400993ef9c8cfa698
Signed-off-by: ndarshan <dnarayan at redhat.com>
---
M vdsm/gluster/cli.py
M vdsm/gluster/exception.py
2 files changed, 13 insertions(+), 3 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/84/22284/1
diff --git a/vdsm/gluster/cli.py b/vdsm/gluster/cli.py
index 39e152a..74b4590 100644
--- a/vdsm/gluster/cli.py
+++ b/vdsm/gluster/cli.py
@@ -92,12 +92,13 @@
tree = etree.fromstring('\n'.join(out))
rv = int(tree.find('opRet').text)
msg = tree.find('opErrstr').text
+ errNo = int(tree.find('opErrno').text)
except _etreeExceptions:
raise ge.GlusterXmlErrorException(err=out)
if rv == 0:
return tree
else:
- raise ge.GlusterCmdFailedException(rc=rv, err=[msg])
+ raise ge.GlusterCmdFailedException(rc=rv, err=[msg], errNo=errNo)
def _getLocalIpAddress():
@@ -832,7 +833,10 @@
_execGlusterXml(command)
return True
except ge.GlusterCmdFailedException as e:
- raise ge.GlusterHostRemoveFailedException(rc=e.rc, err=e.err)
+ if e.errNo == 2:
+ raise ge.GlusterHostNotPartOfClusterException(rc=e.rc, err=e.err)
+ else:
+ raise ge.GlusterHostRemoveFailedException(rc=e.rc, err=e.err)
def _parsePeerStatus(tree, gHostName, gUuid, gStatus):
diff --git a/vdsm/gluster/exception.py b/vdsm/gluster/exception.py
index 93a2225..a7edd8b 100644
--- a/vdsm/gluster/exception.py
+++ b/vdsm/gluster/exception.py
@@ -37,10 +37,11 @@
code = 4100
message = "Gluster Exception"
- def __init__(self, rc=0, out=(), err=()):
+ def __init__(self, rc=0, out=(), err=(), errNo=0):
self.rc = rc
self.out = out
self.err = err
+ self.errNo = errNo
def __str__(self):
o = '\n'.join(self.out)
@@ -389,6 +390,11 @@
message = "Remove host failed"
+class GlusterHostNotPartOfClusterException(GlusterHostException):
+ code = 4409
+ message = "Host not part of cluster"
+
+
class GlusterHostsListFailedException(GlusterHostException):
code = 4407
message = "Hosts list failed"
--
To view, visit http://gerrit.ovirt.org/22284
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I557a264445806695bb83d77400993ef9c8cfa698
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Darshan N <dnarayan at redhat.com>
Gerrit-Reviewer: Bala.FA <barumuga at redhat.com>
More information about the vdsm-patches
mailing list