920 |
920 |
"""
|
921 |
921 |
return self._MultiNodeCall(node_list, "instance_list", [hypervisor_list])
|
922 |
922 |
|
923 |
|
@_RpcTimeout(_TMO_FAST)
|
924 |
|
def call_node_has_ip_address(self, node, address):
|
925 |
|
"""Checks if a node has the given IP address.
|
926 |
|
|
927 |
|
This is a single-node call.
|
928 |
|
|
929 |
|
"""
|
930 |
|
return self._SingleNodeCall(node, "node_has_ip_address", [address])
|
931 |
|
|
932 |
|
@_RpcTimeout(_TMO_URGENT)
|
933 |
|
def call_node_info(self, node_list, vg_name, hypervisor_type):
|
934 |
|
"""Return node information.
|
935 |
|
|
936 |
|
This will return memory information and volume group size and free
|
937 |
|
space.
|
938 |
|
|
939 |
|
This is a multi-node call.
|
940 |
|
|
941 |
|
@type node_list: list
|
942 |
|
@param node_list: the list of nodes to query
|
943 |
|
@type vg_name: C{string}
|
944 |
|
@param vg_name: the name of the volume group to ask for disk space
|
945 |
|
information
|
946 |
|
@type hypervisor_type: C{str}
|
947 |
|
@param hypervisor_type: the name of the hypervisor to ask for
|
948 |
|
memory information
|
949 |
|
|
950 |
|
"""
|
951 |
|
return self._MultiNodeCall(node_list, "node_info",
|
952 |
|
[vg_name, hypervisor_type])
|
953 |
|
|
954 |
923 |
@_RpcTimeout(_TMO_NORMAL)
|
955 |
924 |
def call_etc_hosts_modify(self, node, mode, name, ip):
|
956 |
925 |
"""Modify hosts file with name
|
... | ... | |
967 |
936 |
"""
|
968 |
937 |
return self._SingleNodeCall(node, "etc_hosts_modify", [mode, name, ip])
|
969 |
938 |
|
970 |
|
@_RpcTimeout(_TMO_NORMAL)
|
971 |
|
def call_node_verify(self, node_list, checkdict, cluster_name):
|
972 |
|
"""Request verification of given parameters.
|
973 |
|
|
974 |
|
This is a multi-node call.
|
975 |
|
|
976 |
|
"""
|
977 |
|
return self._MultiNodeCall(node_list, "node_verify",
|
978 |
|
[checkdict, cluster_name])
|
979 |
|
|
980 |
939 |
@classmethod
|
981 |
940 |
@_RpcTimeout(_TMO_FAST)
|
982 |
941 |
def call_node_start_master_daemons(cls, node, no_voting):
|
... | ... | |
1367 |
1326 |
return cls._StaticSingleNodeCall(node, "node_leave_cluster",
|
1368 |
1327 |
[modify_ssh_setup])
|
1369 |
1328 |
|
1370 |
|
@_RpcTimeout(_TMO_FAST)
|
1371 |
|
def call_node_volumes(self, node_list):
|
1372 |
|
"""Gets all volumes on node(s).
|
1373 |
|
|
1374 |
|
This is a multi-node call.
|
1375 |
|
|
1376 |
|
"""
|
1377 |
|
return self._MultiNodeCall(node_list, "node_volumes", [])
|
1378 |
|
|
1379 |
|
@_RpcTimeout(_TMO_FAST)
|
1380 |
|
def call_node_demote_from_mc(self, node):
|
1381 |
|
"""Demote a node from the master candidate role.
|
1382 |
|
|
1383 |
|
This is a single-node call.
|
1384 |
|
|
1385 |
|
"""
|
1386 |
|
return self._SingleNodeCall(node, "node_demote_from_mc", [])
|
1387 |
|
|
1388 |
|
@_RpcTimeout(_TMO_NORMAL)
|
1389 |
|
def call_node_powercycle(self, node, hypervisor):
|
1390 |
|
"""Tries to powercycle a node.
|
1391 |
|
|
1392 |
|
This is a single-node call.
|
1393 |
|
|
1394 |
|
"""
|
1395 |
|
return self._SingleNodeCall(node, "node_powercycle", [hypervisor])
|
1396 |
|
|
1397 |
1329 |
@_RpcTimeout(None)
|
1398 |
1330 |
def call_test_delay(self, node_list, duration):
|
1399 |
1331 |
"""Sleep for a fixed time on given node(s).
|