Revision 3a969900 tools/cluster-merge

b/tools/cluster-merge
339 339
                                  conflict_names)
340 340

  
341 341
      # User wants to rename conflicts
342
      if self.groups == _GROUPS_RENAME:
342
      elif self.groups == _GROUPS_RENAME:
343 343
        for grp in conflicts:
344 344
          new_name = "%s-%s" % (grp.name, other_config.GetClusterName())
345 345
          logging.info("Renaming remote node group from %s to %s"
346 346
                       " to resolve conflict" % (grp.name, new_name))
347 347
          grp.name = new_name
348 348

  
349
      # User wants to merge conflicting groups
350
      elif self.groups == 'merge':
351
        for other_grp in conflicts:
352
          logging.info("Merging local and remote '%s' groups" % other_grp.name)
353
          for node_name in other_grp.members[:]:
354
            node = other_config.GetNodeInfo(node_name)
355
            other_config._UnlockedRemoveNodeFromGroup(node)
356

  
357
            my_grp_uuid = my_config._UnlockedLookupNodeGroup(other_grp.name)
358
            my_config._UnlockedAddNodeToGroup(node, my_grp_uuid)
359
            node.group = my_grp_uuid
360
          # Remove from list of groups to add
361
          other_grps.remove(other_grp)
362

  
349 363
    for grp in other_grps:
350 364
      #TODO: handle node group conflicts
351 365
      my_config.AddNodeGroup(grp, _CLUSTERMERGE_ECID)

Also available in: Unified diff