Revision 22d9752a

b/lib/cmdlib.py
3371 3371
          nimg.sbp[pnode] = []
3372 3372
        nimg.sbp[pnode].append(instance)
3373 3373

  
3374
    es_flags = rpc.GetExclusiveStorageForNodeNames(self.cfg, self.my_node_names)
3375
    es_unset_nodes = []
3376
    # The value of exclusive_storage should be the same across the group
3377
    if compat.any(es_flags.values()):
3378
      es_unset_nodes = [n for (n, es) in es_flags.items()
3379
                        if not es]
3380

  
3381
    if es_unset_nodes:
3382
      self._Error(constants.CV_EGROUPMIXEDESFLAG, self.group_info.name,
3383
                  "The exclusive_storage flag should be uniform in a group,"
3384
                  " but these nodes have it unset: %s",
3385
                  utils.CommaJoin(utils.NiceSort(es_unset_nodes)))
3386
      self.LogWarning("Some checks required by exclusive storage will be"
3387
                      " performed also on nodes with the flag unset")
3388

  
3374 3389
    # At this point, we have the in-memory data structures complete,
3375 3390
    # except for the runtime information, which we'll gather next
3376 3391

  
b/lib/constants.py
1432 1432

  
1433 1433
# Cluster Verify error classes
1434 1434
CV_TCLUSTER = "cluster"
1435
CV_TGROUP = "group"
1435 1436
CV_TNODE = "node"
1436 1437
CV_TINSTANCE = "instance"
1437 1438

  
......
1450 1451
CV_ECLUSTERDANGLINGINST = \
1451 1452
  (CV_TNODE, "ECLUSTERDANGLINGINST",
1452 1453
   "Some instances have a non-existing primary node")
1454
CV_EGROUPMIXEDESFLAG = \
1455
  (CV_TGROUP, "EGROUPMIXEDESFLAG",
1456
   "exclusive_storage flag is not uniform within the group")
1453 1457
CV_EINSTANCEBADNODE = \
1454 1458
  (CV_TINSTANCE, "EINSTANCEBADNODE",
1455 1459
   "Instance marked as running lives on an offline node")

Also available in: Unified diff