Revision fe89794e lib/rpc.py
b/lib/rpc.py | ||
---|---|---|
111 | 111 |
else: |
112 | 112 |
self.data = data |
113 | 113 |
if not isinstance(self.data, (tuple, list)): |
114 |
self.failed = True |
|
114 | 115 |
self.fail_msg = ("RPC layer error: invalid result type (%s)" % |
115 | 116 |
type(self.data)) |
116 | 117 |
elif len(data) != 2: |
118 |
self.failed = True |
|
117 | 119 |
self.fail_msg = ("RPC layer error: invalid result length (%d), " |
118 | 120 |
"expected 2" % len(self.data)) |
119 | 121 |
elif not self.data[0]: |
122 |
self.failed = True |
|
120 | 123 |
self.fail_msg = self._EnsureErr(self.data[1]) |
121 | 124 |
else: |
122 | 125 |
# finally success |
... | ... | |
810 | 813 |
""" |
811 | 814 |
result = self._SingleNodeCall(node, "blockdev_getmirrorstatus", |
812 | 815 |
[dsk.ToDict() for dsk in disks]) |
813 |
if not result.failed:
|
|
816 |
if not (result.failed or result.fail_msg):
|
|
814 | 817 |
result.payload = [objects.BlockDevStatus.FromDict(i) |
815 | 818 |
for i in result.payload] |
816 | 819 |
return result |
Also available in: Unified diff