Revision 9c24736c lib/cmdlib.py

b/lib/cmdlib.py
6819 6819
  return req_size_dict[disk_template]
6820 6820

  
6821 6821

  
6822
def _FilterVmNodes(lu, nodenames):
6823
  """Filters out non-vm_capable nodes from a list.
6824

  
6825
  @type lu: L{LogicalUnit}
6826
  @param lu: the logical unit for which we check
6827
  @type nodenames: list
6828
  @param nodenames: the list of nodes on which we should check
6829
  @rtype: list
6830
  @return: the list of vm-capable nodes
6831

  
6832
  """
6833
  vm_nodes = frozenset(lu.cfg.GetNonVmCapableNodeList())
6834
  return [name for name in nodenames if name not in vm_nodes]
6835

  
6836

  
6822 6837
def _CheckHVParams(lu, nodenames, hvname, hvparams):
6823 6838
  """Hypervisor parameter validation.
6824 6839

  
......
6836 6851
  @raise errors.OpPrereqError: if the parameters are not valid
6837 6852

  
6838 6853
  """
6854
  nodenames = _FilterVmNodes(lu, nodenames)
6839 6855
  hvinfo = lu.rpc.call_hypervisor_validate_params(nodenames,
6840 6856
                                                  hvname,
6841 6857
                                                  hvparams)
......
6863 6879
  @raise errors.OpPrereqError: if the parameters are not valid
6864 6880

  
6865 6881
  """
6882
  nodenames = _FilterVmNodes(lu, nodenames)
6866 6883
  result = lu.rpc.call_os_validate(required, nodenames, osname,
6867 6884
                                   [constants.OS_VALIDATE_PARAMETERS],
6868 6885
                                   osparams)

Also available in: Unified diff