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