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