Revision fe89794e
b/lib/cmdlib.py | ||
---|---|---|
1544 | 1544 |
REQ_BGL = False |
1545 | 1545 |
|
1546 | 1546 |
def ExpandNames(self): |
1547 |
|
|
1548 | 1547 |
if not isinstance(self.op.instances, list): |
1549 | 1548 |
raise errors.OpPrereqError("Invalid argument type 'instances'") |
1550 | 1549 |
|
... | ... | |
1602 | 1601 |
changed = [] |
1603 | 1602 |
for node, dskl in per_node_disks.items(): |
1604 | 1603 |
result = self.rpc.call_blockdev_getsizes(node, [v[2] for v in dskl]) |
1605 |
if result.failed: |
|
1604 |
if result.failed or result.fail_msg:
|
|
1606 | 1605 |
self.LogWarning("Failure in blockdev_getsizes call to node" |
1607 | 1606 |
" %s, ignoring", node) |
1608 | 1607 |
continue |
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