Revision 2dad1652

b/lib/cmdlib.py
2387 2387
    master_ip = self.cfg.GetMasterIP()
2388 2388

  
2389 2389
    feedback_fn("* Gathering data (%d nodes)" % len(self.my_node_names))
2390

  
2391
    # We will make nodes contact all nodes in their group, and one node from
2392
    # every other group.
2393
    # TODO: should it be a *random* node, different every time?
2394
    online_nodes = [node.name for node in node_data_list if not node.offline]
2395
    other_group_nodes = {}
2396

  
2397
    for name in sorted(self.all_node_info):
2398
      node = self.all_node_info[name]
2399
      if (node.group not in other_group_nodes
2400
          and node.group != self.group_uuid
2401
          and not node.offline):
2402
        other_group_nodes[node.group] = node.name
2403

  
2390 2404
    node_verify_param = {
2391 2405
      constants.NV_FILELIST:
2392 2406
        utils.UniqueSequence(filename
2393 2407
                             for files in filemap
2394 2408
                             for filename in files),
2395
      constants.NV_NODELIST: [node.name for node in self.all_node_info.values()
2396
                              if not node.offline],
2409
      constants.NV_NODELIST: online_nodes + other_group_nodes.values(),
2397 2410
      constants.NV_HYPERVISOR: hypervisors,
2398 2411
      constants.NV_HVPARAMS:
2399 2412
        _GetAllHypervisorParameters(cluster, self.all_inst_info.values()),

Also available in: Unified diff