Revision b691385f

b/lib/cmdlib/common.py
141 141
  else:
142 142
    node_uuids = lu.cfg.GetNodeList()
143 143

  
144
  return (node_uuids, [lu.cfg.GetNodeInfo(uuid).name for uuid in node_uuids])
144
  return (node_uuids, [lu.cfg.GetNodeName(uuid) for uuid in node_uuids])
145 145

  
146 146

  
147 147
def GetWantedInstances(lu, instances):
b/lib/config.py
968 968
        should raise an exception
969 969

  
970 970
    """
971
    def _AppendUsedPorts(instance_name, disk, used):
971
    def _AppendUsedPorts(get_node_name_fn, instance_name, disk, used):
972 972
      duplicates = []
973 973
      if disk.dev_type == constants.LD_DRBD8 and len(disk.logical_id) >= 5:
974 974
        node_a, node_b, _, minor_a, minor_b = disk.logical_id[:5]
975
        for node, port in ((node_a, minor_a), (node_b, minor_b)):
976
          assert node in used, ("Node '%s' of instance '%s' not found"
977
                                " in node list" % (node, instance_name))
978
          if port in used[node]:
979
            duplicates.append((node, port, instance_name, used[node][port]))
975
        for node_uuid, port in ((node_a, minor_a), (node_b, minor_b)):
976
          assert node_uuid in used, \
977
            ("Node '%s' of instance '%s' not found in node list" %
978
             (get_node_name_fn(node_uuid), instance_name))
979
          if port in used[node_uuid]:
980
            duplicates.append((node_uuid, port, instance_name,
981
                               used[node_uuid][port]))
980 982
          else:
981
            used[node][port] = instance_name
983
            used[node_uuid][port] = instance_name
982 984
      if disk.children:
983 985
        for child in disk.children:
984
          duplicates.extend(_AppendUsedPorts(instance_name, child, used))
986
          duplicates.extend(_AppendUsedPorts(get_node_name_fn, instance_name,
987
                                             child, used))
985 988
      return duplicates
986 989

  
987 990
    duplicates = []
988 991
    my_dict = dict((node, {}) for node in self._config_data.nodes)
989 992
    for instance in self._config_data.instances.itervalues():
990 993
      for disk in instance.disks:
991
        duplicates.extend(_AppendUsedPorts(instance.name, disk, my_dict))
994
        duplicates.extend(_AppendUsedPorts(self._UnlockedGetNodeName,
995
                                           instance.name, disk, my_dict))
992 996
    for (node, minor), instance in self._temporary_drbds.iteritems():
993 997
      if minor in my_dict[node] and my_dict[node][minor] != instance:
994 998
        duplicates.append((node, minor, instance, my_dict[node][minor]))

Also available in: Unified diff