Revision e32e1fb9

b/lib/cmdlib.py
2688 2688
             utils.CommaJoin(inst_config.secondary_nodes),
2689 2689
             code=self.ETYPE_WARNING)
2690 2690

  
2691
    if inst_config.disk_template not in constants.DTS_EXCL_STORAGE:
2692
      # Disk template not compatible with exclusive_storage: no instance
2693
      # node should have the flag set
2694
      es_flags = rpc.GetExclusiveStorageForNodeNames(self.cfg,
2695
                                                     inst_config.all_nodes)
2696
      es_nodes = [n for (n, es) in es_flags.items()
2697
                  if es]
2698
      _ErrorIf(es_nodes, constants.CV_EINSTANCEUNSUITABLENODE, instance,
2699
               "instance has template %s, which is not supported on nodes"
2700
               " that have exclusive storage set: %s",
2701
               inst_config.disk_template, utils.CommaJoin(es_nodes))
2702

  
2691 2703
    if inst_config.disk_template in constants.DTS_INT_MIRROR:
2692 2704
      instance_nodes = utils.NiceSort(inst_config.all_nodes)
2693 2705
      instance_groups = {}
b/lib/constants.py
1476 1476
CV_EINSTANCEPOLICY = \
1477 1477
  (CV_TINSTANCE, "EINSTANCEPOLICY",
1478 1478
   "Instance does not meet policy")
1479
CV_EINSTANCEUNSUITABLENODE = \
1480
  (CV_TINSTANCE, "EINSTANCEUNSUITABLENODE",
1481
   "Instance running on nodes that are not suitable for it")
1479 1482
CV_ENODEDRBD = \
1480 1483
  (CV_TNODE, "ENODEDRBD", "Error parsing the DRBD status file")
1481 1484
CV_ENODEDRBDHELPER = \

Also available in: Unified diff