Revision b6e31c23 lib/cmdlib/cluster.py
b/lib/cmdlib/cluster.py | ||
---|---|---|
2127 | 2127 |
"couldn't retrieve status for disk/%s on %s: %s", |
2128 | 2128 |
idx, self.cfg.GetNodeName(nname), bdev_status) |
2129 | 2129 |
|
2130 |
if instance.disks_active and success and \ |
|
2131 |
(bdev_status.is_degraded or |
|
2132 |
bdev_status.ldisk_status != constants.LDS_OKAY): |
|
2133 |
msg = "disk/%s on %s" % (idx, self.cfg.GetNodeName(nname)) |
|
2134 |
if bdev_status.is_degraded: |
|
2135 |
msg += " is degraded" |
|
2136 |
if bdev_status.ldisk_status != constants.LDS_OKAY: |
|
2137 |
msg += "; state is '%s'" % \ |
|
2130 |
if instance.disks_active and success and bdev_status.is_degraded: |
|
2131 |
msg = "disk/%s on %s is degraded" % (idx, self.cfg.GetNodeName(nname)) |
|
2132 |
|
|
2133 |
code = self.ETYPE_ERROR |
|
2134 |
accepted_lds = [constants.LDS_OKAY, constants.LDS_SYNC] |
|
2135 |
|
|
2136 |
if bdev_status.ldisk_status in accepted_lds: |
|
2137 |
code = self.ETYPE_WARNING |
|
2138 |
|
|
2139 |
msg += "; local disk state is '%s'" % \ |
|
2138 | 2140 |
constants.LDS_NAMES[bdev_status.ldisk_status] |
2139 | 2141 |
|
2140 |
self._Error(constants.CV_EINSTANCEFAULTYDISK, instance.name, msg) |
|
2142 |
self._Error(constants.CV_EINSTANCEFAULTYDISK, instance.name, msg, |
|
2143 |
code=code) |
|
2141 | 2144 |
|
2142 | 2145 |
self._ErrorIf(pnode_img.rpc_fail and not pnode_img.offline, |
2143 | 2146 |
constants.CV_ENODERPC, self.cfg.GetNodeName(pnode_uuid), |
Also available in: Unified diff