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